summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering/RenderListBox.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-06-02 12:07:03 +0100
committerBen Murdoch <benm@google.com>2011-06-10 10:47:21 +0100
commit2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch)
treee4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/rendering/RenderListBox.cpp
parent87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff)
downloadexternal_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.zip
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.gz
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.bz2
Merge WebKit at r84325: Initial merge by git.
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
Diffstat (limited to 'Source/WebCore/rendering/RenderListBox.cpp')
-rw-r--r--Source/WebCore/rendering/RenderListBox.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/Source/WebCore/rendering/RenderListBox.cpp b/Source/WebCore/rendering/RenderListBox.cpp
index ab3a832..d7798d5 100644
--- a/Source/WebCore/rendering/RenderListBox.cpp
+++ b/Source/WebCore/rendering/RenderListBox.cpp
@@ -273,14 +273,28 @@ void RenderListBox::paintObject(PaintInfo& paintInfo, int tx, int ty)
// Paint the children.
RenderBlock::paintObject(paintInfo, tx, ty);
- if (paintInfo.phase == PaintPhaseBlockBackground)
- paintScrollbar(paintInfo, tx, ty);
- else if (paintInfo.phase == PaintPhaseChildBlockBackground || paintInfo.phase == PaintPhaseChildBlockBackgrounds) {
+ switch (paintInfo.phase) {
+ // Depending on whether we have overlay scrollbars they
+ // get rendered in the foreground or background phases
+ case PaintPhaseForeground:
+ if (m_vBar->isOverlayScrollbar())
+ paintScrollbar(paintInfo, tx, ty);
+ break;
+ case PaintPhaseBlockBackground:
+ if (!m_vBar->isOverlayScrollbar())
+ paintScrollbar(paintInfo, tx, ty);
+ break;
+ case PaintPhaseChildBlockBackground:
+ case PaintPhaseChildBlockBackgrounds: {
int index = m_indexOffset;
while (index < listItemsSize && index <= m_indexOffset + numVisibleItems()) {
paintItemBackground(paintInfo, tx, ty, index);
index++;
}
+ break;
+ }
+ default:
+ break;
}
}
@@ -599,7 +613,7 @@ void RenderListBox::scrollTo(int newOffset)
m_indexOffset = newOffset;
repaint();
- node()->document()->eventQueue()->enqueueScrollEvent(node(), EventQueue::ScrollEventElementTarget);
+ node()->document()->eventQueue()->enqueueOrDispatchScrollEvent(node(), EventQueue::ScrollEventElementTarget);
}
int RenderListBox::itemHeight() const