Diff
Modified: trunk/Source/WTF/ChangeLog (273915 => 273916)
--- trunk/Source/WTF/ChangeLog 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WTF/ChangeLog 2021-03-04 21:43:33 UTC (rev 273916)
@@ -1,3 +1,15 @@
+2021-03-04 Alex Christensen <achristen...@webkit.org>
+
+ Remove the HTTPSUpgradeEnabled experimental feature
+ https://bugs.webkit.org/show_bug.cgi?id=222706
+
+ Reviewed by Simon Fraser.
+
+ It was a good experimental implementation, but the feature is now implemented in makeSecureIfNecessary
+ and turned on and off by WKWebViewConfiguration.upgradeKnownHostsToHTTPS.
+
+ * Scripts/Preferences/WebPreferencesExperimental.yaml:
+
2021-03-04 Chris Dumez <cdu...@apple.com>
[macOS][WK2] Changing the system language does not update navigator.language
Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (273915 => 273916)
--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-03-04 21:43:33 UTC (rev 273916)
@@ -380,19 +380,6 @@
WebKit:
default: false
-# FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
-HTTPSUpgradeEnabled:
- type: bool
- humanReadableName: "Automatic HTTPS upgrade"
- humanReadableDescription: "Automatic HTTPS upgrade for known supported sites"
- defaultValue:
- WebKitLegacy:
- default: false
- WebKit:
- default: false
- WebCore:
- default: false
-
HighlightAPIEnabled:
type: bool
humanReadableName: "Highlight API"
Modified: trunk/Source/WebKit/ChangeLog (273915 => 273916)
--- trunk/Source/WebKit/ChangeLog 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/ChangeLog 2021-03-04 21:43:33 UTC (rev 273916)
@@ -1,3 +1,30 @@
+2021-03-04 Alex Christensen <achristen...@webkit.org>
+
+ Remove the HTTPSUpgradeEnabled experimental feature
+ https://bugs.webkit.org/show_bug.cgi?id=222706
+
+ Reviewed by Simon Fraser.
+
+ * NetworkProcess/NetworkHTTPSUpgradeChecker.cpp: Removed.
+ * NetworkProcess/NetworkHTTPSUpgradeChecker.h: Removed.
+ * NetworkProcess/NetworkLoadChecker.cpp:
+ (WebKit::NetworkLoadChecker::NetworkLoadChecker):
+ (WebKit::NetworkLoadChecker::checkRequest):
+ (WebKit::NetworkLoadChecker::applyHTTPSUpgradeIfNeeded const): Deleted.
+ * NetworkProcess/NetworkLoadChecker.h:
+ * NetworkProcess/NetworkProcess.h:
+ * NetworkProcess/NetworkResourceLoadParameters.cpp:
+ (WebKit::NetworkResourceLoadParameters::encode const):
+ (WebKit::NetworkResourceLoadParameters::decode):
+ * NetworkProcess/NetworkResourceLoadParameters.h:
+ * NetworkProcess/NetworkResourceLoader.cpp:
+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+ (WebKit::NetworkProcess::networkHTTPSUpgradeChecker): Deleted.
+ * Sources.txt:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/Network/WebLoaderStrategy.cpp:
+ (WebKit::addParametersShared):
+
2021-03-04 Wenson Hsieh <wenson_hs...@apple.com>
[iOS] Add support for a new image-extraction-related responder action
Deleted: trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp 2021-03-04 21:43:33 UTC (rev 273916)
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2018 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "NetworkHTTPSUpgradeChecker.h"
-
-#include "Logging.h"
-#include <WebCore/SQLiteDatabase.h>
-#include <WebCore/SQLiteStatement.h>
-#include <pal/SessionID.h>
-#include <wtf/CompletionHandler.h>
-#include <wtf/NeverDestroyed.h>
-#include <wtf/RunLoop.h>
-
-#undef RELEASE_LOG_IF_ALLOWED
-#undef RELEASE_LOG_ERROR_IF_ALLOWED
-#define RELEASE_LOG_IF_ALLOWED(sessionID, fmt, ...) RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), Network, "%p - NetworkHTTPSUpgradeChecker::" fmt, this, ##__VA_ARGS__)
-#define RELEASE_LOG_ERROR_IF_ALLOWED(sessionID, fmt, ...) RELEASE_LOG_ERROR_IF(sessionID.isAlwaysOnLoggingAllowed(), Network, "%p - NetworkHTTPSUpgradeChecker::" fmt, this, ##__VA_ARGS__)
-
-namespace WebKit {
-
-constexpr auto httpsUpgradeCheckerQuery = "SELECT host FROM hosts WHERE host = ?"_s;
-
-static const String& networkHTTPSUpgradeCheckerDatabasePath()
-{
- static NeverDestroyed<String> networkHTTPSUpgradeCheckerDatabasePath;
-#if PLATFORM(COCOA)
- if (networkHTTPSUpgradeCheckerDatabasePath.get().isNull()) {
- CFBundleRef webKitBundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit"));
- auto resourceURL = adoptCF(CFBundleCopyResourceURL(webKitBundle, CFSTR("HTTPSUpgradeList"), CFSTR("db"), nullptr));
- if (resourceURL)
- networkHTTPSUpgradeCheckerDatabasePath.get() = CFURLGetString(resourceURL.get());
- }
-#endif // PLATFORM(COCOA)
- return networkHTTPSUpgradeCheckerDatabasePath;
-}
-
-NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker()
- : m_workQueue(WorkQueue::create("HTTPS Upgrade Checker Thread"))
-{
- ASSERT(RunLoop::isMain());
-
- m_workQueue->dispatch([this] {
- auto path = networkHTTPSUpgradeCheckerDatabasePath();
- if (path.isEmpty()) {
- RELEASE_LOG_ERROR(Network, "%p - NetworkHTTPSUpgradeChecker failed to initialize because the database path is empty", this);
- return;
- }
-
- m_database = makeUnique<WebCore::SQLiteDatabase>();
- bool isDatabaseOpen = m_database->open(path, WebCore::SQLiteDatabase::OpenMode::ReadOnly);
- if (!isDatabaseOpen) {
-#if PLATFORM(COCOA)
- RELEASE_LOG_ERROR(Network, "%p - NetworkHTTPSUpgradeChecker::open failed, error message: %{public}s, database path: %{public}s", this, m_database->lastErrorMsg(), path.utf8().data());
-#endif
- ASSERT_NOT_REACHED();
- return;
- }
-
- // Since we are using a workerQueue, the sequential dispatch blocks may be called by different threads.
- m_database->disableThreadingChecks();
-
- m_statement = makeUnique<WebCore::SQLiteStatement>(*m_database, httpsUpgradeCheckerQuery);
- int isStatementPrepared = (m_statement->prepare() == SQLITE_OK);
- ASSERT(isStatementPrepared);
- if (!isStatementPrepared)
- return;
-
- m_didSetupCompleteSuccessfully = true;
- });
-}
-
-NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker()
-{
- if (m_database)
- m_workQueue->dispatch([database = WTFMove(m_database), statement = WTFMove(m_statement)] { });
-}
-
-void NetworkHTTPSUpgradeChecker::query(String&& host, PAL::SessionID sessionID, CompletionHandler<void(bool)>&& callback)
-{
- ASSERT(RunLoop::isMain());
-
- m_workQueue->dispatch([this, host = host.isolatedCopy(), sessionID, callback = WTFMove(callback)] () mutable {
- ASSERT(m_didSetupCompleteSuccessfully);
-
- int bindTextResult = m_statement->bindText(1, WTFMove(host));
- ASSERT_UNUSED(bindTextResult, bindTextResult == SQLITE_OK);
-
- int stepResult = m_statement->step();
- if (stepResult != SQLITE_ROW && stepResult != SQLITE_DONE) {
-#if PLATFORM(COCOA)
- RELEASE_LOG_ERROR_IF_ALLOWED(sessionID, "step failed with error code %d, error message: %{public}s, database path: %{public}s", stepResult, m_database->lastErrorMsg(), networkHTTPSUpgradeCheckerDatabasePath().utf8().data());
-#else
- UNUSED_VARIABLE(sessionID);
-#endif
- ASSERT_NOT_REACHED();
- RunLoop::main().dispatch([callback = WTFMove(callback)] () mutable {
- callback(false);
- });
- return;
- }
-
- int resetResult = m_statement->reset();
- ASSERT_UNUSED(resetResult, resetResult == SQLITE_OK);
-
- bool foundHost = (stepResult == SQLITE_ROW);
- RELEASE_LOG_IF_ALLOWED(sessionID, "query - Ran successfully. Result = %s", (foundHost ? "true" : "false"));
- RunLoop::main().dispatch([foundHost, callback = WTFMove(callback)] () mutable {
- callback(foundHost);
- });
- });
-}
-
-} // namespace WebKit
-
Deleted: trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h 2021-03-04 21:43:33 UTC (rev 273916)
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2018 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include <atomic>
-#include <wtf/Forward.h>
-#include <wtf/UniqueRef.h>
-#include <wtf/WorkQueue.h>
-
-namespace WebCore {
-class SQLiteDatabase;
-class SQLiteStatement;
-}
-
-namespace PAL {
-class SessionID;
-}
-
-namespace WebKit {
-
-class NetworkHTTPSUpgradeChecker {
- WTF_MAKE_FAST_ALLOCATED;
-public:
- NetworkHTTPSUpgradeChecker();
- ~NetworkHTTPSUpgradeChecker();
-
- // Returns `true` after internal setup is successfully completed. If there is an error with setup, or if setup is in-progress, it will return `false`.
- bool didSetupCompleteSuccessfully() const { return m_didSetupCompleteSuccessfully; };
-
- // Queries database after setup is complete.
- void query(String&&, PAL::SessionID, CompletionHandler<void(bool)>&&);
-
-private:
- Ref<WorkQueue> m_workQueue;
- std::unique_ptr<WebCore::SQLiteDatabase> m_database;
- std::unique_ptr<WebCore::SQLiteStatement> m_statement;
- std::atomic<bool> m_didSetupCompleteSuccessfully { false };
-};
-
-} // namespace WebKit
-
Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp 2021-03-04 21:43:33 UTC (rev 273916)
@@ -39,6 +39,7 @@
#include <WebCore/LegacySchemeRegistry.h>
#include <wtf/Scope.h>
+#undef RELEASE_LOG_IF_ALLOWED
#define RELEASE_LOG_IF_ALLOWED(fmt, ...) RELEASE_LOG_IF(m_sessionID.isAlwaysOnLoggingAllowed(), Network, "%p - NetworkLoadChecker::" fmt, this, ##__VA_ARGS__)
namespace WebKit {
@@ -50,7 +51,7 @@
return url.protocolIsData() || url.protocolIsBlob() || !origin || origin->canRequest(url);
}
-NetworkLoadChecker::NetworkLoadChecker(NetworkProcess& networkProcess, NetworkResourceLoader* networkResourceLoader, NetworkSchemeRegistry* schemeRegistry, FetchOptions&& options, PAL::SessionID sessionID, WebPageProxyIdentifier webPageProxyID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, DocumentURL&& documentURL, RefPtr<SecurityOrigin>&& sourceOrigin, RefPtr<SecurityOrigin>&& topOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType)
+NetworkLoadChecker::NetworkLoadChecker(NetworkProcess& networkProcess, NetworkResourceLoader* networkResourceLoader, NetworkSchemeRegistry* schemeRegistry, FetchOptions&& options, PAL::SessionID sessionID, WebPageProxyIdentifier webPageProxyID, HTTPHeaderMap&& originalRequestHeaders, URL&& url, DocumentURL&& documentURL, RefPtr<SecurityOrigin>&& sourceOrigin, RefPtr<SecurityOrigin>&& topOrigin, PreflightPolicy preflightPolicy, String&& referrer, bool shouldCaptureExtraNetworkLoadMetrics, LoadType requestLoadType)
: m_options(WTFMove(options))
, m_sessionID(sessionID)
, m_networkProcess(networkProcess)
@@ -63,17 +64,10 @@
, m_preflightPolicy(preflightPolicy)
, m_referrer(WTFMove(referrer))
, m_shouldCaptureExtraNetworkLoadMetrics(shouldCaptureExtraNetworkLoadMetrics)
-#if PLATFORM(COCOA)
- , m_isHTTPSUpgradeEnabled(isHTTPSUpgradeEnabled)
-#endif
, m_requestLoadType(requestLoadType)
, m_schemeRegistry(schemeRegistry)
, m_networkResourceLoader(makeWeakPtr(networkResourceLoader))
{
-#if !PLATFORM(COCOA)
- UNUSED_PARAM(isHTTPSUpgradeEnabled);
-#endif
-
m_isSameOriginRequest = isSameOrigin(m_url, m_origin.get());
switch (options.credentials) {
case FetchOptions::Credentials::Include:
@@ -209,83 +203,39 @@
return ResourceError { String { }, 0, m_url, WTFMove(message), ResourceError::Type::AccessControl };
}
-void NetworkLoadChecker::applyHTTPSUpgradeIfNeeded(ResourceRequest&& request, CompletionHandler<void(ResourceRequest&&)>&& handler) const
+void NetworkLoadChecker::checkRequest(ResourceRequest&& request, ContentSecurityPolicyClient* client, ValidationHandler&& handler)
{
-#if PLATFORM(COCOA)
- if (!m_isHTTPSUpgradeEnabled || m_requestLoadType != LoadType::MainFrame) {
- handler(WTFMove(request));
- return;
- }
+ ResourceRequest originalRequest = request;
- auto& url = ""
-
- // Only upgrade http urls.
- if (!url.protocolIs("http")) {
- handler(WTFMove(request));
- return;
+ if (auto* contentSecurityPolicy = this->contentSecurityPolicy()) {
+ if (this->isRedirected()) {
+ auto type = m_options.mode == FetchOptions::Mode::Navigate ? ContentSecurityPolicy::InsecureRequestType::Navigation : ContentSecurityPolicy::InsecureRequestType::Load;
+ contentSecurityPolicy->upgradeInsecureRequestIfNeeded(request, type);
+ }
+ if (!this->isAllowedByContentSecurityPolicy(request, client)) {
+ handler(this->accessControlErrorForValidationHandler("Blocked by Content Security Policy."_s));
+ return;
+ }
}
- auto& httpsUpgradeChecker = m_networkProcess->networkHTTPSUpgradeChecker();
-
- // Do not wait for httpsUpgradeChecker to complete its setup.
- if (!httpsUpgradeChecker.didSetupCompleteSuccessfully()) {
- handler(WTFMove(request));
- return;
- }
-
- httpsUpgradeChecker.query(url.host().toString(), m_sessionID, [request = WTFMove(request), handler = WTFMove(handler)] (bool foundHost) mutable {
- if (foundHost) {
- auto newURL = request.url();
- newURL.setProtocol("https");
- request.setURL(newURL);
+#if ENABLE(CONTENT_EXTENSIONS)
+ this->processContentRuleListsForLoad(WTFMove(request), [weakThis = makeWeakPtr(*this), handler = WTFMove(handler), originalRequest = WTFMove(originalRequest)](auto&& result) mutable {
+ if (!result.has_value()) {
+ ASSERT(result.error().isCancellation());
+ handler(WTFMove(result.error()));
+ return;
}
-
- handler(WTFMove(request));
- });
-#else
- handler(WTFMove(request));
-#endif
-}
-
-void NetworkLoadChecker::checkRequest(ResourceRequest&& request, ContentSecurityPolicyClient* client, ValidationHandler&& handler)
-{
- ResourceRequest originalRequest = request;
-
- applyHTTPSUpgradeIfNeeded(WTFMove(request), [this, weakThis = makeWeakPtr(*this), client, handler = WTFMove(handler), originalRequest = WTFMove(originalRequest)](auto&& request) mutable {
if (!weakThis)
return handler({ ResourceError { ResourceError::Type::Cancellation }});
-
- if (auto* contentSecurityPolicy = this->contentSecurityPolicy()) {
- if (this->isRedirected()) {
- auto type = m_options.mode == FetchOptions::Mode::Navigate ? ContentSecurityPolicy::InsecureRequestType::Navigation : ContentSecurityPolicy::InsecureRequestType::Load;
- contentSecurityPolicy->upgradeInsecureRequestIfNeeded(request, type);
- }
- if (!this->isAllowedByContentSecurityPolicy(request, client)) {
- handler(this->accessControlErrorForValidationHandler("Blocked by Content Security Policy."_s));
- return;
- }
+ if (result.value().results.summary.blockedLoad) {
+ handler(weakThis->accessControlErrorForValidationHandler("Blocked by content extension"_s));
+ return;
}
-
-#if ENABLE(CONTENT_EXTENSIONS)
- this->processContentRuleListsForLoad(WTFMove(request), [this, weakThis = WTFMove(weakThis), handler = WTFMove(handler), originalRequest = WTFMove(originalRequest)](auto&& result) mutable {
- if (!result.has_value()) {
- ASSERT(result.error().isCancellation());
- handler(WTFMove(result.error()));
- return;
- }
- if (result.value().results.summary.blockedLoad) {
- handler(this->accessControlErrorForValidationHandler("Blocked by content extension"_s));
- return;
- }
-
- if (!weakThis)
- return handler({ ResourceError { ResourceError::Type::Cancellation }});
- this->continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(result.value().request), WTFMove(handler));
- });
+ weakThis->continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(result.value().request), WTFMove(handler));
+ });
#else
- this->continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(request), WTFMove(handler));
+ this->continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(request), WTFMove(handler));
#endif
- });
}
void NetworkLoadChecker::continueCheckingRequestOrDoSyntheticRedirect(ResourceRequest&& originalRequest, ResourceRequest&& currentRequest, ValidationHandler&& handler)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h 2021-03-04 21:43:33 UTC (rev 273916)
@@ -60,7 +60,7 @@
public:
enum class LoadType : bool { MainFrame, Other };
- NetworkLoadChecker(NetworkProcess&, NetworkResourceLoader*, NetworkSchemeRegistry*, WebCore::FetchOptions&&, PAL::SessionID, WebPageProxyIdentifier, WebCore::HTTPHeaderMap&&, URL&&, DocumentURL&&, RefPtr<WebCore::SecurityOrigin>&&, RefPtr<WebCore::SecurityOrigin>&& topOrigin, WebCore::PreflightPolicy, String&& referrer, bool isHTTPSUpgradeEnabled = false, bool shouldCaptureExtraNetworkLoadMetrics = false, LoadType requestLoadType = LoadType::Other);
+ NetworkLoadChecker(NetworkProcess&, NetworkResourceLoader*, NetworkSchemeRegistry*, WebCore::FetchOptions&&, PAL::SessionID, WebPageProxyIdentifier, WebCore::HTTPHeaderMap&&, URL&&, DocumentURL&&, RefPtr<WebCore::SecurityOrigin>&&, RefPtr<WebCore::SecurityOrigin>&& topOrigin, WebCore::PreflightPolicy, String&& referrer, bool shouldCaptureExtraNetworkLoadMetrics = false, LoadType requestLoadType = LoadType::Other);
~NetworkLoadChecker();
struct RedirectionTriplet {
@@ -127,8 +127,6 @@
void processContentRuleListsForLoad(WebCore::ResourceRequest&&, ContentExtensionCallback&&);
#endif
- void applyHTTPSUpgradeIfNeeded(WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&) const;
-
WebCore::FetchOptions m_options;
WebCore::StoredCredentialsPolicy m_storedCredentialsPolicy;
PAL::SessionID m_sessionID;
@@ -157,10 +155,6 @@
bool m_checkContentExtensions { false };
bool m_shouldCaptureExtraNetworkLoadMetrics { false };
-#if PLATFORM(COCOA)
- bool m_isHTTPSUpgradeEnabled { false };
-#endif
-
WebCore::NetworkLoadInformation m_loadInformation;
LoadType m_requestLoadType;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2021-03-04 21:43:33 UTC (rev 273916)
@@ -32,7 +32,6 @@
#include "DownloadManager.h"
#include "LocalStorageDatabaseTracker.h"
#include "NetworkContentRuleListManager.h"
-#include "NetworkHTTPSUpgradeChecker.h"
#include "SandboxExtension.h"
#include "WebIDBServer.h"
#include "WebPageProxyIdentifier.h"
@@ -322,10 +321,6 @@
bool parentProcessHasServiceWorkerEntitlement() const { return true; }
#endif
-#if PLATFORM(COCOA)
- NetworkHTTPSUpgradeChecker& networkHTTPSUpgradeChecker();
-#endif
-
const String& uiProcessBundleIdentifier() const { return m_uiProcessBundleIdentifier; }
void ref() const override { ThreadSafeRefCounted<NetworkProcess>::ref(); }
@@ -586,10 +581,6 @@
HashMap<PAL::SessionID, ServiceWorkerInfo> m_serviceWorkerInfo;
HashMap<PAL::SessionID, std::unique_ptr<WebCore::SWServer>> m_swServers;
#endif
-
-#if PLATFORM(COCOA)
- std::unique_ptr<NetworkHTTPSUpgradeChecker> m_networkHTTPSUpgradeChecker;
-#endif
Lock m_sessionStorageQuotaManagersLock;
HashMap<PAL::SessionID, std::unique_ptr<SessionStorageQuotaManager>> m_sessionStorageQuotaManagers;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp 2021-03-04 21:43:33 UTC (rev 273916)
@@ -105,7 +105,6 @@
encoder << shouldEnableCrossOriginResourcePolicy;
encoder << frameAncestorOrigins;
- encoder << isHTTPSUpgradeEnabled;
encoder << pageHasResourceLoadClient;
encoder << parentFrameID;
encoder << crossOriginAccessControlCheckEnabled;
@@ -253,12 +252,6 @@
if (!decoder.decode(result.frameAncestorOrigins))
return WTF::nullopt;
- Optional<bool> isHTTPSUpgradeEnabled;
- decoder >> isHTTPSUpgradeEnabled;
- if (!isHTTPSUpgradeEnabled)
- return WTF::nullopt;
- result.isHTTPSUpgradeEnabled = *isHTTPSUpgradeEnabled;
-
Optional<bool> pageHasResourceLoadClient;
decoder >> pageHasResourceLoadClient;
if (!pageHasResourceLoadClient)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h 2021-03-04 21:43:33 UTC (rev 273916)
@@ -60,7 +60,6 @@
WebCore::PreflightPolicy preflightPolicy { WebCore::PreflightPolicy::Consider };
bool shouldEnableCrossOriginResourcePolicy { false };
Vector<RefPtr<WebCore::SecurityOrigin>> frameAncestorOrigins;
- bool isHTTPSUpgradeEnabled { false };
bool pageHasResourceLoadClient { false };
Optional<WebCore::FrameIdentifier> parentFrameID;
bool crossOriginAccessControlCheckEnabled { true };
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2021-03-04 21:43:33 UTC (rev 273916)
@@ -118,7 +118,7 @@
if (synchronousReply || parameters.shouldRestrictHTTPResponseAccess || parameters.options.keepAlive) {
NetworkLoadChecker::LoadType requestLoadType = isMainFrameLoad() ? NetworkLoadChecker::LoadType::MainFrame : NetworkLoadChecker::LoadType::Other;
- m_networkLoadChecker = makeUnique<NetworkLoadChecker>(connection.networkProcess(), this, &connection.schemeRegistry(), FetchOptions { m_parameters.options }, sessionID(), m_parameters.webPageProxyID, HTTPHeaderMap { m_parameters.originalRequestHeaders }, URL { m_parameters.request.url() }, URL { m_parameters.documentURL }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, originalRequest().httpReferrer(), m_parameters.isHTTPSUpgradeEnabled, shouldCaptureExtraNetworkLoadMetrics(), requestLoadType);
+ m_networkLoadChecker = makeUnique<NetworkLoadChecker>(connection.networkProcess(), this, &connection.schemeRegistry(), FetchOptions { m_parameters.options }, sessionID(), m_parameters.webPageProxyID, HTTPHeaderMap { m_parameters.originalRequestHeaders }, URL { m_parameters.request.url() }, URL { m_parameters.documentURL }, m_parameters.sourceOrigin.copyRef(), m_parameters.topOrigin.copyRef(), m_parameters.preflightPolicy, originalRequest().httpReferrer(), shouldCaptureExtraNetworkLoadMetrics(), requestLoadType);
if (m_parameters.cspResponseHeaders)
m_networkLoadChecker->setCSPResponseHeaders(ContentSecurityPolicyResponseHeaders { m_parameters.cspResponseHeaders.value() });
#if ENABLE(CONTENT_EXTENSIONS)
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm (273915 => 273916)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2021-03-04 21:43:33 UTC (rev 273916)
@@ -243,11 +243,4 @@
{
}
-NetworkHTTPSUpgradeChecker& NetworkProcess::networkHTTPSUpgradeChecker()
-{
- if (!m_networkHTTPSUpgradeChecker)
- m_networkHTTPSUpgradeChecker = makeUnique<NetworkHTTPSUpgradeChecker>();
- return *m_networkHTTPSUpgradeChecker;
-}
-
} // namespace WebKit
Modified: trunk/Source/WebKit/Sources.txt (273915 => 273916)
--- trunk/Source/WebKit/Sources.txt 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/Sources.txt 2021-03-04 21:43:33 UTC (rev 273916)
@@ -64,7 +64,6 @@
NetworkProcess/NetworkContentRuleListManager.cpp
NetworkProcess/NetworkDataTask.cpp
NetworkProcess/NetworkDataTaskBlob.cpp
-NetworkProcess/NetworkHTTPSUpgradeChecker.cpp
NetworkProcess/NetworkLoad.cpp
NetworkProcess/NetworkLoadChecker.cpp
NetworkProcess/NetworkLoadScheduler.cpp
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (273915 => 273916)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-03-04 21:43:33 UTC (rev 273916)
@@ -1219,7 +1219,6 @@
57FD318622B3516C008D0E8B /* SubFrameSOAuthorizationSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317D22B3514A008D0E8B /* SubFrameSOAuthorizationSession.h */; };
57FD318722B35170008D0E8B /* WKSOAuthorizationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317122B35148008D0E8B /* WKSOAuthorizationDelegate.h */; };
587743A621C30BBE00AE9084 /* HTTPSUpgradeList.db in Resources */ = {isa = PBXBuildFile; fileRef = 587743A421C30AD800AE9084 /* HTTPSUpgradeList.db */; };
- 58E977DF21C49A00005D92A6 /* NetworkHTTPSUpgradeChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 58E977DD21C49A00005D92A6 /* NetworkHTTPSUpgradeChecker.h */; };
5C0B17781E7C880E00E9123C /* NetworkSocketStreamMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C0B17741E7C879C00E9123C /* NetworkSocketStreamMessageReceiver.cpp */; };
5C0B17791E7C882100E9123C /* WebSocketStreamMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C0B17761E7C879C00E9123C /* WebSocketStreamMessageReceiver.cpp */; };
5C121E842410208D00486F9B /* FrameTreeNodeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C121E8324101F7000486F9B /* FrameTreeNodeData.h */; };
@@ -4325,8 +4324,6 @@
57FD317E22B3514A008D0E8B /* WKSOAuthorizationDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKSOAuthorizationDelegate.mm; sourceTree = "<group>"; };
57FD317F22B3514A008D0E8B /* SOAuthorizationSession.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SOAuthorizationSession.mm; sourceTree = "<group>"; };
587743A421C30AD800AE9084 /* HTTPSUpgradeList.db */ = {isa = PBXFileReference; lastKnownFileType = file; name = HTTPSUpgradeList.db; path = DerivedSources/WebKit2/HTTPSUpgradeList.db; sourceTree = BUILT_PRODUCTS_DIR; };
- 58E977DC21C499FE005D92A6 /* NetworkHTTPSUpgradeChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkHTTPSUpgradeChecker.cpp; sourceTree = "<group>"; };
- 58E977DD21C49A00005D92A6 /* NetworkHTTPSUpgradeChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkHTTPSUpgradeChecker.h; sourceTree = "<group>"; };
5C00993B2417FB7E00D53C25 /* ResourceLoadStatisticsParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoadStatisticsParameters.h; sourceTree = "<group>"; };
5C0A10C1235241A30053E2CA /* NetworkSchemeRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkSchemeRegistry.cpp; sourceTree = "<group>"; };
5C0B17741E7C879C00E9123C /* NetworkSocketStreamMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkSocketStreamMessageReceiver.cpp; path = DerivedSources/WebKit2/NetworkSocketStreamMessageReceiver.cpp; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -8449,8 +8446,6 @@
5CBC9B891C6524A500A8FDCF /* NetworkDataTask.h */,
539EB5461DC2EE40009D48CF /* NetworkDataTaskBlob.cpp */,
539EB5471DC2EE40009D48CF /* NetworkDataTaskBlob.h */,
- 58E977DC21C499FE005D92A6 /* NetworkHTTPSUpgradeChecker.cpp */,
- 58E977DD21C49A00005D92A6 /* NetworkHTTPSUpgradeChecker.h */,
839901FF1BE9A01B000F3653 /* NetworkLoad.cpp */,
839901FE1BE9A01B000F3653 /* NetworkLoad.h */,
4103FBA22061BDB800C2EAF8 /* NetworkLoadChecker.cpp */,
@@ -11905,7 +11900,6 @@
5CBC9B8E1C652CA000A8FDCF /* NetworkDataTask.h in Headers */,
53BA47D11DC2EF5E004DF4AD /* NetworkDataTaskBlob.h in Headers */,
532159561DBAE72D0054AA3C /* NetworkDataTaskCocoa.h in Headers */,
- 58E977DF21C49A00005D92A6 /* NetworkHTTPSUpgradeChecker.h in Headers */,
839902031BE9A02B000F3653 /* NetworkLoad.h in Headers */,
83D454D71BE9D3C4006C93BD /* NetworkLoadClient.h in Headers */,
839149651BEA838500D2D953 /* NetworkLoadParameters.h in Headers */,
Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (273915 => 273916)
--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp 2021-03-04 21:06:56 UTC (rev 273915)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp 2021-03-04 21:43:33 UTC (rev 273916)
@@ -281,8 +281,6 @@
if (!frame)
return;
- parameters.isHTTPSUpgradeEnabled = frame->settings().HTTPSUpgradeEnabled();
-
if (auto* page = frame->page()) {
parameters.pageHasResourceLoadClient = page->hasResourceLoadClient();
parameters.shouldRelaxThirdPartyCookieBlocking = page->shouldRelaxThirdPartyCookieBlocking();