Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 82c681c6142f6a73ee90cf0aec5ecbe7a98bcd45
https://github.com/WebKit/WebKit/commit/82c681c6142f6a73ee90cf0aec5ecbe7a98bcd45
Author: Tim Horton <[email protected]>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.h
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.h
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm
Log Message:
-----------
[UnifiedPDF] Occasional crashes under IOSurface construction in the web
content process
https://bugs.webkit.org/show_bug.cgi?id=268439
Reviewed by Said Abou-Hallawa.
LayerPool will often return layers that contain existing
RemoteLayerBackingStore instances.
Before reusing the RemoteLayerBackingStore, we need to make sure it's of the
correct subclass
for the layer, once the layer is reconfigured.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::createForLayer):
(WebKit::RemoteLayerBackingStore::processModelForLayer):
Hoist model picking and RLBS creation into RLBS.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::createRemoteLayerBackingStore):
Deleted.
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.h:
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.h:
Make it possible to query a RLBS' "process model" (essentially which subclass
it is,
this is technically duplicative with the is... methods, but handier for
comparison).
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm:
(WebKit::PlatformCALayerRemote::ensureBackingStore):
Avoid reusing the incorrect RLBS subclass.
Canonical link: https://commits.webkit.org/273848@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes