| Index: Source/core/rendering/RenderListBox.cpp
|
| diff --git a/Source/core/rendering/RenderListBox.cpp b/Source/core/rendering/RenderListBox.cpp
|
| index f02547901fe717fe3399b783aa5ff5b85bb0dce2..28a814f841ca5b7ced55de27f53d5be4ec14c97a 100644
|
| --- a/Source/core/rendering/RenderListBox.cpp
|
| +++ b/Source/core/rendering/RenderListBox.cpp
|
| @@ -211,7 +211,7 @@ void RenderListBox::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, L
|
| {
|
| maxLogicalWidth = m_optionsWidth + 2 * optionsSpacingHorizontal;
|
| if (m_vBar)
|
| - maxLogicalWidth += m_vBar->width();
|
| + maxLogicalWidth += verticalScrollbarWidth();
|
| if (!style()->width().isPercent())
|
| minLogicalWidth = maxLogicalWidth;
|
| }
|
| @@ -284,7 +284,7 @@ int RenderListBox::baselinePosition(FontBaseline baselineType, bool firstLine, L
|
| LayoutRect RenderListBox::itemBoundingBoxRect(const LayoutPoint& additionalOffset, int index)
|
| {
|
| // For RTL, items start after the left-side vertical scrollbar.
|
| - int scrollbarOffset = style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft() ? m_vBar->width() : 0;
|
| + int scrollbarOffset = style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft() ? verticalScrollbarWidth() : 0;
|
| return LayoutRect(additionalOffset.x() + borderLeft() + paddingLeft() + scrollbarOffset,
|
| additionalOffset.y() + borderTop() + paddingTop() + itemHeight() * (index - m_indexOffset),
|
| contentWidth(), itemHeight());
|
| @@ -365,7 +365,7 @@ int RenderListBox::scrollbarLeft() const
|
| if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
|
| scrollbarLeft = borderLeft();
|
| else
|
| - scrollbarLeft = width() - borderRight() - m_vBar->width();
|
| + scrollbarLeft = width() - borderRight() - verticalScrollbarWidth();
|
| return scrollbarLeft;
|
| }
|
|
|
| @@ -374,7 +374,7 @@ void RenderListBox::paintScrollbar(PaintInfo& paintInfo, const LayoutPoint& pain
|
| if (m_vBar) {
|
| IntRect scrollRect = pixelSnappedIntRect(paintOffset.x() + scrollbarLeft(),
|
| paintOffset.y() + borderTop(),
|
| - m_vBar->width(),
|
| + verticalScrollbarWidth(),
|
| height() - (borderTop() + borderBottom()));
|
| m_vBar->setFrameRect(scrollRect);
|
| m_vBar->paint(paintInfo.context, paintInfo.rect);
|
| @@ -484,7 +484,7 @@ bool RenderListBox::isPointInOverflowControl(HitTestResult& result, const Layout
|
|
|
| LayoutRect vertRect(accumulatedOffset.x() + scrollbarLeft(),
|
| accumulatedOffset.y() + borderTop(),
|
| - m_vBar->width(),
|
| + verticalScrollbarWidth(),
|
| height() - borderTop() - borderBottom());
|
|
|
| if (vertRect.contains(locationInContainer)) {
|
| @@ -502,7 +502,7 @@ int RenderListBox::listIndexAtOffset(const LayoutSize& offset)
|
| if (offset.height() < borderTop() + paddingTop() || offset.height() > height() - paddingBottom() - borderBottom())
|
| return -1;
|
|
|
| - int scrollbarWidth = m_vBar ? m_vBar->width() : 0;
|
| + int scrollbarWidth = verticalScrollbarWidth();
|
| int rightScrollbarOffset = style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft() ? scrollbarWidth : 0;
|
| int leftScrollbarOffset = style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft() ? 0 : scrollbarWidth;
|
| if (offset.width() < borderLeft() + paddingLeft() + rightScrollbarOffset
|
| @@ -738,7 +738,7 @@ LayoutRect RenderListBox::controlClipRect(const LayoutPoint& additionalOffset) c
|
| {
|
| LayoutRect clipRect = contentBoxRect();
|
| if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
|
| - clipRect.moveBy(additionalOffset + LayoutPoint(m_vBar->width(), 0));
|
| + clipRect.moveBy(additionalOffset + LayoutPoint(verticalScrollbarWidth(), 0));
|
| else
|
| clipRect.moveBy(additionalOffset);
|
| return clipRect;
|
|
|