Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs This WK2 API was somewhat blindly carried over from WebKit1. Unfortunately it's one of a handful of synchronous messages from the WebProcess to the UI Process that causes hangs and seems unnecessary. It seems rare that a client would want to answer "no" to this call, so making it an asynchronous, notification-only callback would clear those hangs! A patch implementing "WillGoToBackForwardListItem" in the version 1 loader client is coming soon. If clients do decide that it'd be important to implement an actual "should" policy callback, it should be done in the bundle client and we can introduce that when it's needed. In radar as <rdar://problem/10406044>
Created attachment 128315 [details] Patch v1
Comment on attachment 128315 [details] Patch v1 View in context: https://bugs.webkit.org/attachment.cgi?id=128315&action=review > Source/WebKit2/UIProcess/WebLoaderClient.cpp:245 > + if (m_client.version > 0 || !m_client.shouldGoToBackForwardListItem) > return true; You should add a comment here explaining the version check. > Source/WebKit2/WebProcess/WebPage/WebPage.h:506 > + bool willGoToBackForwardItemCallbackEnabled() { return m_willGoToBackForwardItemCallbackEnabled; } This can be const.
http://trac.webkit.org/changeset/108570