[webkit-changes] [WebKit/WebKit] 82c681: [UnifiedPDF] Occasional crashes under IOSurface co...
Tim Horton
noreply at github.com
Wed Jan 31 12:11:05 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 82c681c6142f6a73ee90cf0aec5ecbe7a98bcd45
https://github.com/WebKit/WebKit/commit/82c681c6142f6a73ee90cf0aec5ecbe7a98bcd45
Author: Tim Horton <timothy_horton at apple.com>
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
More information about the webkit-changes
mailing list