| Index: Source/web/PopupListBox.cpp
|
| diff --git a/Source/web/PopupListBox.cpp b/Source/web/PopupListBox.cpp
|
| index 02d7957ab75e2ab0159e77d3204c7e4797080b5a..592dd971be3875adb03952993e74d0244a9ff192 100644
|
| --- a/Source/web/PopupListBox.cpp
|
| +++ b/Source/web/PopupListBox.cpp
|
| @@ -349,7 +349,7 @@ void PopupListBox::paint(GraphicsContext* gc, const IntRect& rect)
|
| {
|
| // Adjust coords for scrolled frame.
|
| IntRect r = intersection(rect, frameRect());
|
| - int tx = x() - scrollX() + ((shouldPlaceVerticalScrollbarOnLeft() && verticalScrollbar()) ? verticalScrollbar()->width() : 0);
|
| + int tx = x() - scrollX() + ((shouldPlaceVerticalScrollbarOnLeft() && verticalScrollbar() && !verticalScrollbar()->isOverlayScrollbar()) ? verticalScrollbar()->width() : 0);
|
| int ty = y() - scrollY();
|
|
|
| r.move(-tx, -ty);
|
| @@ -596,7 +596,7 @@ void PopupListBox::invalidateRow(int index)
|
| // Invalidate in the window contents, as FramelessScrollView::invalidateRect
|
| // paints in the window coordinates.
|
| IntRect clipRect = contentsToWindow(getRowBounds(index));
|
| - if (shouldPlaceVerticalScrollbarOnLeft() && verticalScrollbar())
|
| + if (shouldPlaceVerticalScrollbarOnLeft() && verticalScrollbar() && !verticalScrollbar()->isOverlayScrollbar())
|
| clipRect.move(verticalScrollbar()->width(), 0);
|
| invalidateRect(clipRect);
|
| }
|
| @@ -773,7 +773,8 @@ void PopupListBox::layout()
|
| // Set our widget and scrollable contents sizes.
|
| int scrollbarWidth = 0;
|
| if (m_visibleRows < numItems()) {
|
| - scrollbarWidth = ScrollbarTheme::theme()->scrollbarThickness();
|
| + if (!ScrollbarTheme::theme()->usesOverlayScrollbars())
|
| + scrollbarWidth = ScrollbarTheme::theme()->scrollbarThickness();
|
|
|
| // Use minEndOfLinePadding when there is a scrollbar so that we use
|
| // as much as (lineEndPaddingWidth - minEndOfLinePadding) padding
|
|
|