Bug 49605

Summary: Make WebPageProxy::decidePolicyForMIMEType a tad synchronous
Product: WebKit Reporter: Anders Carlsson <andersca>
Component: New BugsAssignee: Anders Carlsson <andersca>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Attachments:
Description Flags
Patch
none
Patch sam: review+

Description Anders Carlsson 2010-11-16 10:47:32 PST
Make WebPageProxy::decidePolicyForMIMEType a tad synchronous
Comment 1 Anders Carlsson 2010-11-16 10:49:31 PST
Created attachment 74010 [details]
Patch
Comment 2 Anders Carlsson 2010-11-16 10:56:16 PST
Created attachment 74012 [details]
Patch
Comment 3 Sam Weinig 2010-11-16 10:57:49 PST
Comment on attachment 74012 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=74012&action=review

> WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:533
>  
> -    webPage->send(Messages::WebPageProxy::DecidePolicyForMIMEType(m_frame->frameID(), MIMEType, url, listenerID));
> +    bool receivedPolicyAction;
> +    uint64_t policyAction;
> +    uint64_t downloadID;
> +    if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForMIMEType(m_frame->frameID(), MIMEType, url, listenerID), Messages::WebPageProxy::DecidePolicyForMIMEType::Reply(receivedPolicyAction, policyAction, downloadID)))
> +        return;
> +
> +    if (receivedPolicyAction)
> +        m_frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), downloadID);

I think this deserves a comment indicating why this needs to be sync for now and how we may be able to mitigate this issue in the future (if that is desired).
Comment 4 Anders Carlsson 2010-11-16 11:02:54 PST
Committed r72122: <http://trac.webkit.org/changeset/72122>