Title: [291630] trunk/Source
Revision
291630
Author
pvol...@apple.com
Date
2022-03-22 10:43:51 -0700 (Tue, 22 Mar 2022)

Log Message

Enable content filtering in the Network process
https://bugs.webkit.org/show_bug.cgi?id=238156

Reviewed by Geoffrey Garen.

Source/WebCore:

There is no need for sandbox extensions in the WebContent process when content filtering
is taking place in the Network process.

* platform/cocoa/NetworkExtensionContentFilter.h:
* platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::enabled):

Source/WebKit:

Remove code associated with Network extension sandbox extensions.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* Shared/Cocoa/LoadParametersCocoa.mm:
(WebKit::LoadParameters::platformEncode const):
(WebKit::LoadParameters::platformDecode):
* Shared/LoadParameters.h:
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::addPlatformLoadParameters):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::reloadAfterUnblockedContentFilter): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsyncShared):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
* UIProcess/WebPageProxy.h:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::contentFilterDidBlockLoad):
(WebKit::WebResourceLoader::cancelMainResourceLoadForContentFilter): Deleted.
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
* WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformDidReceiveLoadParameters):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceivePolicyDecision):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/com.apple.WebProcess.sb.in:

Source/WTF:

Set the feature flag.

* wtf/PlatformEnableCocoa.h:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (291629 => 291630)


--- trunk/Source/WTF/ChangeLog	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WTF/ChangeLog	2022-03-22 17:43:51 UTC (rev 291630)
@@ -1,3 +1,14 @@
+2022-03-22  Per Arne Vollan  <pvol...@apple.com>
+
+        Enable content filtering in the Network process
+        https://bugs.webkit.org/show_bug.cgi?id=238156
+
+        Reviewed by Geoffrey Garen.
+
+        Set the feature flag.
+
+        * wtf/PlatformEnableCocoa.h:
+
 2022-03-19  Chris Dumez  <cdu...@apple.com>
 
         Vector move constructor and move assignment operator are suboptimal when the vector has an inline buffer

Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (291629 => 291630)


--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2022-03-22 17:43:51 UTC (rev 291630)
@@ -167,6 +167,10 @@
 #define ENABLE_CONTENT_FILTERING 1
 #endif
 
+#if defined(ENABLE_CONTENT_FILTERING) && ENABLE_CONTENT_FILTERING
+#define ENABLE_CONTENT_FILTERING_IN_NETWORKING_PROCESS 1
+#endif
+
 #if !defined(ENABLE_CONTEXT_MENUS) && PLATFORM(IOS_FAMILY)
 #define ENABLE_CONTEXT_MENUS 0
 #endif

Modified: trunk/Source/WebCore/ChangeLog (291629 => 291630)


--- trunk/Source/WebCore/ChangeLog	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebCore/ChangeLog	2022-03-22 17:43:51 UTC (rev 291630)
@@ -1,3 +1,17 @@
+2022-03-22  Per Arne Vollan  <pvol...@apple.com>
+
+        Enable content filtering in the Network process
+        https://bugs.webkit.org/show_bug.cgi?id=238156
+
+        Reviewed by Geoffrey Garen.
+
+        There is no need for sandbox extensions in the WebContent process when content filtering
+        is taking place in the Network process.
+
+        * platform/cocoa/NetworkExtensionContentFilter.h:
+        * platform/cocoa/NetworkExtensionContentFilter.mm:
+        (WebCore::NetworkExtensionContentFilter::enabled):
+
 2022-03-22  Jer Noble  <jer.no...@apple.com>
 
         YouTube.com - Clicking anywhere on the progress bar pauses the video

Modified: trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h (291629 => 291630)


--- trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h	2022-03-22 17:43:51 UTC (rev 291630)
@@ -55,7 +55,9 @@
     ContentFilterUnblockHandler unblockHandler() const override;
 
     WEBCORE_EXPORT static bool isRequired();
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     WEBCORE_EXPORT static void setHasConsumedSandboxExtensions(bool);
+#endif
 
 private:
     static bool enabled();
