Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 368b3354ef93a9e982bb7b4cb598de4f1dbe0104 https://github.com/WebKit/WebKit/commit/368b3354ef93a9e982bb7b4cb598de4f1dbe0104 Author: Alex Christensen <achristen...@apple.com> Date: 2023-02-09 (Thu, 09 Feb 2023)
Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm Log Message: ----------- Stitch remote iframe layers together regardless of creation order https://bugs.webkit.org/show_bug.cgi?id=252009 rdar://105236763 Reviewed by Simon Fraser. In 259937@main we started adding iframe root layers as sublayers of the hosting layer from another process, but this only works if the hosting layer is created before the hosted layer. This adds symmetric code that remembers the hosting layers and the hosted layers and adds them if the parent is created first or if the child is created first. Not quiiiite ready for automated tests covering this, but we're getting close. The test added in 259937@main would cover this, but before re-landing that test we need to get layers from all subframe processes in WebKitTestRunner and fix at least 1 more assertion. This can easily be seen in MiniBrowser with site isolation after resizing the window. Cross-origin iframes would disappear before this and now they don't. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: (WebKit::RemoteLayerTreeHost::updateLayerTree): (WebKit::RemoteLayerTreeHost::layerWillBeRemoved): (WebKit::RemoteLayerTreeHost::createLayer): Canonical link: https://commits.webkit.org/260090@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes