Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb4da53917de7e7e3788b43bf8b9aba9ee81d718
      
https://github.com/WebKit/WebKit/commit/bb4da53917de7e7e3788b43bf8b9aba9ee81d718
  Author: Matt Woodrow <[email protected]>
  Date:   2023-11-08 (Wed, 08 Nov 2023)

  Changed paths:
    A LayoutTests/http/tests/site-isolation/double-iframe-expected.html
    A LayoutTests/http/tests/site-isolation/double-iframe.html
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm
    M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm

  Log Message:
  -----------
  Multiple iframes in same isolated process results in one of them not being 
drawn.
https://bugs.webkit.org/show_bug.cgi?id=264356
<rdar://118034981>

Reviewed by Alex Christensen.

RemoteLayerBackingStoreCollection::willCommitLayerTree collects all the backing 
stores that were unreachable,
and includes that list in the transaction so that the UI process can ensure the 
buffer references are removed.

This changes moves that call until we've finished building all the 
transactions, so that were not considering
buffers only used in latter transactions to be unreachable for the first 
transaction.

It also adds a new 'willBuildTransaction' function. The set of backing stores 
that need display is a property
of the transaction (where we call prepareBuffersForDisplay, and then paint 
them), so we want to clear this
state per-transaction, not per rendering update.

* LayoutTests/http/tests/site-isolation/double-iframe-expected.html: Added.
* LayoutTests/http/tests/site-isolation/double-iframe.html: Added.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::willFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::willBuildTransaction):
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updateRendering):

Canonical link: https://commits.webkit.org/270399@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to