tree c0b6685c5f9a6a3d7bebb25018762598a2ef3021
parent e0f5f32b82f576e50c4ce4b81eede6e14ad0d44f
author katherine_cheney@apple.com <katherine_cheney@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc> 1581651666 +0000
committer katherine_cheney@apple.com <katherine_cheney@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc> 1581651666 +0000

Source/WebCore:
Expose prevalent domains on a per-page basis
https://bugs.webkit.org/show_bug.cgi?id=207523
<rdar://problem/59270758>

Reviewed by Chris Dumez.

Tests: http/tests/resourceLoadStatistics/prevalent-domains-per-page-database.html
       http/tests/resourceLoadStatistics/prevalent-domains-per-page.html

Logs subresource loads in CachedResourceLoader::requestResource, and
redirects in ResourceLoader::willSendRequestInternal,
and reports domains to the Web Process.

* loader/FrameLoaderClient.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* loader/cache/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):

Source/WebKit:
Expose prevalent domains on a per-page basis
https://bugs.webkit.org/show_bug.cgi?id=207523
<rdar://problem/59270758>

Reviewed by Chris Dumez.

Tests: http/tests/resourceLoadStatistics/prevalent-domains-per-page-database.html
       http/tests/resourceLoadStatistics/prevalent-domains-per-page.html

Added an API to report prevalent domains. The Web Process sends all
new loads to the Network Process, which determines if the resources are
prevalent. When the API is queried, the Web Process reports these
domains to the UI Process.

The WebPage keeps a hash set of previously loaded domains to avoid
spamming IPC with repeat domains.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::requestStorageAccessUnderOpener):
(WebKit::NetworkConnectionToWebProcess::reportSubresourceLoadToDomain):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _getPrevalentDomainsFor:completionHandler:]):
(-[WKWebsiteDataStore _clearPrevalentDomainsFor:]):
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
* UIProcess/WebPageProxy.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::addLoadedRegistrableDomain):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setIsSuspended):
(WebKit::WebPage::addLoadedRegistrableDomain):
(WebKit::WebPage::getPrevalentDomains):
(WebKit::WebPage::clearPrevalentDomains):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Tools:
 Expose prevalent domains on a per-page basis
 https://bugs.webkit.org/show_bug.cgi?id=207523
 <rdar://problem/59270758>

Reviewed by Chris Dumez.

Added WebKitTestRunner functions so this functionality can be tested.
clearPrevalentDomains should be called between tests to reset the
state.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::getPrevalentDomains):
(WTR::TestRunner::callDidReceivePrevalentDomainsCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::getPrevalentDomains):
(WTR::TestController::clearPrevalentDomains):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceivePrevalentDomains):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::getPrevalentDomains):
(WTR::TestController::clearPrevalentDomains):

LayoutTests:
Expose prevalent domains on a per-page basis
https://bugs.webkit.org/show_bug.cgi?id=207523
<rdar://problem/59270758>

Reviewed by Chris Dumez.

Added 2 new tests for the resource load statistics database and
memory stores. Added a basic iframe that both tests can use to test
if a resource load from a prevalent domain gets reported properly.

* http/tests/resourceLoadStatistics/prevalent-domains-per-page-database-expected.txt: Added.
* http/tests/resourceLoadStatistics/prevalent-domains-per-page-database.html: Added.
* http/tests/resourceLoadStatistics/prevalent-domains-per-page-expected.txt: Added.
* http/tests/resourceLoadStatistics/prevalent-domains-per-page.html: Added.
* http/tests/resourceLoadStatistics/resources/basic-iframe.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@256583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
