Changeset 222492 in webkit
- Timestamp:
- Sep 25, 2017, 10:52:40 PM (8 years ago)
- Location:
- trunk/Source
- Files:
-
- 32 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r222491 r222492 1 2017-09-25 Alex Christensen <achristensen@webkit.org> 2 3 Make PolicyAction an encodable enum class 4 https://bugs.webkit.org/show_bug.cgi?id=177480 5 6 Reviewed by Antti Koivisto. 7 8 * loader/DocumentLoader.cpp: 9 (WebCore::DocumentLoader::responseReceived): 10 (WebCore::DocumentLoader::continueAfterContentPolicy): 11 * loader/FrameLoaderTypes.h: 12 * loader/PolicyChecker.cpp: 13 (WebCore::PolicyChecker::checkNavigationPolicy): 14 (WebCore::PolicyChecker::checkNewWindowPolicy): 15 1 16 2017-09-25 Timothy Horton <timothy_horton@apple.com> 2 17 -
trunk/Source/WebCore/loader/DocumentLoader.cpp
r222472 r222492 696 696 // Always show content with valid substitute data. 697 697 if (m_substituteData.isValid()) { 698 continueAfterContentPolicy(Policy Use);698 continueAfterContentPolicy(PolicyAction::Use); 699 699 return; 700 700 } … … 703 703 // Respect the hidden FTP Directory Listing pref so it can be tested even if the policy delegate might otherwise disallow it 704 704 if (m_frame->settings().forceFTPDirectoryListings() && m_response.mimeType() == "application/x-ftp-directory") { 705 continueAfterContentPolicy(Policy Use);705 continueAfterContentPolicy(PolicyAction::Use); 706 706 return; 707 707 } … … 748 748 749 749 switch (policy) { 750 case Policy Use: {750 case PolicyAction::Use: { 751 751 // Prevent remote web archives from loading because they can claim to be from any domain and thus avoid cross-domain security checks (4120255). 752 752 if (!frameLoader()->client().canShowMIMEType(m_response.mimeType()) || isRemoteWebArchive(*this)) { … … 759 759 } 760 760 761 case Policy Download: {761 case PolicyAction::Download: { 762 762 // m_mainResource can be null, e.g. when loading a substitute resource from application cache. 763 763 if (!m_mainResource) { … … 788 788 return; 789 789 } 790 case Policy Ignore:790 case PolicyAction::Ignore: 791 791 if (ResourceLoader* mainResourceLoader = this->mainResourceLoader()) 792 792 InspectorInstrumentation::continueWithPolicyIgnore(*m_frame, mainResourceLoader->identifier(), *this, m_response); -
trunk/Source/WebCore/loader/FrameLoaderTypes.h
r219404 r222492 39 39 }; 40 40 41 enum PolicyAction {42 PolicyUse,43 PolicyDownload,44 PolicyIgnore41 enum class PolicyAction { 42 Use, 43 Download, 44 Ignore 45 45 }; 46 46 … … 148 148 149 149 } // namespace WebCore 150 151 namespace WTF { 152 153 template<typename> struct EnumTraits; 154 template<typename E, E...> struct EnumValues; 155 156 template<> struct EnumTraits<WebCore::PolicyAction> { 157 using values = EnumValues< 158 WebCore::PolicyAction, 159 WebCore::PolicyAction::Use, 160 WebCore::PolicyAction::Download, 161 WebCore::PolicyAction::Ignore 162 >; 163 }; 164 165 } // namespace WTF -
trunk/Source/WebCore/loader/PolicyChecker.cpp
r222472 r222492 147 147 m_frame.loader().client().dispatchDecidePolicyForNavigationAction(action, request, didReceiveRedirectResponse, formState, [this, function = WTFMove(function), request = WTFMove(requestCopy), formState = makeRefPtr(formState), suggestedFilename = WTFMove(suggestedFilename)](PolicyAction policyAction) mutable { 148 148 switch (policyAction) { 149 case Policy Download:149 case PolicyAction::Download: 150 150 m_frame.loader().setOriginalURLForDownloadRequest(request); 151 151 m_frame.loader().client().startDownload(request, suggestedFilename); 152 152 FALLTHROUGH; 153 case Policy Ignore:153 case PolicyAction::Ignore: 154 154 return function({ }, nullptr, false); 155 case Policy Use:155 case PolicyAction::Use: 156 156 if (!m_frame.loader().client().canHandleRequest(request)) { 157 157 handleUnimplementablePolicy(m_frame.loader().client().cannotShowURLError(request)); … … 175 175 m_frame.loader().client().dispatchDecidePolicyForNewWindowAction(navigationAction, request, formState, frameName, [frame = makeRef(m_frame), request, formState = makeRefPtr(formState), frameName, navigationAction, function = WTFMove(function)](PolicyAction policyAction) mutable { 176 176 switch (policyAction) { 177 case Policy Download:177 case PolicyAction::Download: 178 178 frame->loader().client().startDownload(request); 179 179 FALLTHROUGH; 180 case Policy Ignore:180 case PolicyAction::Ignore: 181 181 function({ }, nullptr, { }, { }, false); 182 182 return; 183 case Policy Use:183 case PolicyAction::Use: 184 184 function(request, formState.get(), frameName, navigationAction, true); 185 185 return; -
trunk/Source/WebKit/ChangeLog
r222490 r222492 1 2017-09-25 Alex Christensen <achristensen@webkit.org> 2 3 Make PolicyAction an encodable enum class 4 https://bugs.webkit.org/show_bug.cgi?id=177480 5 6 Reviewed by Antti Koivisto. 7 8 * NetworkProcess/Downloads/DownloadManager.cpp: 9 (WebKit::DownloadManager::continueDecidePendingDownloadDestination): 10 (WebKit::DownloadManager::cancelDownload): 11 * NetworkProcess/NetworkCORSPreflightChecker.cpp: 12 (WebKit::NetworkCORSPreflightChecker::didReceiveResponseNetworkSession): 13 * NetworkProcess/NetworkDataTask.cpp: 14 (WebKit::NetworkDataTask::didReceiveResponse): 15 * NetworkProcess/NetworkDataTaskBlob.cpp: 16 (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse): 17 * NetworkProcess/NetworkLoad.cpp: 18 (WebKit::NetworkLoad::~NetworkLoad): 19 (WebKit::NetworkLoad::continueDidReceiveResponse): 20 (WebKit::NetworkLoad::notifyDidReceiveResponse): 21 * NetworkProcess/PingLoad.cpp: 22 (WebKit::PingLoad::didReceiveResponseNetworkSession): 23 * NetworkProcess/capture/NetworkDataTaskReplay.cpp: 24 (WebKit::NetworkCapture::NetworkDataTaskReplay::didReceiveResponse): 25 * NetworkProcess/cocoa/NetworkSessionCocoa.mm: 26 (toNSURLSessionResponseDisposition): 27 * NetworkProcess/soup/NetworkDataTaskSoup.cpp: 28 (WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse): 29 * Scripts/webkit/messages.py: 30 (headers_for_type): 31 * UIProcess/WebFormSubmissionListenerProxy.h: 32 * UIProcess/WebFrameListenerProxy.h: 33 (WebKit::WebFrameListenerProxy::navigation): Deleted. 34 * UIProcess/WebFramePolicyListenerProxy.cpp: 35 (WebKit::WebFramePolicyListenerProxy::use): 36 (WebKit::WebFramePolicyListenerProxy::download): 37 (WebKit::WebFramePolicyListenerProxy::ignore): 38 * UIProcess/WebPageProxy.cpp: 39 (WebKit::WebPageProxy::receivedPolicyDecision): 40 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 41 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 42 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 43 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 44 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 45 * WebProcess/WebPage/WebFrame.cpp: 46 (WebKit::WebFrame::invalidatePolicyListener): 47 * WebProcess/WebPage/WebPage.cpp: 48 (WebKit::WebPage::didReceivePolicyDecision): 49 * WebProcess/WebPage/WebPage.h: 50 * WebProcess/WebPage/WebPage.messages.in: 51 1 52 2017-09-25 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> 2 53 -
trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp
r222467 r222492 145 145 146 146 networkDataTask->setPendingDownloadLocation(destination, sandboxExtensionHandle, allowOverwrite); 147 completionHandler(Policy Download);147 completionHandler(PolicyAction::Download); 148 148 if (networkDataTask->state() == NetworkDataTask::State::Canceling || networkDataTask->state() == NetworkDataTask::State::Completed) 149 149 return; … … 197 197 198 198 networkDataTask->cancel(); 199 completionHandler(Policy Ignore);199 completionHandler(PolicyAction::Ignore); 200 200 m_client.pendingDownloadCanceled(downloadID); 201 201 return; -
trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp
r222467 r222492 90 90 RELEASE_LOG_IF_ALLOWED("didReceiveResponseNetworkSession"); 91 91 m_response = WTFMove(response); 92 completionHandler(PolicyAction:: PolicyUse);92 completionHandler(PolicyAction::Use); 93 93 } 94 94 -
trunk/Source/WebKit/NetworkProcess/NetworkDataTask.cpp
r222467 r222492 104 104 std::optional<uint16_t> port = url.port(); 105 105 if (port && !isDefaultPortForProtocol(port.value(), url.protocol())) { 106 completionHandler(Policy Ignore);106 completionHandler(PolicyAction::Ignore); 107 107 cancel(); 108 108 m_client->didCompleteWithError({ String(), 0, url, "Cancelled load from '" + url.stringCenterEllipsizedToLength() + "' because it is using HTTP/0.9." }); -
trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp
r222467 r222492 316 316 317 317 switch (policyAction) { 318 case PolicyAction:: PolicyUse:318 case PolicyAction::Use: 319 319 m_buffer.resize(bufferSize); 320 320 read(); 321 321 break; 322 case PolicyAction:: PolicyIgnore:322 case PolicyAction::Ignore: 323 323 break; 324 case PolicyAction:: PolicyDownload:324 case PolicyAction::Download: 325 325 download(); 326 326 break; -
trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp
r222467 r222492 135 135 #if USE(NETWORK_SESSION) 136 136 if (m_responseCompletionHandler) 137 m_responseCompletionHandler(Policy Ignore);137 m_responseCompletionHandler(PolicyAction::Ignore); 138 138 if (m_redirectCompletionHandler) 139 139 m_redirectCompletionHandler({ }); … … 229 229 if (m_responseCompletionHandler) { 230 230 auto responseCompletionHandler = std::exchange(m_responseCompletionHandler, nullptr); 231 responseCompletionHandler(Policy Use);231 responseCompletionHandler(PolicyAction::Use); 232 232 } 233 233 #else … … 404 404 return; 405 405 } 406 completionHandler(Policy Use);406 completionHandler(PolicyAction::Use); 407 407 } 408 408 -
trunk/Source/WebKit/NetworkProcess/PingLoad.cpp
r222467 r222492 176 176 { 177 177 RELEASE_LOG_IF_ALLOWED("didReceiveResponseNetworkSession - httpStatusCode: %d", response.httpStatusCode()); 178 completionHandler(PolicyAction:: PolicyIgnore);178 completionHandler(PolicyAction::Ignore); 179 179 didFinish(); 180 180 } -
trunk/Source/WebKit/NetworkProcess/capture/NetworkDataTaskReplay.cpp
r222467 r222492 250 250 251 251 switch (policyAction) { 252 case WebCore::PolicyAction:: PolicyUse:252 case WebCore::PolicyAction::Use: 253 253 enqueueEventHandler(); 254 254 break; 255 case WebCore::PolicyAction:: PolicyIgnore:255 case WebCore::PolicyAction::Ignore: 256 256 complete(); 257 257 break; 258 case WebCore::PolicyAction:: PolicyDownload:258 case WebCore::PolicyAction::Download: 259 259 DEBUG_LOG_ERROR("WebCore::PolicyAction::PolicyDownload"); 260 260 break; -
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
r222467 r222492 58 58 { 59 59 switch (disposition) { 60 case WebCore::PolicyAction:: PolicyIgnore:60 case WebCore::PolicyAction::Ignore: 61 61 return NSURLSessionResponseCancel; 62 case WebCore::PolicyAction:: PolicyUse:62 case WebCore::PolicyAction::Use: 63 63 return NSURLSessionResponseAllow; 64 case WebCore::PolicyAction:: PolicyDownload:64 case WebCore::PolicyAction::Download: 65 65 return NSURLSessionResponseBecomeDownload; 66 66 } -
trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp
r222467 r222492 378 378 379 379 switch (policyAction) { 380 case PolicyAction:: PolicyUse:380 case PolicyAction::Use: 381 381 if (m_inputStream) 382 382 read(); … … 387 387 388 388 break; 389 case PolicyAction:: PolicyIgnore:389 case PolicyAction::Ignore: 390 390 clearRequest(); 391 391 break; 392 case PolicyAction:: PolicyDownload:392 case PolicyAction::Download: 393 393 download(); 394 394 break; -
trunk/Source/WebKit/Scripts/webkit/messages.py
r221866 r222492 388 388 'WebKit::WebTouchEvent': ['"WebEvent.h"'], 389 389 'WebKit::WebWheelEvent': ['"WebEvent.h"'], 390 'WebCore::PolicyAction': ['<WebCore/FrameLoaderTypes.h>'], 390 391 'struct WebKit::WebUserScriptData': ['"WebUserContentControllerDataTypes.h"'], 391 392 'struct WebKit::WebUserStyleSheetData': ['"WebUserContentControllerDataTypes.h"'], -
trunk/Source/WebKit/UIProcess/WebFormSubmissionListenerProxy.h
r222456 r222492 30 30 namespace WebKit { 31 31 32 class WebFrameProxy;33 34 32 class WebFormSubmissionListenerProxy : public API::ObjectImpl<API::Object::Type::FormSubmissionListener> { 35 33 public: -
trunk/Source/WebKit/UIProcess/WebFrameListenerProxy.h
r216473 r222492 44 44 uint64_t listenerID() const { return m_listenerID; } 45 45 46 API::Navigation* navigation() { return m_navigation.get(); }47 46 void setNavigation(Ref<API::Navigation>&& navigation) { m_navigation = WTFMove(navigation); } 48 47 -
trunk/Source/WebKit/UIProcess/WebFramePolicyListenerProxy.cpp
r209558 r222492 39 39 void WebFramePolicyListenerProxy::use(const WebsitePolicies& websitePolicies) 40 40 { 41 receivedPolicyDecision(WebCore::Policy Use, websitePolicies);41 receivedPolicyDecision(WebCore::PolicyAction::Use, websitePolicies); 42 42 } 43 43 44 44 void WebFramePolicyListenerProxy::download() 45 45 { 46 receivedPolicyDecision(WebCore::Policy Download, { });46 receivedPolicyDecision(WebCore::PolicyAction::Download, { }); 47 47 } 48 48 49 49 void WebFramePolicyListenerProxy::ignore() 50 50 { 51 receivedPolicyDecision(WebCore::Policy Ignore, { });51 receivedPolicyDecision(WebCore::PolicyAction::Ignore, { }); 52 52 } 53 53 -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r222468 r222492 2265 2265 auto transaction = m_pageLoadState.transaction(); 2266 2266 2267 if (action == Policy Ignore)2267 if (action == PolicyAction::Ignore) 2268 2268 m_pageLoadState.clearPendingAPIRequestURL(transaction); 2269 2269 2270 2270 #if ENABLE(DOWNLOAD_ATTRIBUTE) 2271 if (m_syncNavigationActionHasDownloadAttribute && action == Policy Use)2272 action = Policy Download;2271 if (m_syncNavigationActionHasDownloadAttribute && action == PolicyAction::Use) 2272 action = PolicyAction::Download; 2273 2273 #endif 2274 2274 2275 2275 DownloadID downloadID = { }; 2276 if (action == Policy Download) {2276 if (action == PolicyAction::Download) { 2277 2277 // Create a download proxy. 2278 2278 auto* download = m_process->processPool().createDownloadProxy(m_decidePolicyForResponseRequest, this); … … 3687 3687 #if ENABLE(CONTENT_FILTERING) 3688 3688 if (frame->didHandleContentFilterUnblockNavigation(request)) { 3689 reply->send(m_newNavigationID, Policy Ignore, { }, { });3689 reply->send(m_newNavigationID, PolicyAction::Ignore, { }, { }); 3690 3690 m_newNavigationID = 0; 3691 3691 return; -
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
r222468 r222492 99 99 100 100 # Policy messages 101 DecidePolicyForResponseSync(uint64_t frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, uint64_t navigationID, WebCore::ResourceResponse response, WebCore::ResourceRequest request, bool canShowMIMEType, uint64_t listenerID, WebKit::UserData userData) -> ( uint64_tpolicyAction, WebKit::DownloadID downloadID) Delayed102 DecidePolicyForNavigationAction(uint64_t frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, uint64_t navigationID, struct WebKit::NavigationActionData navigationActionData, struct WebKit::FrameInfoData originatingFrameInfoData, uint64_t originatingPageID, WebCore::ResourceRequest originalRequest, WebCore::ResourceRequest request, uint64_t listenerID, WebKit::UserData userData) -> (uint64_t newNavigationID, uint64_tpolicyAction, WebKit::DownloadID downloadID, struct WebKit::WebsitePolicies websitePolicies) Delayed101 DecidePolicyForResponseSync(uint64_t frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, uint64_t navigationID, WebCore::ResourceResponse response, WebCore::ResourceRequest request, bool canShowMIMEType, uint64_t listenerID, WebKit::UserData userData) -> (enum WebCore::PolicyAction policyAction, WebKit::DownloadID downloadID) Delayed 102 DecidePolicyForNavigationAction(uint64_t frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, uint64_t navigationID, struct WebKit::NavigationActionData navigationActionData, struct WebKit::FrameInfoData originatingFrameInfoData, uint64_t originatingPageID, WebCore::ResourceRequest originalRequest, WebCore::ResourceRequest request, uint64_t listenerID, WebKit::UserData userData) -> (uint64_t newNavigationID, enum WebCore::PolicyAction policyAction, WebKit::DownloadID downloadID, struct WebKit::WebsitePolicies websitePolicies) Delayed 103 103 DecidePolicyForNewWindowAction(uint64_t frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, struct WebKit::NavigationActionData navigationActionData, WebCore::ResourceRequest request, String frameName, uint64_t listenerID, WebKit::UserData userData) 104 104 UnableToImplementPolicy(uint64_t frameID, WebCore::ResourceError error, WebKit::UserData userData) -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r222472 r222492 680 680 WebPage* webPage = m_frame->page(); 681 681 if (!webPage) { 682 function(Policy Ignore);682 function(PolicyAction::Ignore); 683 683 return; 684 684 } 685 685 686 686 if (!request.url().string()) { 687 function(Policy Use);687 function(PolicyAction::Use); 688 688 return; 689 689 } … … 694 694 WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForResponse(webPage, m_frame, response, request, userData); 695 695 if (policy == WKBundlePagePolicyActionUse) { 696 function(Policy Use);696 function(PolicyAction::Use); 697 697 return; 698 698 } … … 701 701 702 702 uint64_t listenerID = m_frame->setUpPolicyListener(WTFMove(function)); 703 uint64_tpolicyAction;703 PolicyAction policyAction; 704 704 DownloadID downloadID; 705 705 … … 708 708 auto navigationID = static_cast<WebDocumentLoader&>(*coreFrame->loader().provisionalDocumentLoader()).navigationID(); 709 709 if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForResponseSync(m_frame->frameID(), SecurityOriginData::fromFrame(coreFrame), navigationID, response, request, canShowMIMEType, listenerID, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())), Messages::WebPageProxy::DecidePolicyForResponseSync::Reply(policyAction, downloadID), Seconds::infinity(), IPC::SendSyncOption::InformPlatformProcessWillSuspend)) { 710 m_frame->didReceivePolicyDecision(listenerID, Policy Ignore, 0, { });710 m_frame->didReceivePolicyDecision(listenerID, PolicyAction::Ignore, 0, { }); 711 711 return; 712 712 } 713 713 714 714 // We call this synchronously because CFNetwork can only convert a loading connection to a download from its didReceiveResponse callback. 715 m_frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), 0, downloadID);715 m_frame->didReceivePolicyDecision(listenerID, policyAction, 0, downloadID); 716 716 } 717 717 … … 720 720 WebPage* webPage = m_frame->page(); 721 721 if (!webPage) { 722 function(Policy Ignore);722 function(PolicyAction::Ignore); 723 723 return; 724 724 } … … 731 731 WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForNewWindowAction(webPage, m_frame, action.get(), request, frameName, userData); 732 732 if (policy == WKBundlePagePolicyActionUse) { 733 function(Policy Use);733 function(PolicyAction::Use); 734 734 return; 735 735 } … … 756 756 WebPage* webPage = m_frame->page(); 757 757 if (!webPage) { 758 function(Policy Ignore);758 function(PolicyAction::Ignore); 759 759 return; 760 760 } … … 762 762 // Always ignore requests with empty URLs. 763 763 if (request.isEmpty()) { 764 function(Policy Ignore);764 function(PolicyAction::Ignore); 765 765 return; 766 766 } … … 773 773 WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForNavigationAction(webPage, m_frame, action.get(), request, userData); 774 774 if (policy == WKBundlePagePolicyActionUse) { 775 function(Policy Use);775 function(PolicyAction::Use); 776 776 return; 777 777 } … … 779 779 uint64_t listenerID = m_frame->setUpPolicyListener(WTFMove(function)); 780 780 uint64_t newNavigationID; 781 uint64_tpolicyAction;781 PolicyAction policyAction; 782 782 DownloadID downloadID; 783 783 … … 819 819 WebsitePolicies websitePolicies; 820 820 if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForNavigationAction(m_frame->frameID(), SecurityOriginData::fromFrame(coreFrame), documentLoader->navigationID(), navigationActionData, originatingFrameInfoData, originatingFrame && originatingFrame->page() ? originatingFrame->page()->pageID() : 0, navigationAction.resourceRequest(), request, listenerID, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())), Messages::WebPageProxy::DecidePolicyForNavigationAction::Reply(newNavigationID, policyAction, downloadID, websitePolicies))) { 821 m_frame->didReceivePolicyDecision(listenerID, Policy Ignore, 0, { });821 m_frame->didReceivePolicyDecision(listenerID, PolicyAction::Ignore, 0, { }); 822 822 return; 823 823 } … … 856 856 857 857 // We call this synchronously because WebCore cannot gracefully handle a frame load without a synchronous navigation policy reply. 858 m_frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), newNavigationID, downloadID);858 m_frame->didReceivePolicyDecision(listenerID, policyAction, newNavigationID, downloadID); 859 859 } 860 860 -
trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp
r222472 r222492 242 242 m_policyListenerID = 0; 243 243 if (auto function = std::exchange(m_policyFunction, nullptr)) 244 function(Policy Ignore);244 function(PolicyAction::Ignore); 245 245 } 246 246 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r222456 r222492 2734 2734 } 2735 2735 2736 void WebPage::didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_tpolicyAction, uint64_t navigationID, const DownloadID& downloadID)2736 void WebPage::didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, PolicyAction policyAction, uint64_t navigationID, const DownloadID& downloadID) 2737 2737 { 2738 2738 WebFrame* frame = WebProcess::singleton().webFrame(frameID); 2739 2739 if (!frame) 2740 2740 return; 2741 frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), navigationID, downloadID);2741 frame->didReceivePolicyDecision(listenerID, policyAction, navigationID, downloadID); 2742 2742 } 2743 2743 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r222487 r222492 1139 1139 void updatePreferences(const WebPreferencesStore&); 1140 1140 1141 void didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction, uint64_t navigationID, const DownloadID&);1141 void didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, WebCore::PolicyAction, uint64_t navigationID, const DownloadID&); 1142 1142 void continueWillSubmitForm(uint64_t frameID, uint64_t listenerID); 1143 1143 void setUserAgent(const String&); -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in
r222487 r222492 152 152 153 153 UpdateWebsitePolicies(struct WebKit::WebsitePolicies websitePolicies) 154 DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_tpolicyAction, uint64_t navigationID, WebKit::DownloadID downloadID)154 DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, enum WebCore::PolicyAction policyAction, uint64_t navigationID, WebKit::DownloadID downloadID) 155 155 ContinueWillSubmitForm(uint64_t frameID, uint64_t listenerID) 156 156 -
trunk/Source/WebKitLegacy/mac/ChangeLog
r222487 r222492 1 2017-09-25 Alex Christensen <achristensen@webkit.org> 2 3 Make PolicyAction an encodable enum class 4 https://bugs.webkit.org/show_bug.cgi?id=177480 5 6 Reviewed by Antti Koivisto. 7 8 * Plugins/WebPluginContainerCheck.mm: 9 (-[WebPluginContainerCheck _continueWithPolicy:]): 10 (-[WebPluginContainerCheck _isForbiddenFileLoad]): 11 * WebCoreSupport/WebFrameLoaderClient.mm: 12 (-[WebFramePolicyListener invalidate]): 13 (-[WebFramePolicyListener ignore]): 14 (-[WebFramePolicyListener download]): 15 (-[WebFramePolicyListener use]): 16 (-[WebFramePolicyListener continue]): 17 * WebView/WebPolicyDelegate.mm: 18 (-[WebPolicyDecisionListener use]): 19 (-[WebPolicyDecisionListener ignore]): 20 (-[WebPolicyDecisionListener download]): 21 1 22 2017-09-25 Frederik Riedel <riedel@apple.com> 2 23 -
trunk/Source/WebKitLegacy/mac/Plugins/WebPluginContainerCheck.mm
r210859 r222492 88 88 { 89 89 if (_contextInfo) 90 wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == Policy Use), _contextInfo);90 wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyAction::Use), _contextInfo); 91 91 else 92 wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == Policy Use));92 wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyAction::Use)); 93 93 94 94 // this will call indirectly call cancel … … 101 101 ASSERT(coreFrame); 102 102 if (!coreFrame->document()->securityOrigin().canDisplay([_request URL])) { 103 [self _continueWithPolicy:Policy Ignore];103 [self _continueWithPolicy:PolicyAction::Ignore]; 104 104 return YES; 105 105 } -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
r222472 r222492 2411 2411 _frame = nullptr; 2412 2412 if (auto policyFunction = std::exchange(_policyFunction, nullptr)) 2413 policyFunction(Policy Ignore);2413 policyFunction(PolicyAction::Ignore); 2414 2414 } 2415 2415 … … 2434 2434 - (void)ignore 2435 2435 { 2436 [self receivedPolicyDecision:Policy Ignore];2436 [self receivedPolicyDecision:PolicyAction::Ignore]; 2437 2437 } 2438 2438 2439 2439 - (void)download 2440 2440 { 2441 [self receivedPolicyDecision:Policy Download];2441 [self receivedPolicyDecision:PolicyAction::Download]; 2442 2442 } 2443 2443 … … 2449 2449 WebThreadRun(^{ 2450 2450 if (success) 2451 [self receivedPolicyDecision:Policy Ignore];2451 [self receivedPolicyDecision:PolicyAction::Ignore]; 2452 2452 else 2453 [self receivedPolicyDecision:Policy Use];2453 [self receivedPolicyDecision:PolicyAction::Use]; 2454 2454 }); 2455 2455 }]; … … 2458 2458 #endif 2459 2459 2460 [self receivedPolicyDecision:Policy Use];2460 [self receivedPolicyDecision:PolicyAction::Use]; 2461 2461 } 2462 2462 2463 2463 - (void)continue 2464 2464 { 2465 [self receivedPolicyDecision:Policy Use];2465 [self receivedPolicyDecision:PolicyAction::Use]; 2466 2466 } 2467 2467 -
trunk/Source/WebKitLegacy/mac/WebView/WebPolicyDelegate.mm
r165676 r222492 106 106 - (void)use 107 107 { 108 [self _usePolicy:Policy Use];108 [self _usePolicy:PolicyAction::Use]; 109 109 } 110 110 111 111 - (void)ignore 112 112 { 113 [self _usePolicy:Policy Ignore];113 [self _usePolicy:PolicyAction::Ignore]; 114 114 } 115 115 116 116 - (void)download 117 117 { 118 [self _usePolicy:Policy Download];118 [self _usePolicy:PolicyAction::Download]; 119 119 } 120 120 -
trunk/Source/WebKitLegacy/win/ChangeLog
r221746 r222492 1 2017-09-25 Alex Christensen <achristensen@webkit.org> 2 3 Make PolicyAction an encodable enum class 4 https://bugs.webkit.org/show_bug.cgi?id=177480 5 6 Reviewed by Antti Koivisto. 7 8 * WebCoreSupport/WebFrameLoaderClient.cpp: 9 (WebFrameLoaderClient::dispatchDecidePolicyForResponse): 10 (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 11 (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 12 * WebFramePolicyListener.cpp: 13 (WebFramePolicyListener::use): 14 (WebFramePolicyListener::download): 15 (WebFramePolicyListener::ignore): 16 (WebFramePolicyListener::continueSubmit): 17 1 18 2017-09-07 Per Arne Vollan <pvollan@apple.com> 2 19 -
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp
r222456 r222492 528 528 return; 529 529 530 m_policyListenerPrivate->m_policyFunction(Policy Use);530 m_policyListenerPrivate->m_policyFunction(PolicyAction::Use); 531 531 } 532 532 … … 547 547 return; 548 548 549 m_policyListenerPrivate->m_policyFunction(Policy Use);549 m_policyListenerPrivate->m_policyFunction(PolicyAction::Use); 550 550 } 551 551 … … 566 566 return; 567 567 568 m_policyListenerPrivate->m_policyFunction(Policy Use);568 m_policyListenerPrivate->m_policyFunction(PolicyAction::Use); 569 569 } 570 570 -
trunk/Source/WebKitLegacy/win/WebFramePolicyListener.cpp
r216833 r222492 94 94 HRESULT WebFramePolicyListener::use() 95 95 { 96 receivedPolicyDecision(Policy Use);96 receivedPolicyDecision(PolicyAction::Use); 97 97 return S_OK; 98 98 } … … 100 100 HRESULT WebFramePolicyListener::download() 101 101 { 102 receivedPolicyDecision(Policy Download);102 receivedPolicyDecision(PolicyAction::Download); 103 103 return S_OK; 104 104 } … … 106 106 HRESULT WebFramePolicyListener::ignore() 107 107 { 108 receivedPolicyDecision(Policy Ignore);108 receivedPolicyDecision(PolicyAction::Ignore); 109 109 return S_OK; 110 110 } … … 114 114 HRESULT WebFramePolicyListener::continueSubmit() 115 115 { 116 receivedPolicyDecision(Policy Use);116 receivedPolicyDecision(PolicyAction::Use); 117 117 return S_OK; 118 118 }
Note:
See TracChangeset
for help on using the changeset viewer.