Changeset 211387 in webkit
- Timestamp:
- Jan 30, 2017, 2:51:52 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r211385 r211387 1 2017-01-30 Simon Fraser <simon.fraser@apple.com> 2 3 [iOS] position:fixed inside touch-scrollable overflow is mispositioned 4 https://bugs.webkit.org/show_bug.cgi?id=167604 5 6 Reviewed by Zalan Bujtas. 7 8 * compositing/scrolling/fixed-inside-scroll-expected.html: Added. 9 * compositing/scrolling/fixed-inside-scroll.html: Added. 10 1 11 2017-01-30 Matt Baker <mattbaker@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r211386 r211387 1 2017-01-30 Simon Fraser <simon.fraser@apple.com> 2 3 [iOS] position:fixed inside touch-scrollable overflow is mispositioned 4 https://bugs.webkit.org/show_bug.cgi?id=167604 5 rdar://problem/29500273 6 7 Reviewed by Zalan Bujtas. 8 9 For layers inside touch-scrollable overflow, RenderLayerBacking::computeParentGraphicsLayerRect() needs 10 to account for the offset from the ancestor compositing layer's origin, to handle scrollable elements with 11 box-shadow, for example. 12 13 Also make the compositing log output a little easier to read. 14 15 Test: compositing/scrolling/fixed-inside-scroll.html 16 17 * rendering/RenderLayerBacking.cpp: 18 (WebCore::RenderLayerBacking::computeParentGraphicsLayerRect): 19 * rendering/RenderLayerCompositor.cpp: 20 (WebCore::RenderLayerCompositor::logLayerInfo): 21 1 22 2017-01-30 Jer Noble <jer.noble@apple.com> 2 23 -
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
r211084 r211387 814 814 #if PLATFORM(IOS) 815 815 if (compositedAncestor->hasTouchScrollableOverflow()) { 816 LayoutRect ancestorCompositedBounds = ancestorBackingLayer->compositedBounds(); 816 817 auto& renderBox = downcast<RenderBox>(compositedAncestor->renderer()); 817 LayoutRect paddingBox(renderBox.borderLeft(), renderBox.borderTop(), 818 renderBox.width() - renderBox.borderLeft() - renderBox.borderRight(), 819 renderBox.height() - renderBox.borderTop() - renderBox.borderBottom()); 818 LayoutRect paddingBox(renderBox.borderLeft(), renderBox.borderTop(), renderBox.width() - renderBox.borderLeft() - renderBox.borderRight(), renderBox.height() - renderBox.borderTop() - renderBox.borderBottom()); 820 819 ScrollOffset scrollOffset = compositedAncestor->scrollOffset(); 821 parentGraphicsLayerRect = LayoutRect((paddingBox.location() - toLayoutSize( scrollOffset)), paddingBox.size());820 parentGraphicsLayerRect = LayoutRect((paddingBox.location() - toLayoutSize(ancestorCompositedBounds.location()) - toLayoutSize(scrollOffset)), paddingBox.size()); 822 821 } 823 822 #else -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r211141 r211387 810 810 811 811 StringBuilder logString; 812 logString.append(String::format("%*p (%. 6f,%.6f-%.6f,%.6f) %.2fKB", 12 + depth * 2, &layer,812 logString.append(String::format("%*p (%.3f,%.3f-%.3f,%.3f) %.2fKB", 12 + depth * 2, &layer, 813 813 absoluteBounds.x().toFloat(), absoluteBounds.y().toFloat(), absoluteBounds.maxX().toFloat(), absoluteBounds.maxY().toFloat(), 814 814 backing->backingStoreMemoryEstimate() / 1024)); -
trunk/Source/WebKit2/ChangeLog
r211379 r211387 1 2017-01-30 Simon Fraser <simon.fraser@apple.com> 2 3 [iOS] position:fixed inside touch-scrollable overflow is mispositioned 4 https://bugs.webkit.org/show_bug.cgi?id=167604 5 rdar://problem/29500273 6 7 Reviewed by Zalan Bujtas. 8 9 Make sure we tell m_webPageProxy.computeCustomFixedPositionRect() when visual viewports are enabled. 10 11 * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: 12 (WebKit::RemoteScrollingCoordinatorProxy::customFixedPositionRect): 13 1 14 2017-01-30 Simon Fraser <simon.fraser@apple.com> 2 15 -
trunk/Source/WebKit2/UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm
r210560 r211387 96 96 FloatRect RemoteScrollingCoordinatorProxy::customFixedPositionRect() const 97 97 { 98 return m_webPageProxy.computeCustomFixedPositionRect(m_webPageProxy.unobscuredContentRect(), m_webPageProxy.unobscuredContentRectRespectingInputViewBounds(), m_webPageProxy.customFixedPositionRect(), m_webPageProxy.displayedContentScale()); 98 return m_webPageProxy.computeCustomFixedPositionRect(m_webPageProxy.unobscuredContentRect(), m_webPageProxy.unobscuredContentRectRespectingInputViewBounds(), m_webPageProxy.customFixedPositionRect(), 99 m_webPageProxy.displayedContentScale(), WebPageProxy::UnobscuredRectConstraint::Unconstrained, visualViewportEnabled()); 99 100 } 100 101
Note:
See TracChangeset
for help on using the changeset viewer.