@@ -64,6 +66,7 @@
     void initialize(const URL* = nullptr);
     void handleDecision(NEFilterSourceStatus, NSData *replacementData);
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     enum class SandboxExtensionsState : uint8_t {
         Consumed,
         NotConsumed,
@@ -71,6 +74,7 @@
     };
 
     WEBCORE_EXPORT static SandboxExtensionsState m_sandboxExtensionsState;
+#endif
 
     OSObjectPtr<dispatch_queue_t> m_queue;
     RetainPtr<NSData> m_replacementData;

Modified: trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm (291629 => 291630)


--- trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm	2022-03-22 17:43:51 UTC (rev 291630)
@@ -48,10 +48,15 @@
 
 namespace WebCore {
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
 NetworkExtensionContentFilter::SandboxExtensionsState NetworkExtensionContentFilter::m_sandboxExtensionsState = SandboxExtensionsState::NotSet;
+#endif
 
 bool NetworkExtensionContentFilter::enabled()
 {
+#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
+    return isRequired();
+#else
     bool enabled = false;
     switch (m_sandboxExtensionsState) {
     case SandboxExtensionsState::Consumed:
@@ -66,6 +71,7 @@
     }
     LOG(ContentFiltering, "NetworkExtensionContentFilter is %s.\n", enabled ? "enabled" : "not enabled");
     return enabled;
+#endif
 }
 
 UniqueRef<NetworkExtensionContentFilter> NetworkExtensionContentFilter::create()
@@ -228,6 +234,7 @@
     return [NEFilterSource filterRequired];
 }
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
 void NetworkExtensionContentFilter::setHasConsumedSandboxExtensions(bool hasConsumedSandboxExtensions)
 {
     if (m_sandboxExtensionsState == SandboxExtensionsState::Consumed)
@@ -235,6 +242,7 @@
 
     m_sandboxExtensionsState = (hasConsumedSandboxExtensions ? SandboxExtensionsState::Consumed : SandboxExtensionsState::NotConsumed);
 }
+#endif
 
 } // namespace WebCore
 

Modified: trunk/Source/WebKit/ChangeLog (291629 => 291630)


--- trunk/Source/WebKit/ChangeLog	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/ChangeLog	2022-03-22 17:43:51 UTC (rev 291630)
@@ -1,5 +1,43 @@
 2022-03-22  Per Arne Vollan  <pvol...@apple.com>
 
+        Enable content filtering in the Network process
+        https://bugs.webkit.org/show_bug.cgi?id=238156
+
+        Reviewed by Geoffrey Garen.
+
+        Remove code associated with Network extension sandbox extensions.
+
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+        * Shared/Cocoa/LoadParametersCocoa.mm:
+        (WebKit::LoadParameters::platformEncode const):
+        (WebKit::LoadParameters::platformDecode):
+        * Shared/LoadParameters.h:
+        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
+        (WebKit::WebPageProxy::addPlatformLoadParameters):
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::reloadAfterUnblockedContentFilter): Deleted.
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/Network/NetworkProcessProxy.messages.in:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::decidePolicyForNavigationActionAsyncShared):
+        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+        (WebKit::WebPageProxy::decidePolicyForResponseShared):
+        * UIProcess/WebPageProxy.h:
+        * WebProcess/Network/WebResourceLoader.cpp:
+        (WebKit::WebResourceLoader::contentFilterDidBlockLoad):
+        (WebKit::WebResourceLoader::cancelMainResourceLoadForContentFilter): Deleted.
+        * WebProcess/Network/WebResourceLoader.h:
+        * WebProcess/Network/WebResourceLoader.messages.in:
+        * WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
+        (WebKit::WebPage::platformDidReceiveLoadParameters):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::didReceivePolicyDecision):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/com.apple.WebProcess.sb.in:
+
+2022-03-22  Per Arne Vollan  <pvol...@apple.com>
+
         [macOS][WP] Add telemetry for syscalls used during launch
         https://bugs.webkit.org/show_bug.cgi?id=235865
         <rdar://problem/88228583>

Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (291629 => 291630)


