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"