Bug 232183

Summary: RemoteRenderingBackend::m_remoteDisplayLists should not be a WeakHashSet
Product: WebKit Reporter: Wenson Hsieh <wenson_hsieh>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: cdumez, kkinnunen
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Wenson Hsieh 2021-10-22 15:52:45 PDT
SSIA
Comment 1 Wenson Hsieh 2021-10-22 16:05:54 PDT
This bug tracks addressing https://bugs.webkit.org/show_bug.cgi?id=232113#c10, where the WeakHashSet `m_remoteDisplayLists` is accessed from both the rendering backend thread and the main thread in the GPU process.

This is dangerous, given that WeakPtr itself cannot be used from different threads.

We should make this a HashSet or HashMap of Ref/RefPtr, and then manually remove entries from this map when releasing cached image buffers.
Comment 2 Wenson Hsieh 2021-10-22 17:26:51 PDT
I think I'm going to fix this as a part of https://bugs.webkit.org/show_bug.cgi?id=232179, since both bugs can be addressed by very similar changes.
Comment 3 Wenson Hsieh 2021-10-22 17:27:06 PDT

*** This bug has been marked as a duplicate of bug 232179 ***