--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2022-03-22 17:43:51 UTC (rev 291630)
@@ -1085,10 +1085,12 @@
             "com.apple.iphone.axserver-systemwide"
             "com.apple.mobileassetd.v2"
             "com.apple.mobilegestalt.xpc"
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
             "com.apple.nehelper"
             "com.apple.nesessionmanager.content-filter"
+            "com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"
+#endif
             "com.apple.tccd"
-            "com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"
             "com.apple.webinspector"
 )))
 

Modified: trunk/Source/WebKit/Shared/Cocoa/LoadParametersCocoa.mm (291629 => 291630)


--- trunk/Source/WebKit/Shared/Cocoa/LoadParametersCocoa.mm	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/Shared/Cocoa/LoadParametersCocoa.mm	2022-03-22 17:43:51 UTC (rev 291630)
@@ -37,7 +37,9 @@
 {
     IPC::encode(encoder, dataDetectionContext.get());
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     encoder << networkExtensionSandboxExtensionHandles;
+#endif
 #if PLATFORM(IOS)
     encoder << contentFilterExtensionHandle;
     encoder << frontboardServiceExtensionHandle;
@@ -49,12 +51,14 @@
     if (!IPC::decode(decoder, parameters.dataDetectionContext))
         return false;
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     std::optional<Vector<SandboxExtension::Handle>> networkExtensionSandboxExtensionHandles;
     decoder >> networkExtensionSandboxExtensionHandles;
     if (!networkExtensionSandboxExtensionHandles)
         return false;
     parameters.networkExtensionSandboxExtensionHandles = WTFMove(*networkExtensionSandboxExtensionHandles);
-    
+#endif
+
 #if PLATFORM(IOS)
     std::optional<std::optional<SandboxExtension::Handle>> contentFilterExtensionHandle;
     decoder >> contentFilterExtensionHandle;

Modified: trunk/Source/WebKit/Shared/LoadParameters.h (291629 => 291630)


--- trunk/Source/WebKit/Shared/LoadParameters.h	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/Shared/LoadParameters.h	2022-03-22 17:43:51 UTC (rev 291630)
@@ -85,8 +85,10 @@
 
 #if PLATFORM(COCOA)
     RetainPtr<NSDictionary> dataDetectionContext;
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     Vector<SandboxExtension::Handle> networkExtensionSandboxExtensionHandles;
 #endif
+#endif
 #if PLATFORM(IOS)
     std::optional<SandboxExtension::Handle> contentFilterExtensionHandle;
     std::optional<SandboxExtension::Handle> frontboardServiceExtensionHandle;

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm (291629 => 291630)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm	2022-03-22 17:43:51 UTC (rev 291630)
@@ -198,8 +198,9 @@
 {
     loadParameters.dataDetectionContext = m_uiClient->dataDetectionContext();
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     loadParameters.networkExtensionSandboxExtensionHandles = createNetworkExtensionsSandboxExtensions(process);
-    
+#endif
 #if PLATFORM(IOS)
     if (!process.hasManagedSessionSandboxAccess() && [getWebFilterEvaluatorClass() isManagedSession]) {
         if (auto handle = SandboxExtension::createHandleForMachLookup("com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"_s, std::nullopt))
@@ -784,6 +785,7 @@
 
 #endif // ENABLE(APPLE_PAY_AMS_UI)
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
 Vector<SandboxExtension::Handle> WebPageProxy::createNetworkExtensionsSandboxExtensions(WebProcessProxy& process)
 {
 #if ENABLE(CONTENT_FILTERING)
@@ -796,6 +798,7 @@
 #endif
     return { };
 }
+#endif
 
 #if ENABLE(CONTEXT_MENUS)
 #if HAVE(TRANSLATION_UI_SERVICES)

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (291629 => 291630)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2022-03-22 17:43:51 UTC (rev 291630)
@@ -673,14 +673,6 @@
     page->resourceLoadDidCompleteWithError(WTFMove(loadInfo), WTFMove(response), WTFMove(error));
 }
 
-#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
-void NetworkProcessProxy::reloadAfterUnblockedContentFilter(WebPageProxyIdentifier pageID)
-{
-    if (auto* page = WebProcessProxy::webPage(pageID))
-        page->reload({ });
-}
-#endif
-
 #if ENABLE(INTELLIGENT_TRACKING_PREVENTION)
 void NetworkProcessProxy::dumpResourceLoadStatistics(PAL::SessionID sessionID, CompletionHandler<void(String)>&& completionHandler)
 {

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (291629 => 291630)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2022-03-22 17:43:51 UTC (rev 291630)
@@ -257,10 +257,6 @@
     void resourceLoadDidReceiveResponse(WebPageProxyIdentifier, ResourceLoadInfo&&, WebCore::ResourceResponse&&);
     void resourceLoadDidCompleteWithError(WebPageProxyIdentifier, ResourceLoadInfo&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&);
 
-#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
-    void reloadAfterUnblockedContentFilter(WebPageProxyIdentifier);
-#endif
-
 #if ENABLE(APP_BOUND_DOMAINS)
     void hasAppBoundSession(PAL::SessionID, CompletionHandler<void(bool)>&&);
     void clearAppBoundSession(PAL::SessionID, CompletionHandler<void()>&&);

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


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2022-03-22 17:43:51 UTC (rev 291630)
@@ -76,10 +76,6 @@
     ResourceLoadDidReceiveResponse(WebKit::WebPageProxyIdentifier pageIdentifier, struct WebKit::ResourceLoadInfo resourceLoadInfo, WebCore::ResourceResponse response)
     ResourceLoadDidCompleteWithError(WebKit::WebPageProxyIdentifier pageIdentifier, struct WebKit::ResourceLoadInfo resourceLoadInfo, WebCore::ResourceResponse response, WebCore::ResourceError error)
     
-#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
-    ReloadAfterUnblockedContentFilter(WebKit::WebPageProxyIdentifier pageIdentifier)
-#endif
-
     TriggerBrowsingContextGroupSwitchForNavigation(WebKit::WebPageProxyIdentifier pageIdentifier, uint64_t navigationID, enum:uint8_t WebCore::BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, WebCore::RegistrableDomain responseDomain, WebKit::NetworkResourceLoadIdentifier existingNetworkResourceLoadIdentifierToResume) -> (bool success)
 
 #if USE(SOUP)

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (291629 => 291630)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2022-03-22 17:43:51 UTC (rev 291630)
@@ -5361,7 +5361,11 @@
     MESSAGE_CHECK(process, frame);
 
     auto sender = PolicyDecisionSender::create(identifier, [webPageID, frameID, listenerID, process] (const auto& policyDecision) {
-        process->send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, policyDecision, createNetworkExtensionsSandboxExtensions(process)), webPageID);
+        process->send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, policyDecision
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
+            , createNetworkExtensionsSandboxExtensions(process)
+#endif
+        ), webPageID);
     });
 
     decidePolicyForNavigationAction(process.copyRef(), webPageID, *frame, WTFMove(frameInfo), navigationID, WTFMove(navigationActionData), WTFMove(originatingFrameInfo), originatingPageID,
@@ -5694,7 +5698,11 @@
         ASSERT_UNUSED(safeBrowsingWarning, !safeBrowsingWarning);
 
         auto sender = PolicyDecisionSender::create(identifier, [this, protectedThis = WTFMove(protectedThis), frameID, listenerID] (const auto& policyDecision) {
-            send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, policyDecision, createNetworkExtensionsSandboxExtensions(m_process)));
+            send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, policyDecision
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
+                , createNetworkExtensionsSandboxExtensions(m_process)
+#endif
+            ));
         });
 
         receivedPolicyDecision(policyAction, nullptr, nullptr, WTFMove(navigationAction), WTFMove(sender));
