Changeset 243145 in webkit
- Timestamp:
- Mar 19, 2019, 10:37:35 AM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
-
ChangeLog (modified) (1 diff)
-
rendering/RenderLayer.cpp (modified) (2 diffs)
-
rendering/RenderLayerBacking.cpp (modified) (1 diff)
-
rendering/RenderLayerCompositor.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r243141 r243145 1 2019-03-19 Simon Fraser <simon.fraser@apple.com> 2 3 [Async overflow] Handle positioned nodes in a few more places 4 https://bugs.webkit.org/show_bug.cgi?id=195946 5 6 Reviewed by Zalan Bujtas. 7 8 When I added support for positioned nodes in the scrolling tree I missed handling 9 the ScrollCoordinationRole::Positioning in a few places. 10 11 I wasn't able to come up with a test for this; when a positioned node toggles between 12 tiled and non-tiled, hitting the code in didChangePlatformLayerForLayer(), we already 13 update the node with the new layer. 14 15 * rendering/RenderLayer.cpp: 16 (WebCore::outputPaintOrderTreeRecursive): Logging. 17 * rendering/RenderLayerBacking.cpp: 18 (WebCore::operator<<): Logging. 19 * rendering/RenderLayerCompositor.cpp: 20 (WebCore::RenderLayerCompositor::didChangePlatformLayerForLayer): Update the node's layer. 21 (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Handle detaching of this node type. 22 1 23 2019-03-19 Alex Christensen <achristensen@webkit.org> 2 24 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r243134 r243145 6745 6745 auto frameHostingNodeID = backing.scrollingNodeIDForRole(WebCore::ScrollCoordinationRole::FrameHosting); 6746 6746 auto viewportConstrainedNodeID = backing.scrollingNodeIDForRole(WebCore::ScrollCoordinationRole::ViewportConstrained); 6747 auto positionedNodeID = backing.scrollingNodeIDForRole(WebCore::ScrollCoordinationRole::Positioning); 6747 6748 6748 6749 if (scrollingNodeID || frameHostingNodeID || viewportConstrainedNodeID) { … … 6767 6768 } 6768 6769 6770 if (positionedNodeID) { 6771 if (!first) 6772 stream << ", "; 6773 stream << "pos " << positionedNodeID; 6774 } 6775 6769 6776 stream << "}"; 6770 6777 } -
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
r243134 r243145 3136 3136 if (auto nodeID = backing.scrollingNodeIDForRole(ScrollCoordinationRole::FrameHosting)) 3137 3137 ts << " frame hosting node " << nodeID; 3138 if (auto nodeID = backing.scrollingNodeIDForRole(ScrollCoordinationRole::Positioning)) 3139 ts << " positioning node " << nodeID; 3138 3140 return ts; 3139 3141 } -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r243141 r243145 553 553 if (auto nodeID = backing->scrollingNodeIDForRole(ScrollCoordinationRole::FrameHosting)) 554 554 scrollingCoordinator->setNodeLayers(nodeID, { backing->graphicsLayer() }); 555 556 if (auto nodeID = backing->scrollingNodeIDForRole(ScrollCoordinationRole::Positioning)) 557 scrollingCoordinator->setNodeLayers(nodeID, { backing->graphicsLayer() }); 555 558 } 556 559 … … 3960 3963 detachScrollCoordinatedLayerWithRole(layer, *scrollingCoordinator, ScrollCoordinationRole::ViewportConstrained); 3961 3964 3965 if (roles.contains(ScrollCoordinationRole::Positioning)) 3966 detachScrollCoordinatedLayerWithRole(layer, *scrollingCoordinator, ScrollCoordinationRole::Positioning); 3967 3962 3968 backing->detachFromScrollingCoordinator(roles); 3963 3969 }
Note:
See TracChangeset
for help on using the changeset viewer.