Title: [230218] trunk/Source/WebKit
Revision
230218
Author
commit-qu...@webkit.org
Date
2018-04-03 12:58:09 -0700 (Tue, 03 Apr 2018)

Log Message

Unreviewed, rolling out r230210.
https://bugs.webkit.org/show_bug.cgi?id=184277

it is breaking internal bots (Requested by youenn on #webkit).

Reverted changeset:

"Make NetworkProcess get ContentBlocker information from
UIProcess"
https://bugs.webkit.org/show_bug.cgi?id=184205
https://trac.webkit.org/changeset/230210

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebKit/CMakeLists.txt (230217 => 230218)


--- trunk/Source/WebKit/CMakeLists.txt	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/CMakeLists.txt	2018-04-03 19:58:09 UTC (rev 230218)
@@ -107,7 +107,6 @@
 
     NetworkProcess/NetworkCORSPreflightChecker.cpp
     NetworkProcess/NetworkConnectionToWebProcess.cpp
-    NetworkProcess/NetworkContentRuleListManager.cpp
     NetworkProcess/NetworkDataTask.cpp
     NetworkProcess/NetworkDataTaskBlob.cpp
     NetworkProcess/NetworkLoad.cpp
@@ -620,7 +619,6 @@
     NetworkProcess/Cookies/WebCookieManager.messages.in
 
     NetworkProcess/NetworkConnectionToWebProcess.messages.in
-    NetworkProcess/NetworkContentRuleListManager.messages.in
     NetworkProcess/NetworkProcess.messages.in
     NetworkProcess/NetworkResourceLoader.messages.in
     NetworkProcess/NetworkSocketStream.messages.in

Modified: trunk/Source/WebKit/ChangeLog (230217 => 230218)


--- trunk/Source/WebKit/ChangeLog	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/ChangeLog	2018-04-03 19:58:09 UTC (rev 230218)
@@ -1,3 +1,17 @@
+2018-04-03  Commit Queue  <commit-qu...@webkit.org>
+
+        Unreviewed, rolling out r230210.
+        https://bugs.webkit.org/show_bug.cgi?id=184277
+
+        it is breaking internal bots (Requested by youenn on #webkit).
+
+        Reverted changeset:
+
+        "Make NetworkProcess get ContentBlocker information from
+        UIProcess"
+        https://bugs.webkit.org/show_bug.cgi?id=184205
+        https://trac.webkit.org/changeset/230210
+
 2018-04-03  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [Extra zoom mode] Update time picker to use platform view controller

Modified: trunk/Source/WebKit/DerivedSources.make (230217 => 230218)


--- trunk/Source/WebKit/DerivedSources.make	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/DerivedSources.make	2018-04-03 19:58:09 UTC (rev 230218)
@@ -115,7 +115,6 @@
     NetworkRTCSocket \
     NetworkResourceLoader \
     NetworkSocketStream \
-    NetworkContentRuleListManager \
     PluginControllerProxy \
     PluginProcess \
     PluginProcessConnection \

Deleted: trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -1,109 +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 "NetworkContentRuleListManager.h"
-
-#if ENABLE(CONTENT_EXTENSIONS)
-
-#include "NetworkProcess.h"
-#include "NetworkProcessProxyMessages.h"
-#include "WebCompiledContentRuleList.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-NetworkContentRuleListManager::NetworkContentRuleListManager() = default;
-NetworkContentRuleListManager::~NetworkContentRuleListManager()
-{
-    auto pendingCallbacks = WTFMove(m_pendingCallbacks);
-    if (pendingCallbacks.isEmpty())
-        return;
-
-    WebCore::ContentExtensions::ContentExtensionsBackend backend;
-    for (auto& callbacks : pendingCallbacks.values()) {
-        for (auto& callback : callbacks)
-            callback(backend);
-    }
-}
-
-void NetworkContentRuleListManager::contentExtensionsBackend(UserContentControllerIdentifier identifier, BackendCallback&& callback)
-{
-    auto iterator = m_contentExtensionBackends.find(identifier);
-    if (iterator != m_contentExtensionBackends.end()) {
-        callback(*iterator->value);
-        return;
-    }
-    m_pendingCallbacks.ensure(identifier, [] {
-        return Vector<BackendCallback> { };
-    }).iterator->value.append(WTFMove(callback));
-    NetworkProcess::singleton().parentProcessConnection()->send(Messages::NetworkProcessProxy::ContentExtensionRules { identifier }, 0);
-}
-
-void NetworkContentRuleListManager::addContentRuleLists(UserContentControllerIdentifier identifier, const Vector<std::pair<String, WebCompiledContentRuleListData>>& contentRuleLists)
-{
-    auto& backend = *m_contentExtensionBackends.ensure(identifier, [] {
-        return std::make_unique<WebCore::ContentExtensions::ContentExtensionsBackend>();
-    }).iterator->value;
-
-    for (const auto& contentRuleList : contentRuleLists) {
-        WebCompiledContentRuleListData contentRuleListData = contentRuleList.second;
-        auto compiledContentRuleList = WebCompiledContentRuleList::create(WTFMove(contentRuleListData));
-        backend.addContentExtension(contentRuleList.first, WTFMove(compiledContentRuleList));
-    }
-
-    auto pendingCallbacks = m_pendingCallbacks.take(identifier);
-    for (auto& callback : pendingCallbacks)
-        callback(backend);
-
-}
-
-void NetworkContentRuleListManager::removeContentRuleList(UserContentControllerIdentifier identifier, const String& name)
-{
-    auto iterator = m_contentExtensionBackends.find(identifier);
-    if (iterator == m_contentExtensionBackends.end())
-        return;
-
-    iterator->value->removeContentExtension(name);
-}
-
-void NetworkContentRuleListManager::removeAllContentRuleLists(UserContentControllerIdentifier identifier)
-{
-    auto iterator = m_contentExtensionBackends.find(identifier);
-    if (iterator == m_contentExtensionBackends.end())
-        return;
-
-    iterator->value->removeAllContentExtensions();
-}
-
-void NetworkContentRuleListManager::remove(UserContentControllerIdentifier identifier)
-{
-    m_contentExtensionBackends.remove(identifier);
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(CONTENT_EXTENSIONS)

Deleted: trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.h (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -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
-
-#if ENABLE(CONTENT_EXTENSIONS)
-
-#include "UserContentControllerIdentifier.h"
-#include "WebCompiledContentRuleListData.h"
-#include <WebCore/ContentExtensionsBackend.h>
-#include <WebCore/UserContentProvider.h>
-
-namespace IPC {
-class Connection;
-class Decoder;
-}
-
-namespace WebKit {
-
-class NetworkContentRuleListManager {
-public:
-    NetworkContentRuleListManager();
-    ~NetworkContentRuleListManager();
-
-    void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
-
-    using BackendCallback = CompletionHandler<void(WebCore::ContentExtensions::ContentExtensionsBackend&)>;
-    void contentExtensionsBackend(UserContentControllerIdentifier, BackendCallback&&);
-
-private:
-    void addContentRuleLists(UserContentControllerIdentifier, const Vector<std::pair<String, WebCompiledContentRuleListData>>&);
-    void removeContentRuleList(UserContentControllerIdentifier, const String& name);
-    void removeAllContentRuleLists(UserContentControllerIdentifier);
-    void remove(UserContentControllerIdentifier);
-
-    HashMap<UserContentControllerIdentifier, std::unique_ptr<WebCore::ContentExtensions::ContentExtensionsBackend>> m_contentExtensionBackends;
-    HashMap<UserContentControllerIdentifier, Vector<BackendCallback>> m_pendingCallbacks;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(CONTENT_EXTENSIONS)

Deleted: trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.messages.in (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.messages.in	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkContentRuleListManager.messages.in	2018-04-03 19:58:09 UTC (rev 230218)
@@ -1,32 +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.
-
-#if ENABLE(CONTENT_EXTENSIONS)
-
-messages -> NetworkContentRuleListManager {
-    Remove(WebKit::UserContentControllerIdentifier identifier)
-    AddContentRuleLists(WebKit::UserContentControllerIdentifier identifier, Vector<std::pair<String, WebKit::WebCompiledContentRuleListData>> contentFilters)
-    RemoveContentRuleList(WebKit::UserContentControllerIdentifier identifier, String name)
-    RemoveAllContentRuleLists(WebKit::UserContentControllerIdentifier identifier)
-}
-
-#endif

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -28,9 +28,7 @@
 
 #include "Logging.h"
 #include "NetworkCORSPreflightChecker.h"
-#include "NetworkProcess.h"
 #include "WebCompiledContentRuleList.h"
-#include "WebUserContentController.h"
 #include <WebCore/ContentSecurityPolicy.h>
 #include <WebCore/CrossOriginAccessControl.h>
 #include <WebCore/CrossOriginPreflightResultCache.h>
@@ -97,20 +95,12 @@
 void NetworkLoadChecker::checkRequest(ResourceRequest&& request, ValidationHandler&& handler)
 {
 #if ENABLE(CONTENT_EXTENSIONS)
-    processContentExtensionRulesForLoad(WTFMove(request), [this, handler = WTFMove(handler)](auto&& request, auto status) mutable {
-        if (status.blockedLoad) {
-            handler(this->returnError(ASCIILiteral("Blocked by content extension")));
-            return;
-        }
-        this->continueCheckingRequest(WTFMove(request), WTFMove(handler));
-    });
-#else
-    continueCheckingRequest(WTFMove(request), WTFMove(handler));
+    if (processContentExtensionRulesForLoad(request).blockedLoad) {
+        handler(returnError(ASCIILiteral("Blocked by content extension")));
+        return;
+    }
 #endif
-}
 
-void NetworkLoadChecker::continueCheckingRequest(ResourceRequest&& request, ValidationHandler&& handler)
-{
     if (auto* contentSecurityPolicy = this->contentSecurityPolicy()) {
         if (isRedirected()) {
             URL url = ""
@@ -239,19 +229,22 @@
 }
 
 #if ENABLE(CONTENT_EXTENSIONS)
-void NetworkLoadChecker::processContentExtensionRulesForLoad(ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&, const ContentExtensions::BlockedStatus&)>&& callback)
+ContentExtensions::ContentExtensionsBackend& NetworkLoadChecker::contentExtensionsBackend()
 {
-    if (!m_userContentControllerIdentifier) {
-        ContentExtensions::BlockedStatus status;
-        callback(WTFMove(request), status);
-        return;
+    if (!m_contentExtensionsBackend) {
+        m_contentExtensionsBackend = std::make_unique<ContentExtensions::ContentExtensionsBackend>();
+        for (auto& pair : m_contentRuleLists)
+            m_contentExtensionsBackend->addContentExtension(pair.first, WebCompiledContentRuleList::create(WTFMove(pair.second)));
     }
-    NetworkProcess::singleton().networkContentRuleListManager().contentExtensionsBackend(*m_userContentControllerIdentifier, [protectedThis = makeRef(*this), this, request = WTFMove(request), callback = WTFMove(callback)](auto& backend) mutable {
-        auto status = backend.processContentExtensionRulesForPingLoad(request.url(), m_mainDocumentURL);
-        applyBlockedStatusToRequest(status, nullptr, request);
-        callback(WTFMove(request), status);
-    });
+    return *m_contentExtensionsBackend;
 }
+
+ContentExtensions::BlockedStatus NetworkLoadChecker::processContentExtensionRulesForLoad(ResourceRequest& request)
+{
+    auto status = contentExtensionsBackend().processContentExtensionRulesForPingLoad(request.url(), m_mainDocumentURL);
+    applyBlockedStatusToRequest(status, nullptr, request);
+    return status;
+}
 #endif // ENABLE(CONTENT_EXTENSIONS)
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadChecker.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -25,8 +25,8 @@
 
 #pragma once
 
-#include "NetworkContentRuleListManager.h"
 #include "NetworkResourceLoadParameters.h"
+#include <WebCore/ContentExtensionsBackend.h>
 #include <WebCore/ResourceError.h>
 #include <WebCore/ResourceResponse.h>
 #include <wtf/CompletionHandler.h>
@@ -40,12 +40,9 @@
 
 class NetworkCORSPreflightChecker;
 
-class NetworkLoadChecker : public RefCounted<NetworkLoadChecker> {
+class NetworkLoadChecker {
 public:
-    static Ref<NetworkLoadChecker> create(WebCore::FetchOptions::Mode mode, bool shouldFollowRedirects, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, PAL::SessionID sessionID, WebCore::HTTPHeaderMap&& originalHeaders, WebCore::URL&& url, RefPtr<WebCore::SecurityOrigin>&& sourceOrigin)
-    {
-        return adoptRef(*new NetworkLoadChecker { mode, shouldFollowRedirects, storedCredentialsPolicy, sessionID, WTFMove(originalHeaders), WTFMove(url), WTFMove(sourceOrigin) });
-    }
+    NetworkLoadChecker(WebCore::FetchOptions::Mode, bool shouldFollowRedirects, WebCore::StoredCredentialsPolicy, PAL::SessionID, WebCore::HTTPHeaderMap&&, WebCore::URL&&, RefPtr<WebCore::SecurityOrigin>&&);
     ~NetworkLoadChecker();
 
     using RequestOrError = Expected<WebCore::ResourceRequest, WebCore::ResourceError>;
@@ -55,10 +52,10 @@
 
     void setCSPResponseHeaders(WebCore::ContentSecurityPolicyResponseHeaders&& headers) { m_cspResponseHeaders = WTFMove(headers); }
 #if ENABLE(CONTENT_EXTENSIONS)
-    void setContentExtensionController(WebCore::URL&& mainDocumentURL, std::optional<UserContentControllerIdentifier> identifier)
+    void setContentExtensionRuleLists(WebCore::URL&& mainDocumentURL, Vector<std::pair<String, WebCompiledContentRuleListData>>&& contentRuleLists)
     {
         m_mainDocumentURL = WTFMove(mainDocumentURL);
-        m_userContentControllerIdentifier = identifier;
+        m_contentRuleLists = WTFMove(contentRuleLists);
     }
 #endif
 
@@ -66,8 +63,6 @@
     WebCore::StoredCredentialsPolicy storedCredentialsPolicy() const { return m_storedCredentialsPolicy; }
 
 private:
-    NetworkLoadChecker(WebCore::FetchOptions::Mode, bool shouldFollowRedirects, WebCore::StoredCredentialsPolicy, PAL::SessionID, WebCore::HTTPHeaderMap&&, WebCore::URL&&, RefPtr<WebCore::SecurityOrigin>&&);
-
     WebCore::ContentSecurityPolicy* contentSecurityPolicy() const;
     bool isChecking() const { return !!m_corsPreflightChecker; }
     bool isRedirected() const { return m_redirectCount; }
@@ -74,8 +69,6 @@
 
     void checkRequest(WebCore::ResourceRequest&&, ValidationHandler&&);
 
-    void continueCheckingRequest(WebCore::ResourceRequest&&, ValidationHandler&&);
-
     bool doesNotNeedCORSCheck(const WebCore::URL&) const;
     void checkCORSRequest(WebCore::ResourceRequest&&, ValidationHandler&&);
     void checkCORSRedirectedRequest(WebCore::ResourceRequest&&, ValidationHandler&&);
@@ -84,7 +77,8 @@
     RequestOrError returnError(String&& error);
 
 #if ENABLE(CONTENT_EXTENSIONS)
-    void processContentExtensionRulesForLoad(WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&, const WebCore::ContentExtensions::BlockedStatus&)>&&);
+    WebCore::ContentExtensions::ContentExtensionsBackend& contentExtensionsBackend();
+    WebCore::ContentExtensions::BlockedStatus processContentExtensionRulesForLoad(WebCore::ResourceRequest&);
 #endif
 
     WebCore::FetchOptions::Mode m_mode;
@@ -98,7 +92,7 @@
     std::optional<WebCore::ContentSecurityPolicyResponseHeaders> m_cspResponseHeaders;
 #if ENABLE(CONTENT_EXTENSIONS)
     WebCore::URL m_mainDocumentURL;
-    std::optional<UserContentControllerIdentifier> m_userContentControllerIdentifier;
+    Vector<std::pair<String, WebCompiledContentRuleListData>> m_contentRuleLists;
 #endif
 
     std::unique_ptr<NetworkCORSPreflightChecker> m_corsPreflightChecker;
@@ -105,6 +99,9 @@
     bool m_isSameOriginRequest { true };
     bool m_isSimpleRequest { true };
     mutable std::unique_ptr<WebCore::ContentSecurityPolicy> m_contentSecurityPolicy;
+#if ENABLE(CONTENT_EXTENSIONS)
+    std::unique_ptr<WebCore::ContentExtensions::ContentExtensionsBackend> m_contentExtensionsBackend;
+#endif
     size_t m_redirectCount { 0 };
     WebCore::URL m_previousURL;
 };

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -39,7 +39,6 @@
 #include "Logging.h"
 #include "NetworkBlobRegistry.h"
 #include "NetworkConnectionToWebProcess.h"
-#include "NetworkContentRuleListManagerMessages.h"
 #include "NetworkProcessCreationParameters.h"
 #include "NetworkProcessPlatformStrategies.h"
 #include "NetworkProcessProxyMessages.h"
@@ -172,13 +171,6 @@
         return;
     }
 
-#if ENABLE(CONTENT_EXTENSIONS)
-    if (decoder.messageReceiverName() == Messages::NetworkContentRuleListManager::messageReceiverName()) {
-        m_NetworkContentRuleListManager.didReceiveMessage(connection, decoder);
-        return;
-    }
-#endif
-
     didReceiveNetworkProcessMessage(connection, decoder);
 }
 

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -29,7 +29,6 @@
 #include "ChildProcess.h"
 #include "DownloadManager.h"
 #include "MessageReceiverMap.h"
-#include "NetworkContentRuleListManager.h"
 #include <WebCore/DiagnosticLoggingClient.h>
 #include <memory>
 #include <pal/SessionID.h>
@@ -158,10 +157,6 @@
     void setSessionIsControlledByAutomation(PAL::SessionID, bool);
     bool sessionIsControlledByAutomation(PAL::SessionID) const;
 
-#if ENABLE(CONTENT_EXTENSIONS)
-    NetworkContentRuleListManager& networkContentRuleListManager() { return m_NetworkContentRuleListManager; }
-#endif
-
 private:
     NetworkProcess();
     ~NetworkProcess();
@@ -296,10 +291,6 @@
 #if PLATFORM(IOS)
     WebSQLiteDatabaseTracker m_webSQLiteDatabaseTracker;
 #endif
-
-#if ENABLE(CONTENT_EXTENSIONS)
-    NetworkContentRuleListManager m_NetworkContentRuleListManager;
-#endif
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -93,7 +93,7 @@
 
 #if ENABLE(CONTENT_EXTENSIONS)
     encoder << mainDocumentURL;
-    encoder << userContentControllerIdentifier;
+    encoder << contentRuleLists;
 #endif
 }
 
@@ -184,11 +184,11 @@
     if (!decoder.decode(result.mainDocumentURL))
         return false;
 
-    std::optional<std::optional<UserContentControllerIdentifier>> userContentControllerIdentifier;
-    decoder >> userContentControllerIdentifier;
-    if (!userContentControllerIdentifier)
+    std::optional<Vector<std::pair<String, WebCompiledContentRuleListData>>> contentRuleLists;
+    decoder >> contentRuleLists;
+    if (!contentRuleLists)
         return false;
-    result.userContentControllerIdentifier = *userContentControllerIdentifier;
+    result.contentRuleLists = WTFMove(*contentRuleLists);
 #endif
 
     return true;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -27,7 +27,7 @@
 
 #include "NetworkLoadParameters.h"
 #include "SandboxExtension.h"
-#include "UserContentControllerIdentifier.h"
+#include "WebCompiledContentRuleListData.h"
 #include <WebCore/ContentSecurityPolicyResponseHeaders.h>
 #include <WebCore/FetchOptions.h>
 #include <WebCore/ResourceLoaderOptions.h>
@@ -61,7 +61,7 @@
 
 #if ENABLE(CONTENT_EXTENSIONS)
     WebCore::URL mainDocumentURL;
-    std::optional<UserContentControllerIdentifier> userContentControllerIdentifier;
+    Vector<std::pair<String, WebCompiledContentRuleListData>> contentRuleLists;
 #endif
 };
 

Modified: trunk/Source/WebKit/NetworkProcess/PingLoad.cpp (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/PingLoad.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/PingLoad.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -42,13 +42,13 @@
     : m_parameters(WTFMove(parameters))
     , m_completionHandler(WTFMove(completionHandler))
     , m_timeoutTimer(*this, &PingLoad::timeoutTimerFired)
-    , m_networkLoadChecker(NetworkLoadChecker::create(m_parameters.mode, m_parameters.shouldFollowRedirects, m_parameters.storedCredentialsPolicy, m_parameters.sessionID, WTFMove(originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef()))
+    , m_networkLoadChecker(makeUniqueRef<NetworkLoadChecker>(m_parameters.mode, m_parameters.shouldFollowRedirects, m_parameters.storedCredentialsPolicy, m_parameters.sessionID, WTFMove(originalRequestHeaders), URL { m_parameters.request.url() }, m_parameters.sourceOrigin.copyRef()))
 {
 
     if (m_parameters.cspResponseHeaders)
         m_networkLoadChecker->setCSPResponseHeaders(WTFMove(m_parameters.cspResponseHeaders.value()));
 #if ENABLE(CONTENT_EXTENSIONS)
-    m_networkLoadChecker->setContentExtensionController(WTFMove(m_parameters.mainDocumentURL), m_parameters.userContentControllerIdentifier);
+    m_networkLoadChecker->setContentExtensionRuleLists(WTFMove(m_parameters.mainDocumentURL), WTFMove(m_parameters.contentRuleLists));
 #endif
 
     // If the server never responds, this object will hang around forever.

Modified: trunk/Source/WebKit/NetworkProcess/PingLoad.h (230217 => 230218)


--- trunk/Source/WebKit/NetworkProcess/PingLoad.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/NetworkProcess/PingLoad.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -70,7 +70,7 @@
     WTF::CompletionHandler<void(const WebCore::ResourceError&, const WebCore::ResourceResponse&)> m_completionHandler;
     RefPtr<NetworkDataTask> m_task;
     WebCore::Timer m_timeoutTimer;
-    Ref<NetworkLoadChecker> m_networkLoadChecker;
+    UniqueRef<NetworkLoadChecker> m_networkLoadChecker;
     std::optional<WebCore::ResourceRequest> m_lastRedirectionRequest;
 };
 

Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (230217 => 230218)


--- trunk/Source/WebKit/Scripts/webkit/messages.py	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py	2018-04-03 19:58:09 UTC (rev 230218)
@@ -185,7 +185,6 @@
             types_by_namespace['IPC'].update([('class', 'Connection')])
 
     no_forward_declaration_types = frozenset([
-        'String',
         'WebCore::DocumentIdentifier',
         'WebCore::ServiceWorkerIdentifier',
         'WebCore::ServiceWorkerJobIdentifier',
@@ -193,7 +192,7 @@
         'WebCore::ServiceWorkerOrClientIdentifier',
         'WebCore::ServiceWorkerRegistrationIdentifier',
         'WebCore::SWServerConnectionIdentifier',
-        'WebKit::UserContentControllerIdentifier',
+        'String',
     ])
 
     for parameter in receiver.iterparameters():

Deleted: trunk/Source/WebKit/Shared/UserContentControllerIdentifier.h (230217 => 230218)


--- trunk/Source/WebKit/Shared/UserContentControllerIdentifier.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/Shared/UserContentControllerIdentifier.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -1,35 +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 <wtf/ObjectIdentifier.h>
-
-namespace WebKit {
-
-enum UserContentControllerIdentifierType { };
-using UserContentControllerIdentifier = ObjectIdentifier<UserContentControllerIdentifierType>;
-
-}

Modified: trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp (230217 => 230218)


--- trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -179,13 +179,8 @@
         return std::nullopt;
     if (!decoder.decode(parameters.highestUsedBackForwardItemID))
         return std::nullopt;
-
-    std::optional<UserContentControllerIdentifier> userContentControllerIdentifier;
-    decoder >> userContentControllerIdentifier;
-    if (!userContentControllerIdentifier)
+    if (!decoder.decode(parameters.userContentControllerID))
         return std::nullopt;
-    parameters.userContentControllerID = *userContentControllerIdentifier;
-
     if (!decoder.decode(parameters.visitedLinkTableID))
         return std::nullopt;
     if (!decoder.decode(parameters.websiteDataStoreID))

Modified: trunk/Source/WebKit/Shared/WebPageCreationParameters.h (230217 => 230218)


--- trunk/Source/WebKit/Shared/WebPageCreationParameters.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/Shared/WebPageCreationParameters.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -98,7 +98,7 @@
     PAL::SessionID sessionID;
     uint64_t highestUsedBackForwardItemID;
 
-    UserContentControllerIdentifier userContentControllerID;
+    uint64_t userContentControllerID;
     uint64_t visitedLinkTableID;
     uint64_t websiteDataStoreID;
     bool canRunBeforeUnloadConfirmPanel;

Modified: trunk/Source/WebKit/Shared/WebPageGroupData.cpp (230217 => 230218)


--- trunk/Source/WebKit/Shared/WebPageGroupData.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/Shared/WebPageGroupData.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -53,11 +53,10 @@
     bool visibleToHistoryClient;
     if (!decoder.decode(visibleToHistoryClient))
         return std::nullopt;
-    std::optional<UserContentControllerIdentifier> userContentControllerIdentifier;
-    decoder >> userContentControllerIdentifier;
-    if (!userContentControllerIdentifier)
+    uint64_t userContentControllerIdentifier;
+    if (!decoder.decode(userContentControllerIdentifier))
         return std::nullopt;
-    return { { id, pageGroupID, visibleToInjectedBundle, visibleToHistoryClient, *userContentControllerIdentifier } };
+    return { { id, pageGroupID, visibleToInjectedBundle, visibleToHistoryClient, userContentControllerIdentifier } };
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/Shared/WebPageGroupData.h (230217 => 230218)


--- trunk/Source/WebKit/Shared/WebPageGroupData.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/Shared/WebPageGroupData.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "UserContentControllerIdentifier.h"
 #include <wtf/text/WTFString.h>
 
 namespace IPC {
@@ -44,7 +43,7 @@
     bool visibleToInjectedBundle;
     bool visibleToHistoryClient;
 
-    UserContentControllerIdentifier userContentControllerIdentifier;
+    uint64_t userContentControllerIdentifier;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (230217 => 230218)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "NetworkProcessProxy.h"
 
-#include "APIContentRuleList.h"
 #include "AuthenticationChallengeProxy.h"
 #include "DownloadProxyMessages.h"
 #if ENABLE(LEGACY_CUSTOM_PROTOCOL_MANAGER)
@@ -33,16 +32,13 @@
 #include "LegacyCustomProtocolManagerProxyMessages.h"
 #endif
 #include "Logging.h"
-#include "NetworkContentRuleListManagerMessages.h"
 #include "NetworkProcessCreationParameters.h"
 #include "NetworkProcessMessages.h"
 #include "SandboxExtension.h"
 #include "StorageProcessMessages.h"
-#include "WebCompiledContentRuleList.h"
 #include "WebPageProxy.h"
 #include "WebProcessMessages.h"
 #include "WebProcessPool.h"
-#include "WebUserContentControllerProxy.h"
 #include "WebsiteData.h"
 #include <wtf/CompletionHandler.h>
 
@@ -89,10 +85,6 @@
     ASSERT(m_pendingFetchWebsiteDataCallbacks.isEmpty());
     ASSERT(m_pendingDeleteWebsiteDataCallbacks.isEmpty());
     ASSERT(m_pendingDeleteWebsiteDataForOriginsCallbacks.isEmpty());
-#if ENABLE(CONTENT_EXTENSIONS)
-    for (auto* proxy : m_webUserContentControllerProxies)
-        proxy->removeNetworkProcess(*this);
-#endif
 }
 
 void NetworkProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
@@ -548,28 +540,4 @@
     }
 }
 
-
-#if ENABLE(CONTENT_EXTENSIONS)
-void NetworkProcessProxy::contentExtensionRules(UserContentControllerIdentifier identifier)
-{
-    if (auto* webUserContentControllerProxy = WebUserContentControllerProxy::get(identifier)) {
-        m_webUserContentControllerProxies.add(webUserContentControllerProxy);
-        webUserContentControllerProxy->addNetworkProcess(*this);
-
-        auto rules = WTF::map(webUserContentControllerProxy->contentExtensionRules(), [](auto&& keyValue) -> std::pair<String, WebCompiledContentRuleListData> {
-            return std::make_pair(keyValue.value->name(), keyValue.value->compiledRuleList().data());
-        });
-        send(Messages::NetworkContentRuleListManager::AddContentRuleLists { identifier, rules }, 0);
-        return;
-    }
-    send(Messages::NetworkContentRuleListManager::AddContentRuleLists { identifier, { } }, 0);
-}
-
-void NetworkProcessProxy::didDestroyWebUserContentControllerProxy(WebUserContentControllerProxy& proxy)
-{
-    send(Messages::NetworkContentRuleListManager::Remove { proxy.identifier() }, 0);
-    m_webUserContentControllerProxies.remove(&proxy);
-}
-#endif
-
 } // namespace WebKit

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (230217 => 230218)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -33,7 +33,6 @@
 #include "ProcessLauncher.h"
 #include "ProcessThrottler.h"
 #include "ProcessThrottlerClient.h"
-#include "UserContentControllerIdentifier.h"
 #include "WebProcessProxyMessages.h"
 #include <memory>
 #include <wtf/Deque.h>
@@ -60,7 +59,6 @@
 enum class WebsiteDataFetchOption;
 enum class WebsiteDataType;
 struct NetworkProcessCreationParameters;
-class WebUserContentControllerProxy;
 struct WebsiteData;
 
 class NetworkProcessProxy : public ChildProcessProxy, private ProcessThrottlerClient {
@@ -96,10 +94,6 @@
     ProcessThrottler& throttler() { return m_throttler; }
     WebProcessPool& processPool() { return m_processPool; }
 
-#if ENABLE(CONTENT_EXTENSIONS)
-    void didDestroyWebUserContentControllerProxy(WebUserContentControllerProxy&);
-#endif
-
 private:
     NetworkProcessProxy(WebProcessPool&);
 
@@ -145,10 +139,6 @@
     void allStorageAccessEntriesResult(Vector<String>&& domains, uint64_t contextId);
 #endif
 
-#if ENABLE(CONTENT_EXTENSIONS)
-    void contentExtensionRules(UserContentControllerIdentifier);
-#endif
-
     // ProcessLauncher::Client
     void didFinishLaunching(ProcessLauncher*, IPC::Connection::Identifier) override;
 
@@ -171,10 +161,6 @@
     HashMap<uint64_t, CompletionHandler<void(bool success)>> m_writeBlobToFilePathCallbackMap;
     HashMap<uint64_t, WTF::CompletionHandler<void(bool wasGranted)>> m_storageAccessResponseCallbackMap;
     HashMap<uint64_t, CompletionHandler<void(Vector<String>&& domains)>> m_allStorageAccessEntriesCallbackMap;
-
-#if ENABLE(CONTENT_EXTENSIONS)
-    HashSet<WebUserContentControllerProxy*> m_webUserContentControllerProxies;
-#endif
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in (230217 => 230218)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2018-04-03 19:58:09 UTC (rev 230218)
@@ -47,8 +47,4 @@
 #if HAVE(CFNETWORK_STORAGE_PARTITIONING)
     StorageAccessRequestResult(bool wasGranted, uint64_t contextId)
     AllStorageAccessEntriesResult(Vector<String> domains, uint64_t contextId)
-
-#if ENABLE(CONTENT_EXTENSIONS)
-    ContentExtensionRules(WebKit::UserContentControllerIdentifier identifier)
-#endif
 }

Modified: trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp (230217 => 230218)


--- trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -31,8 +31,6 @@
 #include "APIUserScript.h"
 #include "APIUserStyleSheet.h"
 #include "DataReference.h"
-#include "NetworkContentRuleListManagerMessages.h"
-#include "NetworkProcessProxy.h"
 #include "WebPageCreationParameters.h"
 #include "WebProcessProxy.h"
 #include "WebScriptMessageHandler.h"
@@ -48,37 +46,18 @@
 
 namespace WebKit {
 
-static HashMap<UserContentControllerIdentifier, WebUserContentControllerProxy*>& webUserContentControllerProxies()
-{
-    static NeverDestroyed<HashMap<UserContentControllerIdentifier, WebUserContentControllerProxy*>> proxies;
-    return proxies;
-}
-
-
-WebUserContentControllerProxy* WebUserContentControllerProxy::get(UserContentControllerIdentifier identifier)
-{
-    return webUserContentControllerProxies().get(identifier);
-}
-    
 WebUserContentControllerProxy::WebUserContentControllerProxy()
-    : m_identifier(generateObjectIdentifier<UserContentControllerIdentifierType>())
-    , m_userScripts(API::Array::create())
+    : m_userScripts(API::Array::create())
     , m_userStyleSheets(API::Array::create())
 {
-    webUserContentControllerProxies().add(m_identifier, this);
 }
 
 WebUserContentControllerProxy::~WebUserContentControllerProxy()
 {
-    webUserContentControllerProxies().remove(m_identifier);
-    for (auto* process : m_processes) {
-        process->removeMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), identifier().toUInt64());
+    for (WebProcessProxy* process : m_processes) {
+        process->removeMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), identifier());
         process->didDestroyWebUserContentControllerProxy(*this);
     }
-#if ENABLE(CONTENT_EXTENSIONS)
-    for (auto* process : m_networkProcesses)
-        process->didDestroyWebUserContentControllerProxy(*this);
-#endif
 }
 
 void WebUserContentControllerProxy::addProcess(WebProcessProxy& webProcessProxy, WebPageCreationParameters& parameters)
@@ -86,7 +65,7 @@
     if (!m_processes.add(&webProcessProxy).isNewEntry)
         return;
 
-    webProcessProxy.addMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), identifier().toUInt64(), *this);
+    webProcessProxy.addMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), identifier(), *this);
 
     ASSERT(parameters.userContentWorlds.isEmpty());
     for (const auto& world : m_userContentWorlds)