@@ -5733,7 +5741,11 @@
         ASSERT_UNUSED(safeBrowsingWarning, !safeBrowsingWarning);
 
         auto sender = PolicyDecisionSender::create(identifier, [webPageID, frameID, listenerID, process] (const auto& policyDecision) {
-            process->send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, policyDecision, createNetworkExtensionsSandboxExtensions(process)), webPageID);
+            process->send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, policyDecision
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
+            , createNetworkExtensionsSandboxExtensions(process)
+#endif
+        ), webPageID);
         });
         if (process->captivePortalMode() == WebProcessProxy::CaptivePortalMode::Enabled && MIMETypeRegistry::isPDFOrPostScriptMIMEType(navigationResponse->response().mimeType()))
             policyAction = PolicyAction::Download;
@@ -11144,7 +11156,7 @@
 }
 #endif
 
-#if !PLATFORM(COCOA)
+#if !PLATFORM(COCOA) && !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
 Vector<SandboxExtension::Handle> WebPageProxy::createNetworkExtensionsSandboxExtensions(WebProcessProxy& process)
 {
     return { };

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (291629 => 291630)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2022-03-22 17:43:51 UTC (rev 291630)
@@ -2617,7 +2617,9 @@
     bool setIsNavigatingToAppBoundDomainAndCheckIfPermitted(bool isMainFrame, const URL&, std::optional<NavigatingToAppBoundDomain>);
 #endif
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     static Vector<SandboxExtension::Handle> createNetworkExtensionsSandboxExtensions(WebProcessProxy&);
+#endif
 
     static SandboxExtension::Handle fontdMachExtensionHandle();
 

Modified: trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp	2022-03-22 17:43:51 UTC (rev 291630)
@@ -358,18 +358,12 @@
 {
     if (!m_coreLoader || !m_coreLoader->documentLoader())
         return;
-    m_coreLoader->documentLoader()->setBlockedPageURL(blockedPageURL);
-    m_coreLoader->documentLoader()->setSubstituteDataFromContentFilter(WTFMove(substituteData));
-    m_coreLoader->documentLoader()->handleContentFilterDidBlock(unblockHandler, WTFMove(unblockRequestDeniedScript));
-    m_coreLoader->documentLoader()->cancelMainResourceLoad(error);
+    auto documentLoader = m_coreLoader->documentLoader();
+    documentLoader->setBlockedPageURL(blockedPageURL);
+    documentLoader->setSubstituteDataFromContentFilter(WTFMove(substituteData));
+    documentLoader->handleContentFilterDidBlock(unblockHandler, WTFMove(unblockRequestDeniedScript));
+    documentLoader->cancelMainResourceLoad(error);
 }
-
-void WebResourceLoader::cancelMainResourceLoadForContentFilter(const WebCore::ResourceError& error)
-{
-    if (!m_coreLoader || !m_coreLoader->documentLoader())
-        return;
-    m_coreLoader->documentLoader()->cancelMainResourceLoad(error);
-}
 #endif // ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h	2022-03-22 17:43:51 UTC (rev 291630)
@@ -103,7 +103,6 @@
 
 #if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     void contentFilterDidBlockLoad(const WebCore::ContentFilterUnblockHandler&, String&& unblockRequestDeniedScript, const WebCore::ResourceError&, const URL& blockedPageURL, WebCore::SubstituteData&&);
-    void cancelMainResourceLoadForContentFilter(const WebCore::ResourceError&);
 #endif
     
     RefPtr<WebCore::ResourceLoader> m_coreLoader;

Modified: trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in	2022-03-22 17:43:51 UTC (rev 291630)
@@ -40,7 +40,6 @@
 
 #if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     ContentFilterDidBlockLoad(WebCore::ContentFilterUnblockHandler unblockHandler, String unblockRequestDeniedScript, WebCore::ResourceError error, URL blockedPageURL, WebCore::SubstituteData substituteData)
-    CancelMainResourceLoadForContentFilter(WebCore::ResourceError error)
 #endif
 
 }

