Protect WebPageProxy in didFinishLoadForFrame
Created attachment 417144 [details] Patch
<rdar://problem/72496374>
Comment on attachment 417144 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=417144&action=review > Source/WebKit/UIProcess/WebPageProxy.cpp:4770 > + auto protectedThis = makeRef(*this); This is unnecessary in functions called via IPC. We solved it at a global level years ago. If you look at WebPageProxy::didReceiveMessage() in generated code, you will see: auto protectedThis = makeRef(*this); We protect the WebPageProxy while calling every function due to an IPC message.
Created attachment 417187 [details] Patch
Created attachment 417189 [details] Patch
Created attachment 417192 [details] Patch
Created attachment 417198 [details] Patch
Comment on attachment 417198 [details] Patch r=me Smart pointer is definitely better than raw pointer here. Would be nice in the future just to make this lifetime mismatch impossible.
Comment on attachment 417198 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=417198&action=review > Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:408 > - return; > + return completionHandler(false); Surprisingly this changed behavior in an undesirable way. Will revert.
Created attachment 417209 [details] Patch
Committed r271264: <https://trac.webkit.org/changeset/271264> All reviewed patches have been landed. Closing bug and clearing flags on attachment 417209 [details].