Diff
Modified: trunk/Source/WebCore/ChangeLog (222491 => 222492)
--- trunk/Source/WebCore/ChangeLog 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebCore/ChangeLog 2017-09-26 05:52:40 UTC (rev 222492)
@@ -1,3 +1,18 @@
+2017-09-25 Alex Christensen <[email protected]>
+
+ Make PolicyAction an encodable enum class
+ https://bugs.webkit.org/show_bug.cgi?id=177480
+
+ Reviewed by Antti Koivisto.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::responseReceived):
+ (WebCore::DocumentLoader::continueAfterContentPolicy):
+ * loader/FrameLoaderTypes.h:
+ * loader/PolicyChecker.cpp:
+ (WebCore::PolicyChecker::checkNavigationPolicy):
+ (WebCore::PolicyChecker::checkNewWindowPolicy):
+
2017-09-25 Timothy Horton <[email protected]>
Fix the macOS WebCore CMake build
Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (222491 => 222492)
--- trunk/Source/WebCore/loader/DocumentLoader.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -695,7 +695,7 @@
// Always show content with valid substitute data.
if (m_substituteData.isValid()) {
- continueAfterContentPolicy(PolicyUse);
+ continueAfterContentPolicy(PolicyAction::Use);
return;
}
@@ -702,7 +702,7 @@
#if ENABLE(FTPDIR)
// Respect the hidden FTP Directory Listing pref so it can be tested even if the policy delegate might otherwise disallow it
if (m_frame->settings().forceFTPDirectoryListings() && m_response.mimeType() == "application/x-ftp-directory") {
- continueAfterContentPolicy(PolicyUse);
+ continueAfterContentPolicy(PolicyAction::Use);
return;
}
#endif
@@ -747,7 +747,7 @@
return;
switch (policy) {
- case PolicyUse: {
+ case PolicyAction::Use: {
// Prevent remote web archives from loading because they can claim to be from any domain and thus avoid cross-domain security checks (4120255).
if (!frameLoader()->client().canShowMIMEType(m_response.mimeType()) || isRemoteWebArchive(*this)) {
frameLoader()->policyChecker().cannotShowMIMEType(m_response);
@@ -758,7 +758,7 @@
break;
}
- case PolicyDownload: {
+ case PolicyAction::Download: {
// m_mainResource can be null, e.g. when loading a substitute resource from application cache.
if (!m_mainResource) {
mainReceivedError(frameLoader()->client().cannotShowURLError(m_request));
@@ -787,7 +787,7 @@
static_cast<ResourceLoader*>(mainResourceLoader())->didFail(interruptedForPolicyChangeError());
return;
}
- case PolicyIgnore:
+ case PolicyAction::Ignore:
if (ResourceLoader* mainResourceLoader = this->mainResourceLoader())
InspectorInstrumentation::continueWithPolicyIgnore(*m_frame, mainResourceLoader->identifier(), *this, m_response);
stopLoadingForPolicyChange();
Modified: trunk/Source/WebCore/loader/FrameLoaderTypes.h (222491 => 222492)
--- trunk/Source/WebCore/loader/FrameLoaderTypes.h 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebCore/loader/FrameLoaderTypes.h 2017-09-26 05:52:40 UTC (rev 222492)
@@ -38,10 +38,10 @@
FrameStateComplete
};
-enum PolicyAction {
- PolicyUse,
- PolicyDownload,
- PolicyIgnore
+enum class PolicyAction {
+ Use,
+ Download,
+ Ignore
};
enum class ReloadOption {
@@ -147,3 +147,19 @@
};
} // namespace WebCore
+
+namespace WTF {
+
+template<typename> struct EnumTraits;
+template<typename E, E...> struct EnumValues;
+
+template<> struct EnumTraits<WebCore::PolicyAction> {
+ using values = EnumValues<
+ WebCore::PolicyAction,
+ WebCore::PolicyAction::Use,
+ WebCore::PolicyAction::Download,
+ WebCore::PolicyAction::Ignore
+ >;
+};
+
+} // namespace WTF
Modified: trunk/Source/WebCore/loader/PolicyChecker.cpp (222491 => 222492)
--- trunk/Source/WebCore/loader/PolicyChecker.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebCore/loader/PolicyChecker.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -146,13 +146,13 @@
ResourceRequest requestCopy = request;
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 {
switch (policyAction) {
- case PolicyDownload:
+ case PolicyAction::Download:
m_frame.loader().setOriginalURLForDownloadRequest(request);
m_frame.loader().client().startDownload(request, suggestedFilename);
FALLTHROUGH;
- case PolicyIgnore:
+ case PolicyAction::Ignore:
return function({ }, nullptr, false);
- case PolicyUse:
+ case PolicyAction::Use:
if (!m_frame.loader().client().canHandleRequest(request)) {
handleUnimplementablePolicy(m_frame.loader().client().cannotShowURLError(request));
return function({ }, nullptr, false);
@@ -174,13 +174,13 @@
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 {
switch (policyAction) {
- case PolicyDownload:
+ case PolicyAction::Download:
frame->loader().client().startDownload(request);
FALLTHROUGH;
- case PolicyIgnore:
+ case PolicyAction::Ignore:
function({ }, nullptr, { }, { }, false);
return;
- case PolicyUse:
+ case PolicyAction::Use:
function(request, formState.get(), frameName, navigationAction, true);
return;
}
Modified: trunk/Source/WebKit/ChangeLog (222491 => 222492)
--- trunk/Source/WebKit/ChangeLog 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/ChangeLog 2017-09-26 05:52:40 UTC (rev 222492)
@@ -1,3 +1,54 @@
+2017-09-25 Alex Christensen <[email protected]>
+
+ Make PolicyAction an encodable enum class
+ https://bugs.webkit.org/show_bug.cgi?id=177480
+
+ Reviewed by Antti Koivisto.
+
+ * NetworkProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::continueDecidePendingDownloadDestination):
+ (WebKit::DownloadManager::cancelDownload):
+ * NetworkProcess/NetworkCORSPreflightChecker.cpp:
+ (WebKit::NetworkCORSPreflightChecker::didReceiveResponseNetworkSession):
+ * NetworkProcess/NetworkDataTask.cpp:
+ (WebKit::NetworkDataTask::didReceiveResponse):
+ * NetworkProcess/NetworkDataTaskBlob.cpp:
+ (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
+ * NetworkProcess/NetworkLoad.cpp:
+ (WebKit::NetworkLoad::~NetworkLoad):
+ (WebKit::NetworkLoad::continueDidReceiveResponse):
+ (WebKit::NetworkLoad::notifyDidReceiveResponse):
+ * NetworkProcess/PingLoad.cpp:
+ (WebKit::PingLoad::didReceiveResponseNetworkSession):
+ * NetworkProcess/capture/NetworkDataTaskReplay.cpp:
+ (WebKit::NetworkCapture::NetworkDataTaskReplay::didReceiveResponse):
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (toNSURLSessionResponseDisposition):
+ * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
+ (WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
+ * Scripts/webkit/messages.py:
+ (headers_for_type):
+ * UIProcess/WebFormSubmissionListenerProxy.h:
+ * UIProcess/WebFrameListenerProxy.h:
+ (WebKit::WebFrameListenerProxy::navigation): Deleted.
+ * UIProcess/WebFramePolicyListenerProxy.cpp:
+ (WebKit::WebFramePolicyListenerProxy::use):
+ (WebKit::WebFramePolicyListenerProxy::download):
+ (WebKit::WebFramePolicyListenerProxy::ignore):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::invalidatePolicyListener):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceivePolicyDecision):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
2017-09-25 Yoshiaki Jitsukawa <[email protected]>
[WinCairo] Share default value of font family preferences among non-cocoa builds
Modified: trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -144,7 +144,7 @@
ASSERT(m_pendingDownloads.contains(downloadID));
networkDataTask->setPendingDownloadLocation(destination, sandboxExtensionHandle, allowOverwrite);
- completionHandler(PolicyDownload);
+ completionHandler(PolicyAction::Download);
if (networkDataTask->state() == NetworkDataTask::State::Canceling || networkDataTask->state() == NetworkDataTask::State::Completed)
return;
@@ -196,7 +196,7 @@
ASSERT(completionHandler);
networkDataTask->cancel();
- completionHandler(PolicyIgnore);
+ completionHandler(PolicyAction::Ignore);
m_client.pendingDownloadCanceled(downloadID);
return;
}
Modified: trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -89,7 +89,7 @@
{
RELEASE_LOG_IF_ALLOWED("didReceiveResponseNetworkSession");
m_response = WTFMove(response);
- completionHandler(PolicyAction::PolicyUse);
+ completionHandler(PolicyAction::Use);
}
void NetworkCORSPreflightChecker::didReceiveData(Ref<WebCore::SharedBuffer>&&)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTask.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/NetworkDataTask.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTask.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -103,7 +103,7 @@
auto url = ""
std::optional<uint16_t> port = url.port();
if (port && !isDefaultPortForProtocol(port.value(), url.protocol())) {
- completionHandler(PolicyIgnore);
+ completionHandler(PolicyAction::Ignore);
cancel();
m_client->didCompleteWithError({ String(), 0, url, "Cancelled load from '" + url.stringCenterEllipsizedToLength() + "' because it is using HTTP/0.9." });
return;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -315,13 +315,13 @@
}
switch (policyAction) {
- case PolicyAction::PolicyUse:
+ case PolicyAction::Use:
m_buffer.resize(bufferSize);
read();
break;
- case PolicyAction::PolicyIgnore:
+ case PolicyAction::Ignore:
break;
- case PolicyAction::PolicyDownload:
+ case PolicyAction::Download:
download();
break;
}
Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -134,7 +134,7 @@
ASSERT(RunLoop::isMain());
#if USE(NETWORK_SESSION)
if (m_responseCompletionHandler)
- m_responseCompletionHandler(PolicyIgnore);
+ m_responseCompletionHandler(PolicyAction::Ignore);
if (m_redirectCompletionHandler)
m_redirectCompletionHandler({ });
#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
@@ -228,7 +228,7 @@
#if USE(NETWORK_SESSION)
if (m_responseCompletionHandler) {
auto responseCompletionHandler = std::exchange(m_responseCompletionHandler, nullptr);
- responseCompletionHandler(PolicyUse);
+ responseCompletionHandler(PolicyAction::Use);
}
#else
if (m_handle)
@@ -403,7 +403,7 @@
m_responseCompletionHandler = WTFMove(completionHandler);
return;
}
- completionHandler(PolicyUse);
+ completionHandler(PolicyAction::Use);
}
void NetworkLoad::didReceiveData(Ref<SharedBuffer>&& buffer)
Modified: trunk/Source/WebKit/NetworkProcess/PingLoad.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/PingLoad.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/PingLoad.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -175,7 +175,7 @@
void PingLoad::didReceiveResponseNetworkSession(ResourceResponse&& response, ResponseCompletionHandler&& completionHandler)
{
RELEASE_LOG_IF_ALLOWED("didReceiveResponseNetworkSession - httpStatusCode: %d", response.httpStatusCode());
- completionHandler(PolicyAction::PolicyIgnore);
+ completionHandler(PolicyAction::Ignore);
didFinish();
}
Modified: trunk/Source/WebKit/NetworkProcess/capture/NetworkDataTaskReplay.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/capture/NetworkDataTaskReplay.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/capture/NetworkDataTaskReplay.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -249,13 +249,13 @@
}
switch (policyAction) {
- case WebCore::PolicyAction::PolicyUse:
+ case WebCore::PolicyAction::Use:
enqueueEventHandler();
break;
- case WebCore::PolicyAction::PolicyIgnore:
+ case WebCore::PolicyAction::Ignore:
complete();
break;
- case WebCore::PolicyAction::PolicyDownload:
+ case WebCore::PolicyAction::Download:
DEBUG_LOG_ERROR("WebCore::PolicyAction::PolicyDownload");
break;
}
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2017-09-26 05:52:40 UTC (rev 222492)
@@ -57,11 +57,11 @@
static NSURLSessionResponseDisposition toNSURLSessionResponseDisposition(WebCore::PolicyAction disposition)
{
switch (disposition) {
- case WebCore::PolicyAction::PolicyIgnore:
+ case WebCore::PolicyAction::Ignore:
return NSURLSessionResponseCancel;
- case WebCore::PolicyAction::PolicyUse:
+ case WebCore::PolicyAction::Use:
return NSURLSessionResponseAllow;
- case WebCore::PolicyAction::PolicyDownload:
+ case WebCore::PolicyAction::Download:
return NSURLSessionResponseBecomeDownload;
}
}
Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp (222491 => 222492)
--- trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -377,7 +377,7 @@
}
switch (policyAction) {
- case PolicyAction::PolicyUse:
+ case PolicyAction::Use:
if (m_inputStream)
read();
else if (m_multipartInputStream)
@@ -386,10 +386,10 @@
ASSERT_NOT_REACHED();
break;
- case PolicyAction::PolicyIgnore:
+ case PolicyAction::Ignore:
clearRequest();
break;
- case PolicyAction::PolicyDownload:
+ case PolicyAction::Download:
download();
break;
}
Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (222491 => 222492)
--- trunk/Source/WebKit/Scripts/webkit/messages.py 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py 2017-09-26 05:52:40 UTC (rev 222492)
@@ -387,6 +387,7 @@
'WebKit::WebMouseEvent': ['"WebEvent.h"'],
'WebKit::WebTouchEvent': ['"WebEvent.h"'],
'WebKit::WebWheelEvent': ['"WebEvent.h"'],
+ 'WebCore::PolicyAction': ['<WebCore/FrameLoaderTypes.h>'],
'struct WebKit::WebUserScriptData': ['"WebUserContentControllerDataTypes.h"'],
'struct WebKit::WebUserStyleSheetData': ['"WebUserContentControllerDataTypes.h"'],
'struct WebKit::WebScriptMessageHandlerData': ['"WebUserContentControllerDataTypes.h"'],
Modified: trunk/Source/WebKit/UIProcess/WebFormSubmissionListenerProxy.h (222491 => 222492)
--- trunk/Source/WebKit/UIProcess/WebFormSubmissionListenerProxy.h 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/UIProcess/WebFormSubmissionListenerProxy.h 2017-09-26 05:52:40 UTC (rev 222492)
@@ -29,8 +29,6 @@
namespace WebKit {
-class WebFrameProxy;
-
class WebFormSubmissionListenerProxy : public API::ObjectImpl<API::Object::Type::FormSubmissionListener> {
public:
static Ref<WebFormSubmissionListenerProxy> create(WTF::Function<void(void)>&& completionHandler)
Modified: trunk/Source/WebKit/UIProcess/WebFrameListenerProxy.h (222491 => 222492)
--- trunk/Source/WebKit/UIProcess/WebFrameListenerProxy.h 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/UIProcess/WebFrameListenerProxy.h 2017-09-26 05:52:40 UTC (rev 222492)
@@ -43,7 +43,6 @@
void invalidate();
uint64_t listenerID() const { return m_listenerID; }
- API::Navigation* navigation() { return m_navigation.get(); }
void setNavigation(Ref<API::Navigation>&& navigation) { m_navigation = WTFMove(navigation); }
protected:
Modified: trunk/Source/WebKit/UIProcess/WebFramePolicyListenerProxy.cpp (222491 => 222492)
--- trunk/Source/WebKit/UIProcess/WebFramePolicyListenerProxy.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/UIProcess/WebFramePolicyListenerProxy.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -38,17 +38,17 @@
void WebFramePolicyListenerProxy::use(const WebsitePolicies& websitePolicies)
{
- receivedPolicyDecision(WebCore::PolicyUse, websitePolicies);
+ receivedPolicyDecision(WebCore::PolicyAction::Use, websitePolicies);
}
void WebFramePolicyListenerProxy::download()
{
- receivedPolicyDecision(WebCore::PolicyDownload, { });
+ receivedPolicyDecision(WebCore::PolicyAction::Download, { });
}
void WebFramePolicyListenerProxy::ignore()
{
- receivedPolicyDecision(WebCore::PolicyIgnore, { });
+ receivedPolicyDecision(WebCore::PolicyAction::Ignore, { });
}
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (222491 => 222492)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -2264,16 +2264,16 @@
auto transaction = m_pageLoadState.transaction();
- if (action == PolicyIgnore)
+ if (action == PolicyAction::Ignore)
m_pageLoadState.clearPendingAPIRequestURL(transaction);
#if ENABLE(DOWNLOAD_ATTRIBUTE)
- if (m_syncNavigationActionHasDownloadAttribute && action == PolicyUse)
- action = ""
+ if (m_syncNavigationActionHasDownloadAttribute && action == PolicyAction::Use)
+ action = ""
#endif
DownloadID downloadID = { };
- if (action == PolicyDownload) {
+ if (action == PolicyAction::Download) {
// Create a download proxy.
auto* download = m_process->processPool().createDownloadProxy(m_decidePolicyForResponseRequest, this);
if (navigation) {
@@ -3686,7 +3686,7 @@
#if ENABLE(CONTENT_FILTERING)
if (frame->didHandleContentFilterUnblockNavigation(request)) {
- reply->send(m_newNavigationID, PolicyIgnore, { }, { });
+ reply->send(m_newNavigationID, PolicyAction::Ignore, { }, { });
m_newNavigationID = 0;
return;
}
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (222491 => 222492)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2017-09-26 05:52:40 UTC (rev 222492)
@@ -98,8 +98,8 @@
#endif
# Policy messages
- 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_t policyAction, WebKit::DownloadID downloadID) Delayed
- 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_t policyAction, WebKit::DownloadID downloadID, struct WebKit::WebsitePolicies websitePolicies) Delayed
+ 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
+ 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
DecidePolicyForNewWindowAction(uint64_t frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, struct WebKit::NavigationActionData navigationActionData, WebCore::ResourceRequest request, String frameName, uint64_t listenerID, WebKit::UserData userData)
UnableToImplementPolicy(uint64_t frameID, WebCore::ResourceError error, WebKit::UserData userData)
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (222491 => 222492)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -679,12 +679,12 @@
{
WebPage* webPage = m_frame->page();
if (!webPage) {
- function(PolicyIgnore);
+ function(PolicyAction::Ignore);
return;
}
if (!request.url().string()) {
- function(PolicyUse);
+ function(PolicyAction::Use);
return;
}
@@ -693,7 +693,7 @@
// Notify the bundle client.
WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForResponse(webPage, m_frame, response, request, userData);
if (policy == WKBundlePagePolicyActionUse) {
- function(PolicyUse);
+ function(PolicyAction::Use);
return;
}
@@ -700,7 +700,7 @@
bool canShowMIMEType = webPage->canShowMIMEType(response.mimeType());
uint64_t listenerID = m_frame->setUpPolicyListener(WTFMove(function));
- uint64_t policyAction;
+ PolicyAction policyAction;
DownloadID downloadID;
Ref<WebFrame> protect(*m_frame);
@@ -707,12 +707,12 @@
WebCore::Frame* coreFrame = m_frame->coreFrame();
auto navigationID = static_cast<WebDocumentLoader&>(*coreFrame->loader().provisionalDocumentLoader()).navigationID();
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)) {
- m_frame->didReceivePolicyDecision(listenerID, PolicyIgnore, 0, { });
+ m_frame->didReceivePolicyDecision(listenerID, PolicyAction::Ignore, 0, { });
return;
}
// We call this synchronously because CFNetwork can only convert a loading connection to a download from its didReceiveResponse callback.
- m_frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), 0, downloadID);
+ m_frame->didReceivePolicyDecision(listenerID, policyAction, 0, downloadID);
}
void WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction(const NavigationAction& navigationAction, const ResourceRequest& request, FormState* formState, const String& frameName, FramePolicyFunction&& function)
@@ -719,7 +719,7 @@
{
WebPage* webPage = m_frame->page();
if (!webPage) {
- function(PolicyIgnore);
+ function(PolicyAction::Ignore);
return;
}
@@ -730,7 +730,7 @@
// Notify the bundle client.
WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForNewWindowAction(webPage, m_frame, action.get(), request, frameName, userData);
if (policy == WKBundlePagePolicyActionUse) {
- function(PolicyUse);
+ function(PolicyAction::Use);
return;
}
@@ -755,13 +755,13 @@
{
WebPage* webPage = m_frame->page();
if (!webPage) {
- function(PolicyIgnore);
+ function(PolicyAction::Ignore);
return;
}
// Always ignore requests with empty URLs.
if (request.isEmpty()) {
- function(PolicyIgnore);
+ function(PolicyAction::Ignore);
return;
}
@@ -772,13 +772,13 @@
// Notify the bundle client.
WKBundlePagePolicyAction policy = webPage->injectedBundlePolicyClient().decidePolicyForNavigationAction(webPage, m_frame, action.get(), request, userData);
if (policy == WKBundlePagePolicyActionUse) {
- function(PolicyUse);
+ function(PolicyAction::Use);
return;
}
uint64_t listenerID = m_frame->setUpPolicyListener(WTFMove(function));
uint64_t newNavigationID;
- uint64_t policyAction;
+ PolicyAction policyAction;
DownloadID downloadID;
ASSERT(navigationAction.sourceDocument());
@@ -818,7 +818,7 @@
Ref<WebFrame> protect(*m_frame);
WebsitePolicies websitePolicies;
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))) {
- m_frame->didReceivePolicyDecision(listenerID, PolicyIgnore, 0, { });
+ m_frame->didReceivePolicyDecision(listenerID, PolicyAction::Ignore, 0, { });
return;
}
@@ -855,7 +855,7 @@
}
// We call this synchronously because WebCore cannot gracefully handle a frame load without a synchronous navigation policy reply.
- m_frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), newNavigationID, downloadID);
+ m_frame->didReceivePolicyDecision(listenerID, policyAction, newNavigationID, downloadID);
}
void WebFrameLoaderClient::cancelPolicyCheck()
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp (222491 => 222492)
--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -241,7 +241,7 @@
m_policyDownloadID = { };
m_policyListenerID = 0;
if (auto function = std::exchange(m_policyFunction, nullptr))
- function(PolicyIgnore);
+ function(PolicyAction::Ignore);
}
void WebFrame::didReceivePolicyDecision(uint64_t listenerID, PolicyAction action, uint64_t navigationID, DownloadID downloadID)
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (222491 => 222492)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -2733,12 +2733,12 @@
m_page->setSessionID(sessionID);
}
-void WebPage::didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction, uint64_t navigationID, const DownloadID& downloadID)
+void WebPage::didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, PolicyAction policyAction, uint64_t navigationID, const DownloadID& downloadID)
{
WebFrame* frame = WebProcess::singleton().webFrame(frameID);
if (!frame)
return;
- frame->didReceivePolicyDecision(listenerID, static_cast<PolicyAction>(policyAction), navigationID, downloadID);
+ frame->didReceivePolicyDecision(listenerID, policyAction, navigationID, downloadID);
}
void WebPage::continueWillSubmitForm(uint64_t frameID, uint64_t listenerID)
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (222491 => 222492)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2017-09-26 05:52:40 UTC (rev 222492)
@@ -1138,7 +1138,7 @@
void platformPreferencesDidChange(const WebPreferencesStore&);
void updatePreferences(const WebPreferencesStore&);
- void didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction, uint64_t navigationID, const DownloadID&);
+ void didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, WebCore::PolicyAction, uint64_t navigationID, const DownloadID&);
void continueWillSubmitForm(uint64_t frameID, uint64_t listenerID);
void setUserAgent(const String&);
void setCustomTextEncodingName(const String&);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (222491 => 222492)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2017-09-26 05:52:40 UTC (rev 222492)
@@ -151,7 +151,7 @@
DidRemoveBackForwardItem(uint64_t backForwardItemID)
UpdateWebsitePolicies(struct WebKit::WebsitePolicies websitePolicies)
- DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction, uint64_t navigationID, WebKit::DownloadID downloadID)
+ DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, enum WebCore::PolicyAction policyAction, uint64_t navigationID, WebKit::DownloadID downloadID)
ContinueWillSubmitForm(uint64_t frameID, uint64_t listenerID)
ClearSelection()
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (222491 => 222492)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2017-09-26 05:52:40 UTC (rev 222492)
@@ -1,3 +1,24 @@
+2017-09-25 Alex Christensen <[email protected]>
+
+ Make PolicyAction an encodable enum class
+ https://bugs.webkit.org/show_bug.cgi?id=177480
+
+ Reviewed by Antti Koivisto.
+
+ * Plugins/WebPluginContainerCheck.mm:
+ (-[WebPluginContainerCheck _continueWithPolicy:]):
+ (-[WebPluginContainerCheck _isForbiddenFileLoad]):
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (-[WebFramePolicyListener invalidate]):
+ (-[WebFramePolicyListener ignore]):
+ (-[WebFramePolicyListener download]):
+ (-[WebFramePolicyListener use]):
+ (-[WebFramePolicyListener continue]):
+ * WebView/WebPolicyDelegate.mm:
+ (-[WebPolicyDecisionListener use]):
+ (-[WebPolicyDecisionListener ignore]):
+ (-[WebPolicyDecisionListener download]):
+
2017-09-25 Frederik Riedel <[email protected]>
Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
Modified: trunk/Source/WebKitLegacy/mac/Plugins/WebPluginContainerCheck.mm (222491 => 222492)
--- trunk/Source/WebKitLegacy/mac/Plugins/WebPluginContainerCheck.mm 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKitLegacy/mac/Plugins/WebPluginContainerCheck.mm 2017-09-26 05:52:40 UTC (rev 222492)
@@ -87,9 +87,9 @@
- (void)_continueWithPolicy:(PolicyAction)policy
{
if (_contextInfo)
- wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyUse), _contextInfo);
+ wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyAction::Use), _contextInfo);
else
- wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyUse));
+ wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyAction::Use));
// this will call indirectly call cancel
[_controller _webPluginContainerCancelCheckIfAllowedToLoadRequest:self];
@@ -100,7 +100,7 @@
Frame* coreFrame = core([_controller webFrame]);
ASSERT(coreFrame);
if (!coreFrame->document()->securityOrigin().canDisplay([_request URL])) {
- [self _continueWithPolicy:PolicyIgnore];
+ [self _continueWithPolicy:PolicyAction::Ignore];
return YES;
}
Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (222491 => 222492)
--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm 2017-09-26 05:52:40 UTC (rev 222492)
@@ -2410,7 +2410,7 @@
{
_frame = nullptr;
if (auto policyFunction = std::exchange(_policyFunction, nullptr))
- policyFunction(PolicyIgnore);
+ policyFunction(PolicyAction::Ignore);
}
- (void)dealloc
@@ -2433,12 +2433,12 @@
- (void)ignore
{
- [self receivedPolicyDecision:PolicyIgnore];
+ [self receivedPolicyDecision:PolicyAction::Ignore];
}
- (void)download
{
- [self receivedPolicyDecision:PolicyDownload];
+ [self receivedPolicyDecision:PolicyAction::Download];
}
- (void)use
@@ -2448,9 +2448,9 @@
[LSAppLink openWithURL:_appLinkURL.get() completionHandler:^(BOOL success, NSError *) {
WebThreadRun(^{
if (success)
- [self receivedPolicyDecision:PolicyIgnore];
+ [self receivedPolicyDecision:PolicyAction::Ignore];
else
- [self receivedPolicyDecision:PolicyUse];
+ [self receivedPolicyDecision:PolicyAction::Use];
});
}];
return;
@@ -2457,12 +2457,12 @@
}
#endif
- [self receivedPolicyDecision:PolicyUse];
+ [self receivedPolicyDecision:PolicyAction::Use];
}
- (void)continue
{
- [self receivedPolicyDecision:PolicyUse];
+ [self receivedPolicyDecision:PolicyAction::Use];
}
@end
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPolicyDelegate.mm (222491 => 222492)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPolicyDelegate.mm 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPolicyDelegate.mm 2017-09-26 05:52:40 UTC (rev 222492)
@@ -105,17 +105,17 @@
- (void)use
{
- [self _usePolicy:PolicyUse];
+ [self _usePolicy:PolicyAction::Use];
}
- (void)ignore
{
- [self _usePolicy:PolicyIgnore];
+ [self _usePolicy:PolicyAction::Ignore];
}
- (void)download
{
- [self _usePolicy:PolicyDownload];
+ [self _usePolicy:PolicyAction::Download];
}
@end
Modified: trunk/Source/WebKitLegacy/win/ChangeLog (222491 => 222492)
--- trunk/Source/WebKitLegacy/win/ChangeLog 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKitLegacy/win/ChangeLog 2017-09-26 05:52:40 UTC (rev 222492)
@@ -1,3 +1,20 @@
+2017-09-25 Alex Christensen <[email protected]>
+
+ Make PolicyAction an encodable enum class
+ https://bugs.webkit.org/show_bug.cgi?id=177480
+
+ Reviewed by Antti Koivisto.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::dispatchDecidePolicyForResponse):
+ (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ * WebFramePolicyListener.cpp:
+ (WebFramePolicyListener::use):
+ (WebFramePolicyListener::download):
+ (WebFramePolicyListener::ignore):
+ (WebFramePolicyListener::continueSubmit):
+
2017-09-07 Per Arne Vollan <[email protected]>
[Win] fast/canvas/2d.getPath.modification.html is failing.
Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp (222491 => 222492)
--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -527,7 +527,7 @@
if (SUCCEEDED(policyDelegate->decidePolicyForMIMEType(webView, BString(response.mimeType()), urlRequest.get(), m_webFrame, setUpPolicyListener(WTFMove(function)).get())))
return;
- m_policyListenerPrivate->m_policyFunction(PolicyUse);
+ m_policyListenerPrivate->m_policyFunction(PolicyAction::Use);
}
void WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction(const NavigationAction& action, const ResourceRequest& request, FormState* formState, const String& frameName, FramePolicyFunction&& function)
@@ -546,7 +546,7 @@
if (SUCCEEDED(policyDelegate->decidePolicyForNewWindowAction(webView, actionInformation.get(), urlRequest.get(), BString(frameName), setUpPolicyListener(WTFMove(function)).get())))
return;
- m_policyListenerPrivate->m_policyFunction(PolicyUse);
+ m_policyListenerPrivate->m_policyFunction(PolicyAction::Use);
}
void WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(const NavigationAction& action, const ResourceRequest& request, bool, FormState* formState, FramePolicyFunction&& function)
@@ -565,7 +565,7 @@
if (SUCCEEDED(policyDelegate->decidePolicyForNavigationAction(webView, actionInformation.get(), urlRequest.get(), m_webFrame, setUpPolicyListener(WTFMove(function)).get())))
return;
- m_policyListenerPrivate->m_policyFunction(PolicyUse);
+ m_policyListenerPrivate->m_policyFunction(PolicyAction::Use);
}
void WebFrameLoaderClient::dispatchUnableToImplementPolicy(const ResourceError& error)
Modified: trunk/Source/WebKitLegacy/win/WebFramePolicyListener.cpp (222491 => 222492)
--- trunk/Source/WebKitLegacy/win/WebFramePolicyListener.cpp 2017-09-26 05:26:34 UTC (rev 222491)
+++ trunk/Source/WebKitLegacy/win/WebFramePolicyListener.cpp 2017-09-26 05:52:40 UTC (rev 222492)
@@ -93,19 +93,19 @@
HRESULT WebFramePolicyListener::use()
{
- receivedPolicyDecision(PolicyUse);
+ receivedPolicyDecision(PolicyAction::Use);
return S_OK;
}
HRESULT WebFramePolicyListener::download()
{
- receivedPolicyDecision(PolicyDownload);
+ receivedPolicyDecision(PolicyAction::Download);
return S_OK;
}
HRESULT WebFramePolicyListener::ignore()
{
- receivedPolicyDecision(PolicyIgnore);
+ receivedPolicyDecision(PolicyAction::Ignore);
return S_OK;
}
@@ -113,7 +113,7 @@
HRESULT WebFramePolicyListener::continueSubmit()
{
- receivedPolicyDecision(PolicyUse);
+ receivedPolicyDecision(PolicyAction::Use);
return S_OK;
}