Changeset 238876 in webkit
- Timestamp:
- Dec 4, 2018 2:58:36 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r238875 r238876 1 2018-12-04 Simon Fraser <simon.fraser@apple.com> 2 3 REGRESSION (r238090): position:fixed sidebar on https://www.w3.org/TR/SVG2/coords.html does not stay fixed 4 https://bugs.webkit.org/show_bug.cgi?id=192320 5 <rdar://problem/46429833> 6 7 Reviewed by Zalan Bujtas. 8 9 * compositing/fixed-with-main-thread-scrolling-expected.html: Added. 10 * compositing/fixed-with-main-thread-scrolling.html: Added. 11 * platform/ios/TestExpectations: 12 1 13 2018-12-04 Youenn Fablet <youenn@apple.com> 2 14 -
trunk/LayoutTests/platform/ios/TestExpectations
r238875 r238876 795 795 796 796 # These tests rely on EventSender.keydown(), which is not supported on iOS 797 compositing/fixed-with-main-thread-scrolling.html [ Skip ] 797 798 editing/caret/emoji.html [ WontFix ] 798 799 editing/deleting/5729680.html [ Skip ] -
trunk/Source/WebCore/ChangeLog
r238874 r238876 1 2018-12-04 Simon Fraser <simon.fraser@apple.com> 2 3 REGRESSION (r238090): position:fixed sidebar on https://www.w3.org/TR/SVG2/coords.html does not stay fixed 4 https://bugs.webkit.org/show_bug.cgi?id=192320 5 <rdar://problem/46429833> 6 7 Reviewed by Zalan Bujtas. 8 9 Re-land r238840 with a more reliable test. 10 11 When we fall into slow scrolling mode (for example, because of background-attachment: fixed), 12 RenderLayerCompositor::updateCompositingLayers() needs to set the geometry dirty bit on layers 13 for viewport-constrained objects so we update them. 14 15 This is only necessary for page scrolling; for overflow scrolls, updateLayerPositions() already 16 does enough dirtying that fixed layers nested inside scrollers get updated. 17 18 Test: compositing/fixed-with-main-thread-scrolling.html 19 20 * rendering/RenderLayerCompositor.cpp: 21 (WebCore::RenderLayerCompositor::updateCompositingLayers): 22 1 23 2018-12-04 Youenn Fablet <youenn@apple.com> 2 24 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r238855 r238876 667 667 enableCompositingMode(true); 668 668 669 bool isPageScroll = !updateRoot || updateRoot == &rootRenderLayer(); 669 670 updateRoot = &rootRenderLayer(); 670 671 671 672 if (updateType == CompositingUpdateType::OnScroll || updateType == CompositingUpdateType::OnCompositedScroll) { 673 // We only get here if we didn't scroll on the scrolling thread, so this update needs to re-position viewport-constrained layers. 674 if (m_renderView.settings().acceleratedCompositingForFixedPositionEnabled() && isPageScroll) { 675 if (auto* viewportConstrainedObjects = m_renderView.frameView().viewportConstrainedObjects()) { 676 for (auto* renderer : *viewportConstrainedObjects) { 677 if (auto* layer = renderer->layer()) 678 layer->setNeedsCompositingGeometryUpdate(); 679 } 680 } 681 } 682 672 683 // Scrolling can affect overlap. FIXME: avoid for page scrolling. 673 684 updateRoot->setDescendantsNeedCompositingRequirementsTraversal();
Note: See TracChangeset
for help on using the changeset viewer.