@@ -116,7 +95,7 @@
     ASSERT(m_processes.contains(&webProcessProxy));
 
     m_processes.remove(&webProcessProxy);
-    webProcessProxy.removeMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), identifier().toUInt64());
+    webProcessProxy.removeMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), identifier());
 }
 
 void WebUserContentControllerProxy::addUserContentWorldUse(API::UserContentWorld& world)
@@ -127,7 +106,7 @@
     auto addResult = m_userContentWorlds.add(&world);
     if (addResult.isNewEntry) {
         for (WebProcessProxy* process : m_processes)
-            process->send(Messages::WebUserContentController::AddUserContentWorlds({ std::make_pair(world.identifier(), world.name()) }), identifier().toUInt64());
+            process->send(Messages::WebUserContentController::AddUserContentWorlds({ std::make_pair(world.identifier(), world.name()) }), identifier());
     }
 }
 
@@ -151,7 +130,7 @@
 {
     if (shouldSendRemoveUserContentWorldsMessage(world, numberOfUsesToRemove)) {
         for (WebProcessProxy* process : m_processes)
-            process->send(Messages::WebUserContentController::RemoveUserContentWorlds({ world.identifier() }), identifier().toUInt64());
+            process->send(Messages::WebUserContentController::RemoveUserContentWorlds({ world.identifier() }), identifier());
     }
 }
 
