Title: [239423] trunk/Source/WebKit
Revision
239423
Author
[email protected]
Date
2018-12-19 20:04:06 -0800 (Wed, 19 Dec 2018)

Log Message

HTTPS Upgrade: Use full sqlite upgrade list
https://bugs.webkit.org/show_bug.cgi?id=192736
<rdar://problem/45851427>

Patch by Vivek Seth <[email protected]> on 2018-12-19
Reviewed by Chris Dumez.

* NetworkProcess/NetworkHTTPSUpgradeChecker.cpp: Added.
(WebKit::NetworkHTTPSUpgradeCheckerDatabasePath):
(WebKit::NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker):
(WebKit::NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker):
(WebKit::NetworkHTTPSUpgradeChecker::query):
(WebKit::NetworkHTTPSUpgradeChecker::isAlwaysOnLoggingAllowed const):
* NetworkProcess/NetworkHTTPSUpgradeChecker.h: Added.
(WebKit::NetworkHTTPSUpgradeChecker::didSetupCompleteSuccessfully 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:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (239422 => 239423)


--- trunk/Source/WebKit/ChangeLog	2018-12-20 04:00:01 UTC (rev 239422)
+++ trunk/Source/WebKit/ChangeLog	2018-12-20 04:04:06 UTC (rev 239423)
@@ -1,3 +1,28 @@
+2018-12-19  Vivek Seth  <[email protected]>
+
+        HTTPS Upgrade: Use full sqlite upgrade list
+        https://bugs.webkit.org/show_bug.cgi?id=192736
+        <rdar://problem/45851427>
+
+        Reviewed by Chris Dumez.
+
+        * NetworkProcess/NetworkHTTPSUpgradeChecker.cpp: Added.
+        (WebKit::NetworkHTTPSUpgradeCheckerDatabasePath):
+        (WebKit::NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker):
+        (WebKit::NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker):
+        (WebKit::NetworkHTTPSUpgradeChecker::query):
+        (WebKit::NetworkHTTPSUpgradeChecker::isAlwaysOnLoggingAllowed const):
+        * NetworkProcess/NetworkHTTPSUpgradeChecker.h: Added.
+        (WebKit::NetworkHTTPSUpgradeChecker::didSetupCompleteSuccessfully 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-19  Tim Horton  <[email protected]>
 
         Use delegate instead of drawingDelegate in WKDrawingView

Added: trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp (0 => 239423)


--- trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp	                        (rev 0)
+++ trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp	2018-12-20 04:04:06 UTC (rev 239423)
@@ -0,0 +1,116 @@
+/*
+ * 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"
+
+#if ENABLE(HTTPS_UPGRADE)
+
+#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>
+#include <wtf/WorkQueue.h>
+
+#define RELEASE_LOG_IF_ALLOWED(sessionID, fmt, ...) RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), Network, "%p - NetworkHTTPSUpgradeChecker::" fmt, this, ##__VA_ARGS__)
+
+namespace WebKit {
+
+static const String& networkHTTPSUpgradeCheckerDatabasePath()
+{
+    static NeverDestroyed<String> networkHTTPSUpgradeCheckerDatabasePath;
+#if PLATFORM(COCOA)
+    if (networkHTTPSUpgradeCheckerDatabasePath.get().isNull()) {
+        CFBundleRef webKitBundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit"));
+        networkHTTPSUpgradeCheckerDatabasePath.get() = CFURLGetString(adoptCF(CFBundleCopyResourceURL(webKitBundle, CFSTR("HTTPSUpgradeList"), CFSTR("db"), nullptr)).get());
+    }
+#endif // PLATFORM(COCOA)
+    return networkHTTPSUpgradeCheckerDatabasePath;
+}
+
+NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker()
+    : m_workQueue(WorkQueue::create("HTTPS Upgrade Checker Thread"))
+    , m_database(makeUniqueRef<WebCore::SQLiteDatabase>())
+    , m_statement(makeUniqueRef<WebCore::SQLiteStatement>(m_database.get(), "SELECT host FROM hosts WHERE host = ?;"_s))
+{
+    ASSERT(RunLoop::isMain());
+
+    m_workQueue->dispatch([this] {
+        auto path = networkHTTPSUpgradeCheckerDatabasePath();
+        ASSERT(path);
+
+        bool isDatabaseOpen = m_database->open(path);
+        ASSERT(isDatabaseOpen);
+        if (!isDatabaseOpen)
+            return;
+
+        // Since we are using a workerQueue, the sequential dispatch blocks may be called by different threads.
+        m_database->disableThreadingChecks();
+
+        int isStatementPrepared = (m_statement->prepare() == SQLITE_OK);
+        ASSERT(isStatementPrepared);
+        if (!isStatementPrepared)
+            return;
+
+        m_didSetupCompleteSuccessfully = true;
+    });
+}
+
+NO_RETURN_DUE_TO_ASSERT NetworkHTTPSUpgradeChecker::~NetworkHTTPSUpgradeChecker()
+{
+    // This object should be owned by a singleton object.
+    ASSERT_NOT_REACHED();
+}
+
+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(bindTextResult == SQLITE_OK);
+
+        int stepResult = m_statement->step();
+        ASSERT(stepResult == SQLITE_ROW || stepResult == SQLITE_DONE);
+
+        int resetResult = m_statement->reset();
+        ASSERT(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
+
+#endif // ENABLE(HTTPS_UPGRADE)

Added: trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h (0 => 239423)


--- trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h	                        (rev 0)
+++ trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h	2018-12-20 04:04:06 UTC (rev 239423)
@@ -0,0 +1,67 @@
+/*
+ * 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)
+
+#include <wtf/UniqueRef.h>
+
+namespace WTF {
+class WorkQueue;
+}
+
+namespace WebCore {
+class SQLiteDatabase;
+class SQLiteStatement;
+}
+
+namespace PAL {
+class SessionID;
+}
+
+namespace WebKit {
+
+class NetworkHTTPSUpgradeChecker {
+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<WTF::WorkQueue> m_workQueue;
+    WTF::UniqueRef<WebCore::SQLiteDatabase> m_database;
+    WTF::UniqueRef<WebCore::SQLiteStatement> m_statement;
+    std::atomic<bool> m_didSetupCompleteSuccessfully { false };
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(HTTPS_UPGRADE)

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp (239422 => 239423)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp	2018-12-20 04:00:01 UTC (rev 239422)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp	2018-12-20 04:04:06 UTC (rev 239423)
@@ -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 @@
 }
 
 #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 = ""
 
     // 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.didSetupCompleteSuccessfully()) {
+        handler(WTFMove(request));
         return;
+    }
 
-    auto newURL = url;
-    newURL.setProtocol("https"_s);
-    request.setURL(newURL);
+    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"_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 @@
     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 (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 (!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)

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h (239422 => 239423)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h	2018-12-20 04:00:01 UTC (rev 239422)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h	2018-12-20 04:04:06 UTC (rev 239423)
@@ -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 @@
 #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;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (239422 => 239423)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-12-20 04:00:01 UTC (rev 239422)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-12-20 04:04:06 UTC (rev 239423)
@@ -29,6 +29,7 @@
 #include "ChildProcess.h"
 #include "DownloadManager.h"
 #include "NetworkContentRuleListManager.h"
+#include "NetworkHTTPSUpgradeChecker.h"
 #include "SandboxExtension.h"
 #include <WebCore/DiagnosticLoggingClient.h>
 #include <WebCore/FetchIdentifier.h>
@@ -204,6 +205,10 @@
     bool parentProcessHasServiceWorkerEntitlement() const { return true; }
 #endif
 
+#if ENABLE(HTTPS_UPGRADE)
+    NetworkHTTPSUpgradeChecker& networkHTTPSUpgradeChecker() { return m_networkHTTPSUpgradeChecker; };
+#endif // ENABLE(HTTPS_UPGRADE)
+
 private:
     NetworkProcess();
     ~NetworkProcess();
@@ -393,6 +398,9 @@
     HashMap<WebCore::SWServerConnectionIdentifier, WebSWServerConnection*> m_swServerConnections;
 #endif
 
+#if ENABLE(HTTPS_UPGRADE)
+    NetworkHTTPSUpgradeChecker m_networkHTTPSUpgradeChecker;
+#endif // ENABLE(HTTPS_UPGRADE)
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/Sources.txt (239422 => 239423)


--- trunk/Source/WebKit/Sources.txt	2018-12-20 04:00:01 UTC (rev 239422)
+++ trunk/Source/WebKit/Sources.txt	2018-12-20 04:04:06 UTC (rev 239423)
@@ -27,6 +27,7 @@
 NetworkProcess/NetworkContentRuleListManager.cpp
 NetworkProcess/NetworkDataTask.cpp
 NetworkProcess/NetworkDataTaskBlob.cpp
+NetworkProcess/NetworkHTTPSUpgradeChecker.cpp
 NetworkProcess/NetworkLoad.cpp
 NetworkProcess/NetworkLoadChecker.cpp
 NetworkProcess/NetworkProcess.cpp

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (239422 => 239423)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-12-20 04:00:01 UTC (rev 239422)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-12-20 04:04:06 UTC (rev 239423)
@@ -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 */; };
 		587743A621C30BBE00AE9084 /* HTTPSUpgradeList.db in Resources */ = {isa = PBXBuildFile; fileRef = 587743A421C30AD800AE9084 /* HTTPSUpgradeList.db */; };
 		5C0B17781E7C880E00E9123C /* NetworkSocketStreamMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C0B17741E7C879C00E9123C /* NetworkSocketStreamMessageReceiver.cpp */; };
 		5C0B17791E7C882100E9123C /* WebSocketStreamMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C0B17761E7C879C00E9123C /* WebSocketStreamMessageReceiver.cpp */; };
@@ -3402,6 +3403,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>"; };
 		587743A421C30AD800AE9084 /* HTTPSUpgradeList.db */ = {isa = PBXFileReference; lastKnownFileType = file; name = HTTPSUpgradeList.db; path = DerivedSources/WebKit2/HTTPSUpgradeList.db; sourceTree = BUILT_PRODUCTS_DIR; };
 		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; };
@@ -6422,6 +6425,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 */,
@@ -9113,6 +9118,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 */,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to