Modified: trunk/Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm	2022-03-22 17:43:51 UTC (rev 291630)
@@ -82,7 +82,9 @@
 {
     m_dataDetectionContext = parameters.dataDetectionContext;
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     consumeNetworkExtensionSandboxExtensions(parameters.networkExtensionSandboxExtensionHandles);
+#endif
 
 #if PLATFORM(IOS)
     if (parameters.contentFilterExtensionHandle)
@@ -496,6 +498,7 @@
     postLayoutData.baseWritingDirection = frame.editor().baseWritingDirectionForSelectionStart();
 }
 
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
 void WebPage::consumeNetworkExtensionSandboxExtensions(const Vector<SandboxExtension::Handle>& networkExtensionsHandles)
 {
 #if ENABLE(CONTENT_FILTERING)
@@ -505,6 +508,7 @@
     UNUSED_PARAM(networkExtensionsHandles);
 #endif
 }
+#endif
 
 void WebPage::getPDFFirstPageSize(WebCore::FrameIdentifier frameID, CompletionHandler<void(WebCore::FloatSize)>&& completionHandler)
 {

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2022-03-22 17:43:51 UTC (rev 291630)
@@ -3558,9 +3558,15 @@
         pluginView->setLayerHostingMode(m_layerHostingMode);
 }
 