@@ -164,7 +143,7 @@
     }
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveUserContentWorlds(worldsToRemove), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveUserContentWorlds(worldsToRemove), identifier());
 }
 
 void WebUserContentControllerProxy::addUserScript(API::UserScript& userScript)
@@ -176,7 +155,7 @@
     m_userScripts->elements().append(&userScript);
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::AddUserScripts({ { userScript.identifier(), world->identifier(), userScript.userScript() } }), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::AddUserScripts({ { userScript.identifier(), world->identifier(), userScript.userScript() } }), identifier());
 }
 
 void WebUserContentControllerProxy::removeUserScript(API::UserScript& userScript)
@@ -184,7 +163,7 @@
     Ref<API::UserContentWorld> world = userScript.userContentWorld();
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveUserScript(world->identifier(), userScript.identifier()), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveUserScript(world->identifier(), userScript.identifier()), identifier());
 
     m_userScripts->elements().removeAll(&userScript);
 
@@ -194,7 +173,7 @@
 void WebUserContentControllerProxy::removeAllUserScripts(API::UserContentWorld& world)
 {
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveAllUserScripts({ world.identifier() }), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveAllUserScripts({ world.identifier() }), identifier());
 
     unsigned userScriptsRemoved = m_userScripts->removeAllOfTypeMatching<API::UserScript>([&](const auto& userScript) {
         return &userScript->userContentWorld() == &world;
@@ -215,7 +194,7 @@
         worldIdentifiers.uncheckedAppend(worldCountPair.key->identifier());
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveAllUserScripts(worldIdentifiers), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveAllUserScripts(worldIdentifiers), identifier());
 
     m_userScripts->elements().clear();
 
@@ -231,7 +210,7 @@
     m_userStyleSheets->elements().append(&userStyleSheet);
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::AddUserStyleSheets({ { userStyleSheet.identifier(), world->identifier(), userStyleSheet.userStyleSheet() } }), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::AddUserStyleSheets({ { userStyleSheet.identifier(), world->identifier(), userStyleSheet.userStyleSheet() } }), identifier());
 }
 
 void WebUserContentControllerProxy::removeUserStyleSheet(API::UserStyleSheet& userStyleSheet)
