3869 void WebPageProxy::decidePolicyForResponseSync(uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, uint64_t listenerID, const UserData& userData, bool& receivedPolicyAction, WebCore::PolicyAction& policyAction, DownloadID& downloadID)
3870 {
3871 PageClientProtector protector(m_pageClient);
3872
3873 ASSERT(!m_inDecidePolicyForResponseSync);
3874
3875 m_inDecidePolicyForResponseSync = true;
3876 m_decidePolicyForResponseRequest = &request;
3877 m_syncMimeTypePolicyActionIsValid = false;
3878
3879 decidePolicyForResponse(frameID, frameSecurityOrigin, navigationID, response, request, canShowMIMEType, listenerID, userData);
3880
3881 m_inDecidePolicyForResponseSync = false;
3882 m_decidePolicyForResponseRequest = nullptr;
3883
3884 // Check if we received a policy decision already. If we did, we can just pass it back.
3885 receivedPolicyAction = m_syncMimeTypePolicyActionIsValid;
3886 if (m_syncMimeTypePolicyActionIsValid) {
3887 policyAction = m_syncMimeTypePolicyAction;
3888 downloadID = m_syncMimeTypePolicyDownloadID;
3889 }
3890 }
3891