[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