@@ -239,7 +218,7 @@
     Ref<API::UserContentWorld> world = userStyleSheet.userContentWorld();
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveUserStyleSheet(world->identifier(), userStyleSheet.identifier()), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveUserStyleSheet(world->identifier(), userStyleSheet.identifier()), identifier());
 
     m_userStyleSheets->elements().removeAll(&userStyleSheet);
 
@@ -249,7 +228,7 @@
 void WebUserContentControllerProxy::removeAllUserStyleSheets(API::UserContentWorld& world)
 {
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveAllUserStyleSheets({ world.identifier() }), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveAllUserStyleSheets({ world.identifier() }), identifier());
 
     unsigned userStyleSheetsRemoved = m_userStyleSheets->removeAllOfTypeMatching<API::UserStyleSheet>([&](const auto& userStyleSheet) {
         return &userStyleSheet->userContentWorld() == &world;
@@ -270,7 +249,7 @@
         worldIdentifiers.uncheckedAppend(worldCountPair.key->identifier());
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveAllUserStyleSheets(worldIdentifiers), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveAllUserStyleSheets(worldIdentifiers), identifier());
 
     m_userStyleSheets->elements().clear();
 
@@ -291,7 +270,7 @@
     m_scriptMessageHandlers.add(handler.identifier(), &handler);
 
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::AddUserScriptMessageHandlers({ { handler.identifier(), world->identifier(), handler.name() } }), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::AddUserScriptMessageHandlers({ { handler.identifier(), world->identifier(), handler.name() } }), identifier());
     
     return true;
 }
@@ -301,7 +280,7 @@
     for (auto it = m_scriptMessageHandlers.begin(), end = m_scriptMessageHandlers.end(); it != end; ++it) {
         if (it->value->name() == name && &it->value->userContentWorld() == &world) {
             for (WebProcessProxy* process : m_processes)
-                process->send(Messages::WebUserContentController::RemoveUserScriptMessageHandler(world.identifier(), it->value->identifier()), identifier().toUInt64());
+                process->send(Messages::WebUserContentController::RemoveUserScriptMessageHandler(world.identifier(), it->value->identifier()), identifier());
 
             m_scriptMessageHandlers.remove(it);
 
@@ -314,7 +293,7 @@
 void WebUserContentControllerProxy::removeAllUserMessageHandlers(API::UserContentWorld& world)
 {
     for (WebProcessProxy* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveAllUserScriptMessageHandlers({ world.identifier() }), identifier().toUInt64());
+        process->send(Messages::WebUserContentController::RemoveAllUserScriptMessageHandlers({ world.identifier() }), identifier());
 
     unsigned numberRemoved = 0;
     m_scriptMessageHandlers.removeIf([&](auto& entry) {
@@ -351,11 +330,8 @@
 
     auto pair = std::make_pair(contentRuleList.name(), contentRuleList.compiledRuleList().data());
 
-    for (auto* process : m_processes)
-        process->send(Messages::WebUserContentController::AddContentRuleLists({ pair }), identifier().toUInt64());
-
-    for (auto* process : m_networkProcesses)
-        process->send(Messages::NetworkContentRuleListManager::AddContentRuleLists { identifier(), { pair } }, 0);
+    for (WebProcessProxy* process : m_processes)
+        process->send(Messages::WebUserContentController::AddContentRuleLists({ pair }), identifier());
 }
 
 void WebUserContentControllerProxy::removeContentRuleList(const String& name)
@@ -362,11 +338,8 @@
 {
     m_contentRuleLists.remove(name);
 
-    for (auto* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveContentRuleList(name), identifier().toUInt64());
-
-    for (auto* process : m_networkProcesses)
-        process->send(Messages::NetworkContentRuleListManager::RemoveContentRuleList { identifier(), name }, 0);
+    for (WebProcessProxy* process : m_processes)
+        process->send(Messages::WebUserContentController::RemoveContentRuleList(name), identifier());
 }
 
 void WebUserContentControllerProxy::removeAllContentRuleLists()
@@ -373,11 +346,8 @@
 {
     m_contentRuleLists.clear();
 
-    for (auto* process : m_processes)
-        process->send(Messages::WebUserContentController::RemoveAllContentRuleLists(), identifier().toUInt64());
-
-    for (auto* process : m_networkProcesses)
-        process->send(Messages::NetworkContentRuleListManager::RemoveAllContentRuleLists { identifier() }, 0);
+    for (WebProcessProxy* process : m_processes)
+        process->send(Messages::WebUserContentController::RemoveAllContentRuleLists(), identifier());
 }
 #endif
 

Modified: trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.h (230217 => 230218)


--- trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -27,11 +27,11 @@
 
 #include "APIObject.h"
 #include "MessageReceiver.h"
-#include "UserContentControllerIdentifier.h"
 #include <wtf/Forward.h>
 #include <wtf/HashCountedSet.h>
 #include <wtf/HashMap.h>
 #include <wtf/HashSet.h>
+#include <wtf/Identified.h>
 #include <wtf/Ref.h>
 #include <wtf/RefCounted.h>
 #include <wtf/text/StringHash.h>
@@ -54,23 +54,20 @@
 
 namespace WebKit {
 
-class NetworkProcessProxy;
 class WebProcessProxy;
 class WebScriptMessageHandler;
 struct FrameInfoData;
 struct WebPageCreationParameters;
 
-class WebUserContentControllerProxy : public API::ObjectImpl<API::Object::Type::UserContentController>, private IPC::MessageReceiver {
+class WebUserContentControllerProxy : public API::ObjectImpl<API::Object::Type::UserContentController>, private IPC::MessageReceiver, public Identified<WebUserContentControllerProxy> {
 public:
     static Ref<WebUserContentControllerProxy> create()
     { 
         return adoptRef(*new WebUserContentControllerProxy);
-    }
-    WebUserContentControllerProxy();
+    } 
+    explicit WebUserContentControllerProxy();
     ~WebUserContentControllerProxy();
 
-    static WebUserContentControllerProxy* get(UserContentControllerIdentifier);
-
     void addProcess(WebProcessProxy&, WebPageCreationParameters&);
     void removeProcess(WebProcessProxy&);
 
@@ -94,17 +91,11 @@
     void removeAllUserMessageHandlers(API::UserContentWorld&);
 
 #if ENABLE(CONTENT_EXTENSIONS)
-    void addNetworkProcess(NetworkProcessProxy& proxy) { m_networkProcesses.remove(&proxy); }
-    void removeNetworkProcess(NetworkProcessProxy& proxy) { m_networkProcesses.add(&proxy); }
-
     void addContentRuleList(API::ContentRuleList&);
     void removeContentRuleList(const String&);
     void removeAllContentRuleLists();
-    const HashMap<String, RefPtr<API::ContentRuleList>>& contentExtensionRules() { return m_contentRuleLists; }
 #endif
 
-    UserContentControllerIdentifier identifier() const { return m_identifier; }
-
 private:
     // IPC::MessageReceiver.
     void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
@@ -116,8 +107,7 @@
     void removeUserContentWorldUses(HashCountedSet<RefPtr<API::UserContentWorld>>&);
     bool shouldSendRemoveUserContentWorldsMessage(API::UserContentWorld&, unsigned numberOfUsesToRemove);
 
-    UserContentControllerIdentifier m_identifier;
-    HashSet<WebProcessProxy*> m_processes;
+    HashSet<WebProcessProxy*> m_processes;    
     Ref<API::Array> m_userScripts;
     Ref<API::Array> m_userStyleSheets;
     HashMap<uint64_t, RefPtr<WebScriptMessageHandler>> m_scriptMessageHandlers;
@@ -124,7 +114,6 @@
     HashCountedSet<RefPtr<API::UserContentWorld>> m_userContentWorlds;
 
 #if ENABLE(CONTENT_EXTENSIONS)
-    HashSet<NetworkProcessProxy*> m_networkProcesses;
     HashMap<String, RefPtr<API::ContentRuleList>> m_contentRuleLists;
 #endif
 };

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (230217 => 230218)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-04-03 19:58:09 UTC (rev 230218)
@@ -954,7 +954,6 @@
 		41FAF5F51E3C0649001AE678 /* WebRTCResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 41FAF5F41E3C0641001AE678 /* WebRTCResolver.h */; };
 		41FAF5F81E3C1021001AE678 /* LibWebRTCResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 41FAF5F61E3C0B47001AE678 /* LibWebRTCResolver.h */; };
 		41FAF5F91E3C1025001AE678 /* LibWebRTCResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41FAF5F71E3C0B47001AE678 /* LibWebRTCResolver.cpp */; };
-		41FBE826206DF7FA000F0741 /* NetworkContentRuleListManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41FBE824206DA79C000F0741 /* NetworkContentRuleListManager.cpp */; };
 		4450AEC01DC3FAE5009943F2 /* SharedMemoryCocoa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4450AEBF1DC3FAE5009943F2 /* SharedMemoryCocoa.cpp */; };
 		460F488F1F996F7100CF4B87 /* WebSWContextManagerConnectionMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 460F488D1F996F6C00CF4B87 /* WebSWContextManagerConnectionMessageReceiver.cpp */; };
 		460F48901F996F7100CF4B87 /* WebSWContextManagerConnectionMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 460F488E1F996F6C00CF4B87 /* WebSWContextManagerConnectionMessages.h */; };
@@ -1193,7 +1192,6 @@
 		52D5A1B01C57495A00DE34A3 /* VideoFullscreenManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 52D5A1AA1C57494E00DE34A3 /* VideoFullscreenManagerProxy.h */; };
 		52D5A1B11C57496200DE34A3 /* VideoFullscreenManagerProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52D5A1AC1C57494E00DE34A3 /* VideoFullscreenManagerProxy.mm */; };
 		52D5A1B71C574A0200DE34A3 /* VideoFullscreenManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52D5A1B41C5749F200DE34A3 /* VideoFullscreenManager.mm */; };
-		52F060E11654318500F3281B /* NetworkContentRuleListManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F060DD1654317500F3281B /* NetworkContentRuleListManagerMessageReceiver.cpp */; };
 		5302583B1DCBBD2200DA89C2 /* NetworkCaptureResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5302582E1DCBBD1D00DA89C2 /* NetworkCaptureResource.cpp */; };
 		5302583C1DCBBD2200DA89C2 /* NetworkCaptureResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 5302582F1DCBBD1D00DA89C2 /* NetworkCaptureResource.h */; };
 		5302583D1DCBBD2200DA89C2 /* NetworkCaptureEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530258301DCBBD1D00DA89C2 /* NetworkCaptureEvent.cpp */; };
@@ -3336,10 +3334,6 @@
 		41FAF5F41E3C0641001AE678 /* WebRTCResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebRTCResolver.h; path = Network/webrtc/WebRTCResolver.h; sourceTree = "<group>"; };
 		41FAF5F61E3C0B47001AE678 /* LibWebRTCResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCResolver.h; path = Network/webrtc/LibWebRTCResolver.h; sourceTree = "<group>"; };
 		41FAF5F71E3C0B47001AE678 /* LibWebRTCResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCResolver.cpp; path = Network/webrtc/LibWebRTCResolver.cpp; sourceTree = "<group>"; };
-		41FBE821206D87F6000F0741 /* UserContentControllerIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserContentControllerIdentifier.h; sourceTree = "<group>"; };
-		41FBE822206DA79C000F0741 /* NetworkContentRuleListManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkContentRuleListManager.h; path = NetworkProcess/NetworkContentRuleListManager.h; sourceTree = "<group>"; };
-		41FBE823206DA79C000F0741 /* NetworkContentRuleListManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NetworkContentRuleListManager.messages.in; path = NetworkProcess/NetworkContentRuleListManager.messages.in; sourceTree = "<group>"; };
-		41FBE824206DA79C000F0741 /* NetworkContentRuleListManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkContentRuleListManager.cpp; path = NetworkProcess/NetworkContentRuleListManager.cpp; sourceTree = "<group>"; };
 		4450AEBF1DC3FAE5009943F2 /* SharedMemoryCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedMemoryCocoa.cpp; sourceTree = "<group>"; };
 		460F488D1F996F6C00CF4B87 /* WebSWContextManagerConnectionMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebSWContextManagerConnectionMessageReceiver.cpp; sourceTree = "<group>"; };
 		460F488E1F996F6C00CF4B87 /* WebSWContextManagerConnectionMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSWContextManagerConnectionMessages.h; sourceTree = "<group>"; };
@@ -3622,7 +3616,6 @@
 		52D5A1B21C5749F200DE34A3 /* VideoFullscreenManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoFullscreenManager.h; sourceTree = "<group>"; };
 		52D5A1B31C5749F200DE34A3 /* VideoFullscreenManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VideoFullscreenManager.messages.in; sourceTree = "<group>"; };
 		52D5A1B41C5749F200DE34A3 /* VideoFullscreenManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = VideoFullscreenManager.mm; sourceTree = "<group>"; };
-		52F060DD1654317500F3281B /* NetworkContentRuleListManagerMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkContentRuleListManagerMessageReceiver.cpp; sourceTree = "<group>"; };
 		5302582E1DCBBD1D00DA89C2 /* NetworkCaptureResource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkCaptureResource.cpp; path = NetworkProcess/capture/NetworkCaptureResource.cpp; sourceTree = "<group>"; };
 		5302582F1DCBBD1D00DA89C2 /* NetworkCaptureResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureResource.h; path = NetworkProcess/capture/NetworkCaptureResource.h; sourceTree = "<group>"; };
 		530258301DCBBD1D00DA89C2 /* NetworkCaptureEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkCaptureEvent.cpp; path = NetworkProcess/capture/NetworkCaptureEvent.cpp; sourceTree = "<group>"; };
@@ -5270,7 +5263,6 @@
 				1A64245C12DE29A100CAAE2C /* UpdateInfo.h */,
 				5C19A51E1FD0B14600EEA323 /* URLSchemeTaskParameters.cpp */,
 				5C19A51F1FD0B14700EEA323 /* URLSchemeTaskParameters.h */,
-				41FBE821206D87F6000F0741 /* UserContentControllerIdentifier.h */,
 				1AC1336518565B5700F3EC05 /* UserData.cpp */,
 				1AC1336618565B5700F3EC05 /* UserData.h */,
 				2684054A18B866FF0022C38B /* VisibleContentRectUpdateInfo.cpp */,
@@ -6359,9 +6351,6 @@
 				513A16491630A9BF005D7D22 /* NetworkConnectionToWebProcess.cpp */,
 				513A164A1630A9BF005D7D22 /* NetworkConnectionToWebProcess.h */,
 				513A164B1630A9BF005D7D22 /* NetworkConnectionToWebProcess.messages.in */,
-				41FBE824206DA79C000F0741 /* NetworkContentRuleListManager.cpp */,
-				41FBE822206DA79C000F0741 /* NetworkContentRuleListManager.h */,
-				41FBE823206DA79C000F0741 /* NetworkContentRuleListManager.messages.in */,
 				46DF06391F3905E5001980BB /* NetworkCORSPreflightChecker.cpp */,
 				46DF063A1F3905E5001980BB /* NetworkCORSPreflightChecker.h */,
 				532159511DBAE6FC0054AA3C /* NetworkDataTask.cpp */,
@@ -8247,7 +8236,6 @@
 				2984F57B164B915F004BC0C6 /* LegacyCustomProtocolManagerProxyMessages.h */,
 				51DD9F2616367DA2001578E9 /* NetworkConnectionToWebProcessMessageReceiver.cpp */,
 				51DD9F2716367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h */,
-				52F060DD1654317500F3281B /* NetworkContentRuleListManagerMessageReceiver.cpp */,
 				517CF0E1163A486C00C2950E /* NetworkProcessConnectionMessageReceiver.cpp */,
 				517CF0E2163A486C00C2950E /* NetworkProcessConnectionMessages.h */,
 				51ACC9341628064800342550 /* NetworkProcessMessageReceiver.cpp */,
