Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 82c681c6142f6a73ee90cf0aec5ecbe7a98bcd45 https://github.com/WebKit/WebKit/commit/82c681c6142f6a73ee90cf0aec5ecbe7a98bcd45 Author: Tim Horton <timothy_hor...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes