Make WebProcessProxy::WebProcessProxyMap contain WeakPtrs instead of raw pointers.
<rdar://problem/57233050>
Created attachment 383661 [details] Patch
Comment on attachment 383661 [details] Patch Attachment 383661 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/13260011 New failing tests: fast/workers/worker-cloneport.html css3/filters/blur-various-radii.html
Created attachment 383691 [details] Archive of layout-test-results from ews214 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews214 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Comment on attachment 383661 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383661&action=review > Source/WebKit/ChangeLog:4 > + https://bugs.webkit.org/show_bug.cgi?id=204260 Looking at the radar, I think we could protect |this| in WebPageProxy::updatePlayingMediaDidChange(). We call some client delegates (e.g. m_uiClient->isPlayingMediaDidChange(*this)) and those may destroy the view and thus the WebPageProxy.
Comment on attachment 383661 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383661&action=review > Source/WebKit/UIProcess/WebPageProxy.cpp:4959 > + if (page && page->sessionID().isEphemeral()) I really do not think we should do this. It is crazy to null checks pages in the map. By definition, pages are only in the map if they are alive. This is not the right way to fix the bug.