Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate() otherwise, apps may get stuck on _doAfterNextPresentationUpdate because the WebProcess got suspended.
<rdar://problem/40651225>
Created attachment 341575 [details] Patch
Comment on attachment 341575 [details] Patch Clearing flags on attachment: 341575 Committed r232298: <https://trac.webkit.org/changeset/232298>
All reviewed patches have been landed. Closing bug.
Dan points out that callbackMap.put takes a BackgroundActivityToken parameter, which RemoteLayerTreeDrawingAreaProxy currently passes nullptr to: m_webPageProxy.process().send(Messages::DrawingArea::AddTransactionCallbackID(m_callbacks.put(WTFMove(callbackFunction), nullptr)), m_webPageProxy.pageID()); So this fix probably should have just made that non-null instead of capturing a BackgroundActivityToken elsewhere.
Reopening to apply comments.
Created attachment 341594 [details] Patch
Comment on attachment 341594 [details] Patch Even better!
Comment on attachment 341594 [details] Patch Clearing flags on attachment: 341594 Committed r232307: <https://trac.webkit.org/changeset/232307>