[webkit-changes] [WebKit/WebKit] 3a69dc: Ingest managed domains for ResourceLoadStatistics ...
J Pascoe
noreply at github.com
Fri Oct 28 16:44:44 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3a69dcff7becc04c05bd108b7cdd53f69426d056
https://github.com/WebKit/WebKit/commit/3a69dcff7becc04c05bd108b7cdd53f69426d056
Author: J Pascoe <j_pascoe at apple.com>
Date: 2022-10-28 (Fri, 28 Oct 2022)
Changed paths:
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-database-expected.txt
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-database.html
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-expected.txt
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion.html
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-granted-storage-access-api-expected.txt
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-granted-storage-access-api.html
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-third-party-resources-exempt-from-cookie-blocking-expected.txt
A LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-third-party-resources-exempt-from-cookie-blocking.html
M Source/WTF/wtf/PlatformEnableCocoa.h
M Source/WebCore/PAL/pal/spi/ios/ManagedConfigurationSPI.h
M Source/WebCore/platform/network/NetworkStorageSession.cpp
M Source/WebCore/platform/network/NetworkStorageSession.h
M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp
M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h
M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp
M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/NetworkProcess/NetworkProcess.h
M Source/WebKit/NetworkProcess/NetworkProcess.messages.in
M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
M Source/WebKit/Shared/ResourceLoadStatisticsParameters.h
M Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp
M Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
M Source/WebKit/UIProcess/WebFramePolicyListenerProxy.h
M Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/TestController.h
M Tools/WebKitTestRunner/TestInvocation.cpp
M Tools/WebKitTestRunner/TestInvocation.h
Log Message:
-----------
Ingest managed domains for ResourceLoadStatistics and loosen restrictions for them.
https://bugs.webkit.org/show_bug.cgi?id=246290
rdar://97344886
Reviewed by John Wilander.
This patch starts to ingest a small set of managed domains that are specically allowed
to use certain features normally disabled by resource load statistics. This patch ingests
the set on macOS and other Apple platforms.
The behavior change with regards to ResourceLoadStatistics is similar to what we
do for app-bound domains, but not exactly. These domains are exempted from certain deletion and
blocking policies.
* LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-cookie-blocking-between-each-other-expected.txt: Added.
* LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-cookie-blocking-between-each-other.html: Added.
* LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-database-expected.txt: Added.
* LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-database.html: Added.
* LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-expected.txt: Added.
* LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion.html: Added.
* Source/WebCore/platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::shouldBlockCookies const):
(WebCore::NetworkStorageSession::setManagedDomains):
(WebCore::NetworkStorageSession::resetManagedDomains):
* Source/WebCore/platform/network/NetworkStorageSession.h:
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::setManagedDomains):
(WebKit::ResourceLoadStatisticsStore::shouldExemptFromWebsiteDataDeletion const):
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
* Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::setAppBoundDomains):
(WebKit::WebResourceLoadStatisticsStore::setManagedDomains):
* Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::setManagedDomainsForResourceLoadStatistics):
* Source/WebKit/NetworkProcess/NetworkProcess.h:
* Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
* Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetManagedDomainsForTesting):
* Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setManagedDomainsForResourceLoadStatistics):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/WebFramePolicyListenerProxy.h:
* Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::managedDomainQueue):
(WebKit::WebsiteDataStore::platformInitialize):
(WebKit::managedDomains):
(WebKit::WebsiteDataStore::initializeManagedDomains):
(WebKit::WebsiteDataStore::ensureManagedDomains const):
(WebKit::WebsiteDataStore::getManagedDomains const):
(WebKit::WebsiteDataStore::managedDomainsIfInitialized):
(WebKit::WebsiteDataStore::setManagedDomainsForTesting):
(WebKit::WebsiteDataStore::reinitializeManagedDomains):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::forwardManagedDomainsToITPIfInitialized):
(WebKit::WebsiteDataStore::setManagedDomainsForITP):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setManagedDomains):
(WTR::TestRunner::didSetManagedDomainsCallback):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::ManagedDomainsCallbackContext::ManagedDomainsCallbackContext):
(WTR::didSetManagedDomainsCallback):
(WTR::TestController::setManagedDomains):
* Tools/WebKitTestRunner/TestController.h:
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetManagedDomains):
* Tools/WebKitTestRunner/TestInvocation.h:
Canonical link: https://commits.webkit.org/256119@main
More information about the webkit-changes
mailing list