diff options
author | Ben Murdoch <benm@google.com> | 2011-06-02 12:07:03 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-06-10 10:47:21 +0100 |
commit | 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch) | |
tree | e4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/rendering/RenderListBox.cpp | |
parent | 87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff) | |
download | external_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.cpp | 22 |
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 |