Changeset 246389 in webkit
- Timestamp:
- Jun 12, 2019, 8:21:36 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 6 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/compositing/geometry/rtl-overflow-scroll-expected.html (added)
-
LayoutTests/compositing/geometry/rtl-overflow-scroll.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderBox.cpp (modified) (1 diff)
-
Source/WebCore/rendering/RenderBox.h (modified) (1 diff)
-
Source/WebCore/rendering/RenderLayerBacking.cpp (modified) (3 diffs)
-
Source/WebCore/rendering/RenderListBox.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r246387 r246389 1 2019-06-12 Simon Fraser <simon.fraser@apple.com> 2 3 paddingBoxRect() is wrong with RTL scrollbars on the left 4 https://bugs.webkit.org/show_bug.cgi?id=198816 5 6 Reviewed by Jon Lee. 7 8 * compositing/geometry/rtl-overflow-scroll-expected.html: Added. 9 * compositing/geometry/rtl-overflow-scroll.html: Added. 10 1 11 2019-06-12 Eric Carlson <eric.carlson@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r246388 r246389 1 2019-06-12 Simon Fraser <simon.fraser@apple.com> 2 3 paddingBoxRect() is wrong with RTL scrollbars on the left 4 https://bugs.webkit.org/show_bug.cgi?id=198816 5 6 Reviewed by Jon Lee. 7 8 RenderBox::paddingBoxRect() needs to offset the left side of the box for the 9 vertical scrollbar, if it's placed on the left. 10 11 Test: compositing/geometry/rtl-overflow-scroll.html 12 13 * rendering/RenderBox.cpp: 14 (WebCore::RenderBox::paddingBoxRect const): 15 * rendering/RenderBox.h: 16 (WebCore::RenderBox::paddingBoxRect const): Deleted. 17 * rendering/RenderLayerBacking.cpp: 18 (WebCore::RenderLayerBacking::updateGeometry): 19 * rendering/RenderListBox.cpp: 20 (WebCore::RenderListBox::controlClipRect const): 21 1 22 2019-06-12 Youenn Fablet <youenn@apple.com> 2 23 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r245543 r246389 659 659 } 660 660 661 LayoutRect RenderBox::paddingBoxRect() const 662 { 663 auto verticalScrollbarWidth = this->verticalScrollbarWidth(); 664 LayoutUnit offsetForScrollbar = shouldPlaceBlockDirectionScrollbarOnLeft() ? verticalScrollbarWidth : 0; 665 666 return LayoutRect(borderLeft() + offsetForScrollbar, borderTop(), 667 width() - borderLeft() - borderRight() - verticalScrollbarWidth, 668 height() - borderTop() - borderBottom() - horizontalScrollbarHeight()); 669 } 670 661 671 LayoutRect RenderBox::contentBoxRect() const 662 672 { -
trunk/Source/WebCore/rendering/RenderBox.h
r245543 r246389 220 220 LayoutUnit paddingBoxWidth() const { return width() - borderLeft() - borderRight() - verticalScrollbarWidth(); } 221 221 LayoutUnit paddingBoxHeight() const { return height() - borderTop() - borderBottom() - horizontalScrollbarHeight(); } 222 LayoutRect paddingBoxRect() const { return LayoutRect(borderLeft(), borderTop(), paddingBoxWidth(), paddingBoxHeight()); }222 LayoutRect paddingBoxRect() const; 223 223 LayoutRect paddingBoxRectIncludingScrollbar() const { return LayoutRect(borderLeft(), borderTop(), width() - borderLeft() - borderRight(), height() - borderTop() - borderBottom()); } 224 224 -
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
r246301 r246389 1217 1217 ASSERT(m_scrolledContentsLayer); 1218 1218 auto& renderBox = downcast<RenderBox>(renderer()); 1219 LayoutRect paddingBox IncludingScrollbar = renderBox.paddingBoxRectIncludingScrollbar();1219 LayoutRect paddingBox = renderBox.paddingBoxRect(); 1220 1220 LayoutRect parentLayerBounds = clippingLayer() ? clippingBox : compositedBounds(); 1221 1221 1222 1222 // FIXME: need to do some pixel snapping here. 1223 m_scrollContainerLayer->setPosition(FloatPoint(paddingBox IncludingScrollbar.location() - parentLayerBounds.location()));1223 m_scrollContainerLayer->setPosition(FloatPoint(paddingBox.location() - parentLayerBounds.location())); 1224 1224 m_scrollContainerLayer->setSize(roundedIntSize(LayoutSize(renderBox.paddingBoxWidth(), renderBox.paddingBoxHeight()))); 1225 1225 … … 1231 1231 1232 1232 FloatSize oldScrollingLayerOffset = m_scrollContainerLayer->offsetFromRenderer(); 1233 m_scrollContainerLayer->setOffsetFromRenderer(toFloatSize(paddingBox IncludingScrollbar.location()));1233 m_scrollContainerLayer->setOffsetFromRenderer(toFloatSize(paddingBox.location())); 1234 1234 1235 1235 if (m_childClippingMaskLayer) { 1236 1236 m_childClippingMaskLayer->setPosition(m_scrollContainerLayer->position()); 1237 1237 m_childClippingMaskLayer->setSize(m_scrollContainerLayer->size()); 1238 m_childClippingMaskLayer->setOffsetFromRenderer(toFloatSize(paddingBox IncludingScrollbar.location()));1238 m_childClippingMaskLayer->setOffsetFromRenderer(toFloatSize(paddingBox.location())); 1239 1239 } 1240 1240 … … 1247 1247 m_scrolledContentsLayer->setSize(scrollSize); 1248 1248 m_scrolledContentsLayer->setScrollOffset(scrollOffset, GraphicsLayer::DontSetNeedsDisplay); 1249 m_scrolledContentsLayer->setOffsetFromRenderer(toLayoutSize(paddingBox IncludingScrollbar.location()), GraphicsLayer::DontSetNeedsDisplay);1249 m_scrolledContentsLayer->setOffsetFromRenderer(toLayoutSize(paddingBox.location()), GraphicsLayer::DontSetNeedsDisplay); 1250 1250 1251 1251 adjustTiledBackingCoverage(); -
trunk/Source/WebCore/rendering/RenderListBox.cpp
r246285 r246389 805 805 // to get painted. 806 806 LayoutRect clipRect = paddingBoxRect(); 807 if (shouldPlaceBlockDirectionScrollbarOnLeft())808 clipRect.move(m_vBar->occupiedWidth(), 0);809 807 clipRect.moveBy(additionalOffset); 810 808 return clipRect;
Note:
See TracChangeset
for help on using the changeset viewer.