@@ -10657,8 +10645,6 @@
 				5302583B1DCBBD2200DA89C2 /* NetworkCaptureResource.cpp in Sources */,
 				513A164C1630A9BF005D7D22 /* NetworkConnectionToWebProcess.cpp in Sources */,
 				51DD9F2816367DA2001578E9 /* NetworkConnectionToWebProcessMessageReceiver.cpp in Sources */,
-				41FBE826206DF7FA000F0741 /* NetworkContentRuleListManager.cpp in Sources */,
-				52F060E11654318500F3281B /* NetworkContentRuleListManagerMessageReceiver.cpp in Sources */,
 				46DF063B1F3905F8001980BB /* NetworkCORSPreflightChecker.cpp in Sources */,
 				532159541DBAE71D0054AA3C /* NetworkDataTask.cpp in Sources */,
 				53BA47D01DC2EF5E004DF4AD /* NetworkDataTaskBlob.cpp in Sources */,

Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (230217 => 230218)


--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -456,9 +456,6 @@
         return;
     }
 
-    WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame.loader().client());
-    WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : nullptr;
-
     NetworkResourceLoadParameters loadParameters;
     loadParameters.identifier = generateLoadIdentifier();
     loadParameters.request = request;
@@ -475,11 +472,13 @@
 
 #if ENABLE(CONTENT_EXTENSIONS)
     loadParameters.mainDocumentURL = document->topDocument().url();
-    // FIXME: Instead of passing userContentControllerIdentifier, we should just pass webPageId to NetworkProcess.
-    if (auto* page = frame.page()) {
-        WebPage* webPage = webFrame ? webFrame->page() : nullptr;
-        if (webPage)
-            loadParameters.userContentControllerIdentifier = webPage->userContentControllerIdentifier();
+
+    if (auto* documentLoader = frame.loader().documentLoader()) {
+        if (auto* page = frame.page()) {
+            page->userContentProvider().forEachContentExtension([&loadParameters](const String& identifier, ContentExtensions::ContentExtension& contentExtension) {
+                loadParameters.contentRuleLists.append(std::make_pair(identifier, static_cast<const WebCompiledContentRuleList&>(contentExtension.compiledExtension()).data()));
+            }, *documentLoader);
+        }
     }
 #endif
 

Modified: trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp (230217 => 230218)


--- trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp	2018-04-03 19:58:09 UTC (rev 230218)
@@ -50,9 +50,9 @@
 
 namespace WebKit {
 
-static HashMap<UserContentControllerIdentifier, WebUserContentController*>& userContentControllers()
+static HashMap<uint64_t, WebUserContentController*>& userContentControllers()
 {
-    static NeverDestroyed<HashMap<UserContentControllerIdentifier, WebUserContentController*>> userContentControllers;
+    static NeverDestroyed<HashMap<uint64_t, WebUserContentController*>> userContentControllers;
 
     return userContentControllers;
 }
@@ -66,7 +66,7 @@
     return map;
 }
 
-Ref<WebUserContentController> WebUserContentController::getOrCreate(UserContentControllerIdentifier identifier)
+Ref<WebUserContentController> WebUserContentController::getOrCreate(uint64_t identifier)
 {
     auto& userContentControllerPtr = userContentControllers().add(identifier, nullptr).iterator->value;
     if (userContentControllerPtr)
@@ -78,10 +78,10 @@
     return userContentController.releaseNonNull();
 }
 
-WebUserContentController::WebUserContentController(UserContentControllerIdentifier identifier)
+WebUserContentController::WebUserContentController(uint64_t identifier)
     : m_identifier(identifier)
 {
-    WebProcess::singleton().addMessageReceiver(Messages::WebUserContentController::messageReceiverName(), m_identifier.toUInt64(), *this);
+    WebProcess::singleton().addMessageReceiver(Messages::WebUserContentController::messageReceiverName(), m_identifier, *this);
 }
 
 WebUserContentController::~WebUserContentController()
@@ -88,7 +88,7 @@
 {
     ASSERT(userContentControllers().contains(m_identifier));
 
-    WebProcess::singleton().removeMessageReceiver(Messages::WebUserContentController::messageReceiverName(), m_identifier.toUInt64());
+    WebProcess::singleton().removeMessageReceiver(Messages::WebUserContentController::messageReceiverName(), m_identifier);
 
     userContentControllers().remove(m_identifier);
 }
@@ -242,7 +242,7 @@
         if (!webPage)
             return;
 
-        WebProcess::singleton().parentProcessConnection()->send(Messages::WebUserContentControllerProxy::DidPostMessage(webPage->pageID(), webFrame->info(), m_identifier, IPC::DataReference(value->data())), m_controller->identifier().toUInt64());
+        WebProcess::singleton().parentProcessConnection()->send(Messages::WebUserContentControllerProxy::DidPostMessage(webPage->pageID(), webFrame->info(), m_identifier, IPC::DataReference(value->data())), m_controller->identifier());
     }
 
     RefPtr<WebUserContentController> m_controller;

Modified: trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.h (230217 => 230218)


--- trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -26,7 +26,6 @@
 #pragma once
 
 #include "MessageReceiver.h"
-#include "UserContentControllerIdentifier.h"
 #include "WebScriptMessageHandler.h"
 #include "WebUserContentControllerDataTypes.h"
 #include <WebCore/UserContentProvider.h>
@@ -50,10 +49,10 @@
 
 class WebUserContentController final : public WebCore::UserContentProvider, private IPC::MessageReceiver {
 public:
-    static Ref<WebUserContentController> getOrCreate(UserContentControllerIdentifier);
+    static Ref<WebUserContentController> getOrCreate(uint64_t identifier);
     virtual ~WebUserContentController();
 
-    UserContentControllerIdentifier identifier() { return m_identifier; }
+    uint64_t identifier() { return m_identifier; } 
 
     void addUserScript(InjectedBundleScriptWorld&, WebCore::UserScript&&);
     void removeUserScriptWithURL(InjectedBundleScriptWorld&, const WebCore::URL&);
@@ -72,7 +71,7 @@
 #endif
 
 private:
-    explicit WebUserContentController(UserContentControllerIdentifier);
+    explicit WebUserContentController(uint64_t identifier);
 
     // WebCore::UserContentProvider
     void forEachUserScript(Function<void(WebCore::DOMWrapperWorld&, const WebCore::UserScript&)>&&) const final;
@@ -112,7 +111,7 @@
     void removeUserScriptMessageHandlerInternal(InjectedBundleScriptWorld&, uint64_t userScriptMessageHandlerIdentifier);
 #endif
 
-    UserContentControllerIdentifier m_identifier;
+    uint64_t m_identifier;
 
     typedef HashMap<RefPtr<InjectedBundleScriptWorld>, Vector<std::pair<uint64_t, WebCore::UserScript>>> WorldToUserScriptMap;
     WorldToUserScriptMap m_userScripts;
@@ -127,6 +126,7 @@
 #if ENABLE(CONTENT_EXTENSIONS)
     WebCore::ContentExtensions::ContentExtensionsBackend m_contentExtensionBackend;
 #endif
+
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (230217 => 230218)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2018-04-03 19:22:53 UTC (rev 230217)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2018-04-03 19:58:09 UTC (rev 230218)
@@ -46,7 +46,6 @@
 #include "SharedMemory.h"
 #include "UserData.h"
 #include "WebURLSchemeHandler.h"
-#include "WebUserContentController.h"
 #include <WebCore/ActivityState.h>
 #include <WebCore/DictionaryPopupInfo.h>
 #include <WebCore/FrameLoaderTypes.h>
@@ -1070,8 +1069,6 @@
     void openGLDisplayMaskChanged(uint32_t displayMask);
 #endif
 
-    UserContentControllerIdentifier userContentControllerIdentifier() const { return m_userContentController->identifier(); }
-
 private:
     WebPage(uint64_t pageID, WebPageCreationParameters&&);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to