WebKit Bugzilla
Attachment 357507 Details for
Bug 192736
: HTTPS Upgrade: Use full sqlite upgrade list
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192736-20181217173812.patch (text/plain), 23.54 KB, created by
Vivek Seth
on 2018-12-17 17:38:21 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Vivek Seth
Created:
2018-12-17 17:38:21 PST
Size:
23.54 KB
patch
obsolete
>Subversion Revision: 239276 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 4fa9ebec9fb243dc5d89399b6a137161dce36ede..2d9899f4f06f717d9be6775ed7fc5537f35150d5 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,28 @@ >+2018-12-17 Vivek Seth <v_seth@apple.com> >+ >+ HTTPS Upgrade: Use full sqlite upgrade list >+ https://bugs.webkit.org/show_bug.cgi?id=192736 >+ <rdar://problem/45851427> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * NetworkProcess/NetworkHTTPSUpgradeChecker.cpp: Added. >+ (WebKit::NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker): >+ (WebKit::NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker): >+ (WebKit::NetworkHTTPSUpgradeChecker::query): >+ (WebKit::NetworkHTTPSUpgradeChecker::isAlwaysOnLoggingAllowed const): >+ (WebKit::NetworkHTTPSUpgradeCheckerDatabasePath): >+ * NetworkProcess/NetworkHTTPSUpgradeChecker.h: Added. >+ (WebKit::NetworkHTTPSUpgradeChecker::isSetupComplete const): >+ * NetworkProcess/NetworkLoadChecker.cpp: >+ (WebKit::NetworkLoadChecker::applyHTTPSUpgradeIfNeeded const): >+ (WebKit::NetworkLoadChecker::checkRequest): >+ * NetworkProcess/NetworkLoadChecker.h: >+ * NetworkProcess/NetworkProcess.h: >+ (WebKit::NetworkProcess::networkHTTPSUpgradeChecker): >+ * Sources.txt: >+ * WebKit.xcodeproj/project.pbxproj: >+ > 2018-12-17 David Kilzer <ddkilzer@apple.com> > > REGRESSION (r239262): Fix broken builds prior to Mojave >diff --git a/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp b/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..e36101d4a1af87fc9cf04486b8b5aef495548b6b >--- /dev/null >+++ b/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp >@@ -0,0 +1,148 @@ >+/* >+ * 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 <wtf/CompletionHandler.h> >+#include <wtf/RunLoop.h> >+#include <wtf/WorkQueue.h> >+ >+#if ENABLE(HTTPS_UPGRADE) >+ >+#define RELEASE_LOG_IF_ALLOWED(fmt, ...) RELEASE_LOG_IF(isAlwaysOnLoggingAllowed(), Network, "%p - NetworkHTTPSUpgradeChecker::" fmt, this, ##__VA_ARGS__) >+#define RELEASE_LOG_ERROR_IF_ALLOWED(fmt, ...) RELEASE_LOG_ERROR_IF(isAlwaysOnLoggingAllowed(), Network, "%p - NetworkHTTPSUpgradeChecker::" fmt, this, ##__VA_ARGS__) >+ >+namespace WebKit { >+ >+auto kNetworkHTTPSUpgradeCheckerSQLQuery = "SELECT host FROM hosts WHERE host = ?;"_s; >+ >+String NetworkHTTPSUpgradeCheckerDatabasePath(); >+ >+NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker() >+ : m_workQueue(WorkQueue::create("HTTPS Upgrade Checker Thread")) >+ , m_database(std::make_unique<WebCore::SQLiteDatabase>()) >+ , m_statement(std::make_unique<WebCore::SQLiteStatement>(*m_database.get(), kNetworkHTTPSUpgradeCheckerSQLQuery)) >+{ >+ ASSERT(isMainThread()); >+ >+ m_workQueue->dispatch([this] { >+ auto path = NetworkHTTPSUpgradeCheckerDatabasePath(); >+ if (!path) { >+ RELEASE_LOG_IF_ALLOWED("NetworkHTTPSUpgradeChecker() - Database does not exist, cannot do upgrades."); >+ return; >+ } >+ >+ if (!this->m_database->open(path)) { >+ RELEASE_LOG_ERROR_IF_ALLOWED("NetworkHTTPSUpgradeChecker() - Unable to open database."); >+ return; >+ } >+ >+ if (this->m_statement->prepare() != SQLITE_OK) { >+ RELEASE_LOG_ERROR_IF_ALLOWED("NetworkHTTPSUpgradeChecker() - Unable to prepare statement."); >+ return; >+ } >+ >+ this->m_isSetupComplete = true; >+ }); >+} >+ >+NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker() >+{ >+ ASSERT(isMainThread()); >+ >+ // The database and statement need to be destroyed on the background thread. >+ m_workQueue->dispatch([database = WTFMove(m_database), statement = WTFMove(m_statement)] { >+ statement->finalize(); >+ database->close(); >+ }); >+} >+ >+void NetworkHTTPSUpgradeChecker::query(String&& host, CompletionHandler<void(bool)>&& callback) >+{ >+ ASSERT(isMainThread()); >+ >+ m_workQueue->dispatch([this, host = WTFMove(host), callback = WTFMove(callback)] () mutable { >+ auto runCallbackOnMainThread = [callback = WTFMove(callback)] (bool foundHost) mutable { >+ WTF::RunLoop::main().dispatch([foundHost, callback = WTFMove(callback)] () mutable { >+ callback(foundHost); >+ }); >+ }; >+ >+ if (!this->m_isSetupComplete) { >+ RELEASE_LOG_IF_ALLOWED("query - Setup is not complete, ignoring query."); >+ runCallbackOnMainThread(false); >+ return; >+ } >+ >+ if (this->m_statement->bindText(1, WTFMove(host)) != SQLITE_OK) { >+ RELEASE_LOG_ERROR_IF_ALLOWED("query - Unable to bind text to statement, returning false."); >+ runCallbackOnMainThread(false); >+ return; >+ } >+ >+ int stepResult = this->m_statement->step(); >+ if (stepResult != SQLITE_ROW && stepResult != SQLITE_DONE) { >+ RELEASE_LOG_ERROR_IF_ALLOWED("query - Error running query, returning false."); >+ runCallbackOnMainThread(false); >+ return; >+ } >+ >+ if (this->m_statement->reset() != SQLITE_OK) { >+ RELEASE_LOG_ERROR_IF_ALLOWED("query - Error resetting statement, returning false."); >+ runCallbackOnMainThread(false); >+ return; >+ } >+ >+ bool foundHost = (stepResult == SQLITE_ROW); >+ RELEASE_LOG_IF_ALLOWED("query - Ran successfully. Result = %s", (foundHost ? "true" : "false")); >+ runCallbackOnMainThread(foundHost); >+ }); >+} >+ >+bool NetworkHTTPSUpgradeChecker::isAlwaysOnLoggingAllowed() const >+{ >+ // FIXME: how should I implement this? >+ return true; >+} >+ >+String NetworkHTTPSUpgradeCheckerDatabasePath() >+{ >+ String path; >+ >+#if PLATFORM(COCOA) >+ CFBundleRef webKitBundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit")); >+ path = CFURLGetString(adoptCF(CFBundleCopyResourceURL(webKitBundle, CFSTR("HTTPSUpgradeList"), CFSTR("db"), nullptr)).get()); >+#endif // PLATFORM(COCOA) >+ >+ return path; >+} >+ >+} // namespace WebKit >+ >+#endif // ENABLE(HTTPS_UPGRADE) >diff --git a/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h b/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h >new file mode 100644 >index 0000000000000000000000000000000000000000..5202b8a462ca9e3982dc94945608c4701fd373b2 >--- /dev/null >+++ b/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h >@@ -0,0 +1,63 @@ >+/* >+ * 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 >+ >+#if ENABLE(HTTPS_UPGRADE) >+ >+namespace WTF { >+class WorkQueue; >+} >+ >+namespace WebCore { >+class SQLiteDatabase; >+class SQLiteStatement; >+} >+ >+namespace WebKit { >+ >+class NetworkHTTPSUpgradeChecker { >+public: >+ NetworkHTTPSUpgradeChecker(); >+ ~NetworkHTTPSUpgradeChecker(); >+ >+ // Returns `true` after internal setup is sucessfully completed. If there is an error with setup, or if setup is in-progress, it will return `false`. >+ bool isSetupComplete() const { return m_isSetupComplete; }; >+ >+ // Queries database after setup is complete. >+ void query(String&&, CompletionHandler<void(bool)>&&); >+ >+private: >+ bool isAlwaysOnLoggingAllowed() const; >+ >+ std::atomic<bool> m_isSetupComplete { false }; >+ Ref<WTF::WorkQueue> m_workQueue; >+ std::unique_ptr<WebCore::SQLiteDatabase> m_database; >+ std::unique_ptr<WebCore::SQLiteStatement> m_statement; >+}; >+ >+} // namespace WebKit >+ >+#endif // ENABLE(HTTPS_UPGRADE) >diff --git a/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp b/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp >index 3511f759cc000a4fa292177ab4500aaa4d4d0f54..2ed16d7258d3e15992e02c75eb17faf3c625c143 100644 >--- a/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp >+++ b/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp >@@ -30,6 +30,7 @@ > #include "NetworkCORSPreflightChecker.h" > #include "NetworkProcess.h" > #include <WebCore/ContentSecurityPolicy.h> >+#include <WebCore/CrossOriginAccessControl.h> > #include <WebCore/CrossOriginPreflightResultCache.h> > #include <WebCore/SchemeRegistry.h> > #include <wtf/Scope.h> >@@ -191,32 +192,38 @@ auto NetworkLoadChecker::accessControlErrorForValidationHandler(String&& message > } > > #if ENABLE(HTTPS_UPGRADE) >-void NetworkLoadChecker::applyHTTPSUpgradeIfNeeded(ResourceRequest& request) const >+void NetworkLoadChecker::applyHTTPSUpgradeIfNeeded(ResourceRequest&& request, CompletionHandler<void(ResourceRequest&&)>&& handler) const > { >- if (m_requestLoadType != LoadType::MainFrame) >+ if (m_requestLoadType != LoadType::MainFrame) { >+ handler(WTFMove(request)); > return; >- >- // Use dummy list for now. >- static NeverDestroyed<HashSet<String>> upgradableHosts = std::initializer_list<String> { >- "www.bbc.com"_s, // (source: https://whynohttps.com) >- "www.speedtest.net"_s, // (source: https://whynohttps.com) >- "www.bea.gov"_s // (source: https://pulse.cio.gov/data/domains/https.csv) >- }; >+ } > > auto& url = request.url(); > > // Only upgrade http urls. >- if (!url.protocolIs("http")) >+ if (!url.protocolIs("http")) { >+ handler(WTFMove(request)); > return; >+ } > >- if (!upgradableHosts.get().contains(url.host().toString())) >+ auto& httpsUpgradeChecker = NetworkProcess::singleton().networkHTTPSUpgradeChecker(); >+ >+ // Do not wait for httpsUpgradeChecker to complete its setup. >+ if (!httpsUpgradeChecker.isSetupComplete()) { >+ handler(WTFMove(request)); > return; >+ } > >- auto newURL = url; >- newURL.setProtocol("https"_s); >- request.setURL(newURL); >+ httpsUpgradeChecker.query(url.host().toString(), [request = WTFMove(request), handler = WTFMove(handler)] (bool foundHost) mutable { >+ if (foundHost) { >+ auto newURL = request.url(); >+ newURL.setProtocol("https"_s); >+ request.setURL(newURL); >+ } > >- RELEASE_LOG_IF_ALLOWED("applyHTTPSUpgradeIfNeeded - Upgrade URL from HTTP to HTTPS"); >+ handler(WTFMove(request)); >+ }); > } > #endif // ENABLE(HTTPS_UPGRADE) > >@@ -225,37 +232,42 @@ void NetworkLoadChecker::checkRequest(ResourceRequest&& request, ContentSecurity > ResourceRequest originalRequest = request; > > #if ENABLE(HTTPS_UPGRADE) >- applyHTTPSUpgradeIfNeeded(request); >+ applyHTTPSUpgradeIfNeeded(WTFMove(request), [this, client, handler = WTFMove(handler), originalRequest = WTFMove(originalRequest)](auto request) mutable { > #endif // ENABLE(HTTPS_UPGRADE) > >- if (auto* contentSecurityPolicy = this->contentSecurityPolicy()) { >- if (isRedirected()) { >- auto type = m_options.mode == FetchOptions::Mode::Navigate ? ContentSecurityPolicy::InsecureRequestType::Navigation : ContentSecurityPolicy::InsecureRequestType::Load; >- contentSecurityPolicy->upgradeInsecureRequestIfNeeded(request, type); >- } >- if (!isAllowedByContentSecurityPolicy(request, client)) { >- handler(accessControlErrorForValidationHandler("Blocked by Content Security Policy."_s)); >- return; >+ if (auto* contentSecurityPolicy = this->contentSecurityPolicy()) { >+ if (isRedirected()) { >+ auto type = m_options.mode == FetchOptions::Mode::Navigate ? ContentSecurityPolicy::InsecureRequestType::Navigation : ContentSecurityPolicy::InsecureRequestType::Load; >+ contentSecurityPolicy->upgradeInsecureRequestIfNeeded(request, type); >+ } >+ if (!isAllowedByContentSecurityPolicy(request, client)) { >+ handler(accessControlErrorForValidationHandler("Blocked by Content Security Policy."_s)); >+ return; >+ } > } >- } > > #if ENABLE(CONTENT_EXTENSIONS) >- processContentExtensionRulesForLoad(WTFMove(request), [this, 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().status.blockedLoad) { >- handler(this->accessControlErrorForValidationHandler("Blocked by content extension"_s)); >- return; >- } >+ processContentExtensionRulesForLoad(WTFMove(request), [this, 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().status.blockedLoad) { >+ handler(this->accessControlErrorForValidationHandler("Blocked by content extension"_s)); >+ return; >+ } > >- continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(result.value().request), WTFMove(handler)); >- }); >+ continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(result.value().request), WTFMove(handler)); >+ }); > #else >- continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(request), WTFMove(handler)); >+ continueCheckingRequestOrDoSyntheticRedirect(WTFMove(originalRequest), WTFMove(request), WTFMove(handler)); > #endif >+ >+#if ENABLE(HTTPS_UPGRADE) >+ }); >+#endif // ENABLE(HTTPS_UPGRADE) >+ > } > > void NetworkLoadChecker::continueCheckingRequestOrDoSyntheticRedirect(ResourceRequest&& originalRequest, ResourceRequest&& currentRequest, ValidationHandler&& handler) >diff --git a/Source/WebKit/NetworkProcess/NetworkLoadChecker.h b/Source/WebKit/NetworkProcess/NetworkLoadChecker.h >index 6227c957d44ce62b6436033a834538169077e8c8..dbd961a491337fe9ef7f7f1aece60e7746f0d41c 100644 >--- a/Source/WebKit/NetworkProcess/NetworkLoadChecker.h >+++ b/Source/WebKit/NetworkProcess/NetworkLoadChecker.h >@@ -25,16 +25,23 @@ > > #pragma once > >+#include "UserContentControllerIdentifier.h" > #include <WebCore/ContentExtensionActions.h> >+#include <WebCore/ContentSecurityPolicyResponseHeaders.h> >+#include <WebCore/FetchOptions.h> > #include <WebCore/NetworkLoadInformation.h> > #include <WebCore/ResourceError.h> > #include <wtf/CompletionHandler.h> > #include <wtf/Expected.h> > #include <wtf/Variant.h> >+#include <wtf/WeakPtr.h> > > namespace WebCore { > class ContentSecurityPolicy; > struct ContentSecurityPolicyClient; >+class SecurityOrigin; >+enum class PreflightPolicy : uint8_t; >+enum class StoredCredentialsPolicy : bool; > } > > namespace WebKit { >@@ -113,7 +120,7 @@ private: > #endif > > #if ENABLE(HTTPS_UPGRADE) >- void applyHTTPSUpgradeIfNeeded(WebCore::ResourceRequest&) const; >+ void applyHTTPSUpgradeIfNeeded(WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&) const; > #endif // ENABLE(HTTPS_UPGRADE) > > WebCore::FetchOptions m_options; >diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.h b/Source/WebKit/NetworkProcess/NetworkProcess.h >index f5c2fedbfc7e779b51d350e1c1e9e6a550458ee3..9c647e20d4550289840c616f99d75f953648c9ab 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcess.h >+++ b/Source/WebKit/NetworkProcess/NetworkProcess.h >@@ -29,6 +29,11 @@ > #include "ChildProcess.h" > #include "DownloadManager.h" > #include "NetworkContentRuleListManager.h" >+ >+#if ENABLE(HTTPS_UPGRADE) >+#include "NetworkHTTPSUpgradeChecker.h" >+#endif // ENABLE(HTTPS_UPGRADE) >+ > #include "SandboxExtension.h" > #include <WebCore/DiagnosticLoggingClient.h> > #include <WebCore/FetchIdentifier.h> >@@ -204,6 +209,10 @@ public: > bool parentProcessHasServiceWorkerEntitlement() const { return true; } > #endif > >+#if ENABLE(HTTPS_UPGRADE) >+ NetworkHTTPSUpgradeChecker& networkHTTPSUpgradeChecker() { return m_networkHTTPSUpgradeChecker; }; >+#endif // ENABLE(HTTPS_UPGRADE) >+ > private: > NetworkProcess(); > ~NetworkProcess(); >@@ -393,6 +402,11 @@ private: > HashMap<WebCore::SWServerConnectionIdentifier, WebSWServerConnection*> m_swServerConnections; > #endif > >+#if ENABLE(HTTPS_UPGRADE) >+ NetworkHTTPSUpgradeChecker m_networkHTTPSUpgradeChecker; >+#endif // ENABLE(HTTPS_UPGRADE) >+ >+ > }; > > } // namespace WebKit >diff --git a/Source/WebKit/Sources.txt b/Source/WebKit/Sources.txt >index 055ec5e576102f78649847ae3e34ae3e3c2c24a3..b52ae6bd7b6319d61626b4bae083aac956856269 100644 >--- a/Source/WebKit/Sources.txt >+++ b/Source/WebKit/Sources.txt >@@ -27,6 +27,7 @@ NetworkProcess/NetworkConnectionToWebProcess.cpp > NetworkProcess/NetworkContentRuleListManager.cpp > NetworkProcess/NetworkDataTask.cpp > NetworkProcess/NetworkDataTaskBlob.cpp >+NetworkProcess/NetworkHTTPSUpgradeChecker.cpp > NetworkProcess/NetworkLoad.cpp > NetworkProcess/NetworkLoadChecker.cpp > NetworkProcess/NetworkProcess.cpp >diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >index 2832bb7c4b81ae89965666ee4b517fe0d307b1f7..3a685fe5db52b1b0efb94a923a6b89d7d298e2ea 100644 >--- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj >+++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >@@ -1037,6 +1037,7 @@ > 57DCEDC3214F114C0016B847 /* MockLocalService.h in Headers */ = {isa = PBXBuildFile; fileRef = 57DCEDC1214F114C0016B847 /* MockLocalService.h */; }; > 57DCEDC7214F18300016B847 /* MockLocalConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 57DCEDC5214F18300016B847 /* MockLocalConnection.h */; }; > 57DCEDCB214F4E420016B847 /* MockAuthenticatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 57DCEDC9214F4E420016B847 /* MockAuthenticatorManager.h */; }; >+ 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 */; }; > 5C1426ED1C23F80900D41183 /* NetworkProcessCreationParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C1426E31C23F80500D41183 /* NetworkProcessCreationParameters.h */; }; >@@ -3401,6 +3402,8 @@ > 57DCEDC6214F18300016B847 /* MockLocalConnection.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = MockLocalConnection.mm; sourceTree = "<group>"; }; > 57DCEDC9214F4E420016B847 /* MockAuthenticatorManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockAuthenticatorManager.h; sourceTree = "<group>"; }; > 57DCEDCD214F51680016B847 /* MockAuthenticatorManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockAuthenticatorManager.cpp; sourceTree = "<group>"; }; >+ 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>"; }; > 5C0B17741E7C879C00E9123C /* NetworkSocketStreamMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkSocketStreamMessageReceiver.cpp; path = DerivedSources/WebKit2/NetworkSocketStreamMessageReceiver.cpp; sourceTree = BUILT_PRODUCTS_DIR; }; > 5C0B17751E7C879C00E9123C /* NetworkSocketStreamMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkSocketStreamMessages.h; path = DerivedSources/WebKit2/NetworkSocketStreamMessages.h; sourceTree = BUILT_PRODUCTS_DIR; }; > 5C0B17761E7C879C00E9123C /* WebSocketStreamMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebSocketStreamMessageReceiver.cpp; path = DerivedSources/WebKit2/WebSocketStreamMessageReceiver.cpp; sourceTree = BUILT_PRODUCTS_DIR; }; >@@ -6420,6 +6423,8 @@ > 5CBC9B891C6524A500A8FDCF /* NetworkDataTask.h */, > 539EB5461DC2EE40009D48CF /* NetworkDataTaskBlob.cpp */, > 539EB5471DC2EE40009D48CF /* NetworkDataTaskBlob.h */, >+ 58E977DC21C499FE005D92A6 /* NetworkHTTPSUpgradeChecker.cpp */, >+ 58E977DD21C49A00005D92A6 /* NetworkHTTPSUpgradeChecker.h */, > 839901FF1BE9A01B000F3653 /* NetworkLoad.cpp */, > 839901FE1BE9A01B000F3653 /* NetworkLoad.h */, > 4103FBA22061BDB800C2EAF8 /* NetworkLoadChecker.cpp */, >@@ -9110,6 +9115,7 @@ > 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 */,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192736
:
357378
|
357505
|
357507
|
357587
|
357640
|
357726
|
357727
|
357730
|
357739