[webkit-qt] decidePolicyForNavigationAction QML API

Balazs Kelemen kbalazs at webkit.org
Mon Oct 24 00:57:21 PDT 2011

> 3) The API is synchronous, while the underlying implementation in WebKit2/ChromeClient is asynchronous. So while the engine can do it, our API forces the application to make a synchronous decision.
It seems to me this assumption is not correct. The appropriate code part 
is WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction. It 
sends a synchronous message so we need to answer immediately on the UI side:

     // Notify the UIProcess.
action->navigationType(), action->modifiers(), action->mouseButton(), 
request, listenerID, InjectedBundleUserMessageEncoder(userData.get())), 
policyAction, downloadID)))

     // We call this synchronously because WebCore cannot gracefully 
handle a frame load without a synchronous navigation policy reply.
     if (receivedPolicyAction)
static_cast<PolicyAction>(policyAction), downloadID);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-qt/attachments/20111024/2445f9db/attachment.html>

More information about the webkit-qt mailing list