+#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
+void WebPage::didReceivePolicyDecision(FrameIdentifier frameID, uint64_t listenerID, PolicyDecision&& policyDecision)
+#else
 void WebPage::didReceivePolicyDecision(FrameIdentifier frameID, uint64_t listenerID, PolicyDecision&& policyDecision, const Vector<SandboxExtension::Handle>& networkExtensionsHandles)
+#endif
 {
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     consumeNetworkExtensionSandboxExtensions(networkExtensionsHandles);
+#endif
 
     WebFrame* frame = WebProcess::singleton().webFrame(frameID);
     WEBPAGE_RELEASE_LOG(Loading, "didReceivePolicyDecision: policyAction=%u - frameID=%llu - webFrame=%p - mainFrame=%d", (unsigned)policyDecision.policyAction, frameID.toUInt64(), frame, frame ? frame->isMainFrame() : 0);

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2022-03-22 17:43:51 UTC (rev 291630)
@@ -1738,7 +1738,11 @@
     void clearServiceWorkerEntitlementOverride(CompletionHandler<void()>&& completionHandler) { completionHandler(); }
 #endif
 
+#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
+    void didReceivePolicyDecision(WebCore::FrameIdentifier, uint64_t listenerID, PolicyDecision&&);
+#else
     void didReceivePolicyDecision(WebCore::FrameIdentifier, uint64_t listenerID, PolicyDecision&&, const Vector<SandboxExtension::Handle>&);
+#endif
     void continueWillSubmitForm(WebCore::FrameIdentifier, FormSubmitListenerIdentifier);
     void setUserAgent(const String&);
     void setCustomTextEncodingName(const String&);
@@ -1975,7 +1979,9 @@
 
     void setSelectionRange(const WebCore::IntPoint&, WebCore::TextGranularity, bool);
     
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     void consumeNetworkExtensionSandboxExtensions(const Vector<SandboxExtension::Handle>&);
+#endif
 
     bool hasPendingEditorStateUpdate() const;
     bool shouldAvoidComputingPostLayoutDataForEditorState() const;

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2022-03-22 17:43:51 UTC (rev 291630)
@@ -206,7 +206,12 @@
 
     UpdateWebsitePolicies(struct WebKit::WebsitePoliciesData websitePolicies)
     NotifyUserScripts()
+#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
+    DidReceivePolicyDecision(WebCore::FrameIdentifier frameID, uint64_t listenerID, struct WebKit::PolicyDecision policyDecision)
+#endif
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
     DidReceivePolicyDecision(WebCore::FrameIdentifier frameID, uint64_t listenerID, struct WebKit::PolicyDecision policyDecision, Vector<WebKit::SandboxExtension::Handle> networkExtensionsSandboxExtensions)
+#endif
 
     ContinueWillSubmitForm(WebCore::FrameIdentifier frameID, WebKit::FormSubmitListenerIdentifier listenerID)
 

Modified: trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (291629 => 291630)


--- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2022-03-22 17:42:01 UTC (rev 291629)
+++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2022-03-22 17:43:51 UTC (rev 291630)
@@ -1770,8 +1770,10 @@
     (require-all
         (extension "com.apple.webkit.extension.mach")
         (global-name
+#if !ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
             "com.apple.nehelper"
             "com.apple.nesessionmanager.content-filter"
+#endif
             "com.apple.webinspector"
             "com.apple.coreservices.launchservicesd"
             "com.apple.iconservices"
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to