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

Reply via email to