⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 267750 in webkit


Ignore:
Timestamp:
Sep 29, 2020, 10:38:11 AM (6 years ago)
Author:
achristensen@apple.com
Message:

Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
https://bugs.webkit.org/show_bug.cgi?id=217063

Reviewed by John Wilander.

Source/WebCore:

ResourceLoadStatistics was initially implemented using plists to store the persistent data on disk.
This caused some performance issues, so a sqlite database backend was implemented and transitioned to.
Now that the transition is complete, let's remove the old plist backend.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setIsITPDatabaseEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::isITPDatabaseEnabled const): Deleted.

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::setPersistentStorage): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageIfNeeded): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageImmediately): Deleted.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp: Removed.
  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h: Removed.
  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession):
(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore): Deleted.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setUseITPDatabase): Deleted.

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::isITPDatabaseEnabled const): Deleted.

  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::destroyResourceLoadStatistics):
(WebKit::NetworkSession::flushAndDestroyPersistentStore): Deleted.

  • NetworkProcess/NetworkSession.h:
  • Shared/WebPreferencesInternal.yaml:
  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetIsITPDatabaseEnabled): Deleted.
(WKPreferencesGetIsITPDatabaseEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreStatisticsResetToConsistentState):
(WKWebsiteDataStoreSetUseITPDatabase): Deleted.

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _isITPDatabaseEnabled]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _setUseITPDatabase:completionHandler:]): Deleted.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::setUseITPDatabase): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::setUseITPDatabase): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm: Removed.
  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

These three tests API tests have been removed:

ResourceLoadStatistics.ChildProcessesNotLaunched
ResourceLoadStatistics.GrandfatherCallback
ResourceLoadStatistics.ShouldNotGrandfatherOnStartup

Each of those tests has a corresponding test that ends with "Database" that tests the database backend,
so the only test coverage loss was of the code that was removed.

  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:

(ensureITPFileIsCreated):
(TEST):
(isITPDatabaseEnabled): Deleted.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setUseITPDatabase): Deleted.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setUseITPDatabase): Deleted.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/tests/resourceLoadStatistics/add-blocking-to-redirect-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/add-blocking-to-redirect-database.html: Removed.
  • http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database.html: Removed.
  • http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
  • http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database.html: Removed.
  • http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database.html: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database.html: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database.html: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database.html: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database.html: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database.html: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database.html: Removed.
  • http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database.html: Removed.
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database.html: Removed.
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database.html: Removed.
  • http/tests/resourceLoadStatistics/cookie-deletion-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/cookie-deletion-database.html: Removed.
  • http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database.html: Removed.
  • http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt:
  • http/tests/resourceLoadStatistics/count-third-party-script-loads-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/count-third-party-script-loads-database.html: Removed.
  • http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt:
  • http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database.html: Removed.
  • http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database.html: Removed.
  • http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database.html: Removed.
  • http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database.html: Removed.
  • http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database.php: Removed.
  • http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database.html: Removed.
  • http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:
  • http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html:
  • http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html:
  • http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database.html: Removed.
  • http/tests/resourceLoadStatistics/enable-debug-mode-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/enable-debug-mode-database.html: Removed.
  • http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html: Removed.
  • http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html:
  • http/tests/resourceLoadStatistics/grandfathering-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/grandfathering-database.html: Removed.
  • http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html:
  • http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database.html: Removed.
  • http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt:
  • http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database.html: Removed.
  • http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-expected.txt:
  • http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html:
  • http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database.html: Removed.
  • http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database.html: Removed.
  • http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
  • http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database.html: Removed.
  • http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database.html: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database.html: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database.html: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database.html: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/prune-statistics-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/prune-statistics-database.html: Removed.
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database.html: Removed.
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-expected.txt:
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database.html: Removed.
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database.html: Removed.
  • http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-expected.txt:
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
  • http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database.html: Removed.
  • http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database.html: Removed.
  • http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database.html: Removed.
  • http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database.html: Removed.
  • http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database.php: Removed.
  • http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database.html: Removed.
  • http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html: Removed.
  • http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-database.html: Removed.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database.html: Removed.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database.html: Removed.
  • http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database.html: Removed.
  • http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database.html: Removed.
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database.html: Removed.
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-expected.txt:
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database.html: Removed.
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database.html: Removed.
  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database-expected.txt: Removed.
  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database.html: Removed.
  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt:
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Removed.
  • http/tests/storageAccess/deny-storage-access-under-opener-database-expected.txt: Removed.
  • http/tests/storageAccess/deny-storage-access-under-opener-database.html: Removed.
  • http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database-expected.txt: Removed.
  • http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database.html: Removed.
  • http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database-expected.txt: Removed.
  • http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html: Removed.
  • http/tests/storageAccess/deny-without-prompt-preserves-gesture-database-expected.txt: Removed.
  • http/tests/storageAccess/deny-without-prompt-preserves-gesture-database.html: Removed.
  • http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database-expected.txt: Removed.
  • http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database.html: Removed.
  • http/tests/storageAccess/grant-with-prompt-preserves-gesture-database-expected.txt: Removed.
  • http/tests/storageAccess/grant-with-prompt-preserves-gesture-database.html: Removed.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-crash-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-crash-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-false-by-default-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-false-by-default-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Removed.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Removed.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Removed.
  • http/tests/storageAccess/remove-requesting-iframe-database-expected.txt: Removed.
  • http/tests/storageAccess/remove-requesting-iframe-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html: Removed.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database-expected.txt: Removed.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-crash-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-crash-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-same-origin-iframe-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-same-origin-iframe-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
  • http/tests/storageAccess/request-storage-access-top-frame-database-expected.txt: Removed.
  • http/tests/storageAccess/request-storage-access-top-frame-database.html: Removed.
  • http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt:
  • http/tests/webAPIStatistics/font-load-data-collection-expected.txt:
  • http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt:
  • http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
  • platform/wpe/TestExpectations:
Location:
trunk
Files:
251 deleted
73 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r267744 r267750  
     12020-09-29  Alex Christensen  <achristensen@webkit.org>
     2
     3        Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
     4        https://bugs.webkit.org/show_bug.cgi?id=217063
     5
     6        Reviewed by John Wilander.
     7
     8        * http/tests/resourceLoadStatistics/add-blocking-to-redirect-database-expected.txt: Removed.
     9        * http/tests/resourceLoadStatistics/add-blocking-to-redirect-database.html: Removed.
     10        * http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database-expected.txt: Removed.
     11        * http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database.html: Removed.
     12        * http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
     13        * http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database-expected.txt: Removed.
     14        * http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database.html: Removed.
     15        * http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database-expected.txt: Removed.
     16        * http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database.html: Removed.
     17        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database-expected.txt: Removed.
     18        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database.html: Removed.
     19        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database-expected.txt: Removed.
     20        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database.html: Removed.
     21        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database-expected.txt: Removed.
     22        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database.html: Removed.
     23        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database-expected.txt: Removed.
     24        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database.html: Removed.
     25        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
     26        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database.html: Removed.
     27        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database-expected.txt: Removed.
     28        * http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database.html: Removed.
     29        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
     30        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database.html: Removed.
     31        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
     32        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
     33        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
     34        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
     35        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
     36        * http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
     37        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
     38        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database.html: Removed.
     39        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
     40        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
     41        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database-expected.txt: Removed.
     42        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database.html: Removed.
     43        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database-expected.txt: Removed.
     44        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database.html: Removed.
     45        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
     46        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
     47        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
     48        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
     49        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database-expected.txt: Removed.
     50        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database.html: Removed.
     51        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database-expected.txt: Removed.
     52        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database.html: Removed.
     53        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
     54        * http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database.html: Removed.
     55        * http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
     56        * http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database.html: Removed.
     57        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database-expected.txt: Removed.
     58        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database.html: Removed.
     59        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database-expected.txt: Removed.
     60        * http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database.html: Removed.
     61        * http/tests/resourceLoadStatistics/cookie-deletion-database-expected.txt: Removed.
     62        * http/tests/resourceLoadStatistics/cookie-deletion-database.html: Removed.
     63        * http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database-expected.txt: Removed.
     64        * http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database.html: Removed.
     65        * http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database-expected.txt: Removed.
     66        * http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database.html: Removed.
     67        * http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt:
     68        * http/tests/resourceLoadStatistics/count-third-party-script-loads-database-expected.txt: Removed.
     69        * http/tests/resourceLoadStatistics/count-third-party-script-loads-database.html: Removed.
     70        * http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt:
     71        * http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database-expected.txt: Removed.
     72        * http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database.html: Removed.
     73        * http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database-expected.txt: Removed.
     74        * http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database.html: Removed.
     75        * http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database-expected.txt: Removed.
     76        * http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database.html: Removed.
     77        * http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database-expected.txt: Removed.
     78        * http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database.html: Removed.
     79        * http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database-expected.txt: Removed.
     80        * http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database.php: Removed.
     81        * http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database-expected.txt: Removed.
     82        * http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database.html: Removed.
     83        * http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:
     84        * http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html:
     85        * http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html:
     86        * http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
     87        * http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database.html: Removed.
     88        * http/tests/resourceLoadStatistics/enable-debug-mode-database-expected.txt: Removed.
     89        * http/tests/resourceLoadStatistics/enable-debug-mode-database.html: Removed.
     90        * http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
     91        * http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html: Removed.
     92        * http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html:
     93        * http/tests/resourceLoadStatistics/grandfathering-database-expected.txt: Removed.
     94        * http/tests/resourceLoadStatistics/grandfathering-database.html: Removed.
     95        * http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html:
     96        * http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database-expected.txt: Removed.
     97        * http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database.html: Removed.
     98        * http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt:
     99        * http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database-expected.txt: Removed.
     100        * http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database.html: Removed.
     101        * http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-expected.txt:
     102        * http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html:
     103        * http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database-expected.txt: Removed.
     104        * http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database.html: Removed.
     105        * http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database-expected.txt: Removed.
     106        * http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database.html: Removed.
     107        * http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database-expected.txt: Removed.
     108        * http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database.html: Removed.
     109        * http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database-expected.txt: Removed.
     110        * http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database.html: Removed.
     111        * http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database-expected.txt: Removed.
     112        * http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database.html: Removed.
     113        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database-expected.txt: Removed.
     114        * http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database.html: Removed.
     115        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
     116        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
     117        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
     118        * http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
     119        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
     120        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
     121        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
     122        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
     123        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
     124        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
     125        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
     126        * http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
     127        * http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt: Removed.
     128        * http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database.html: Removed.
     129        * http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:
     130        * http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database-expected.txt: Removed.
     131        * http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database.html: Removed.
     132        * http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database-expected.txt: Removed.
     133        * http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database.html: Removed.
     134        * http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database-expected.txt: Removed.
     135        * http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database.html: Removed.
     136        * http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database-expected.txt: Removed.
     137        * http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database.html: Removed.
     138        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database-expected.txt: Removed.
     139        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database.html: Removed.
     140        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database-expected.txt: Removed.
     141        * http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database.html: Removed.
     142        * http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database-expected.txt: Removed.
     143        * http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database.html: Removed.
     144        * http/tests/resourceLoadStatistics/prune-statistics-database-expected.txt: Removed.
     145        * http/tests/resourceLoadStatistics/prune-statistics-database.html: Removed.
     146        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database-expected.txt: Removed.
     147        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database.html: Removed.
     148        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-expected.txt:
     149        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database-expected.txt: Removed.
     150        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database.html: Removed.
     151        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database-expected.txt: Removed.
     152        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database.html: Removed.
     153        * http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-expected.txt:
     154        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
     155        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
     156        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
     157        * http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
     158        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
     159        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
     160        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
     161        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
     162        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
     163        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
     164        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
     165        * http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
     166        * http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database-expected.txt: Removed.
     167        * http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database.html: Removed.
     168        * http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database-expected.txt: Removed.
     169        * http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database.html: Removed.
     170        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database-expected.txt: Removed.
     171        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database.html: Removed.
     172        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database-expected.txt: Removed.
     173        * http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database.html: Removed.
     174        * http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database-expected.txt: Removed.
     175        * http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database.php: Removed.
     176        * http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database-expected.txt: Removed.
     177        * http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database.html: Removed.
     178        * http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database-expected.txt: Removed.
     179        * http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html: Removed.
     180        * http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:
     181        * http/tests/resourceLoadStatistics/third-party-cookie-blocking-database-expected.txt: Removed.
     182        * http/tests/resourceLoadStatistics/third-party-cookie-blocking-database.html: Removed.
     183        * http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database-expected.txt: Removed.
     184        * http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database.html: Removed.
     185        * http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database-expected.txt: Removed.
     186        * http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database.html: Removed.
     187        * http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database-expected.txt: Removed.
     188        * http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database.html: Removed.
     189        * http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database-expected.txt: Removed.
     190        * http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database.html: Removed.
     191        * http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database-expected.txt: Removed.
     192        * http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database.html: Removed.
     193        * http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database-expected.txt: Removed.
     194        * http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database.html: Removed.
     195        * http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-expected.txt:
     196        * http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database-expected.txt: Removed.
     197        * http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database.html: Removed.
     198        * http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database-expected.txt: Removed.
     199        * http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database.html: Removed.
     200        * http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database-expected.txt: Removed.
     201        * http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database.html: Removed.
     202        * http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt:
     203        * http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
     204        * http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Removed.
     205        * http/tests/storageAccess/deny-storage-access-under-opener-database-expected.txt: Removed.
     206        * http/tests/storageAccess/deny-storage-access-under-opener-database.html: Removed.
     207        * http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database-expected.txt: Removed.
     208        * http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database.html: Removed.
     209        * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database-expected.txt: Removed.
     210        * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html: Removed.
     211        * http/tests/storageAccess/deny-without-prompt-preserves-gesture-database-expected.txt: Removed.
     212        * http/tests/storageAccess/deny-without-prompt-preserves-gesture-database.html: Removed.
     213        * http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database-expected.txt: Removed.
     214        * http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database.html: Removed.
     215        * http/tests/storageAccess/grant-with-prompt-preserves-gesture-database-expected.txt: Removed.
     216        * http/tests/storageAccess/grant-with-prompt-preserves-gesture-database.html: Removed.
     217        * http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
     218        * http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Removed.
     219        * http/tests/storageAccess/has-storage-access-crash-database-expected.txt: Removed.
     220        * http/tests/storageAccess/has-storage-access-crash-database.html: Removed.
     221        * http/tests/storageAccess/has-storage-access-false-by-default-database-expected.txt: Removed.
     222        * http/tests/storageAccess/has-storage-access-false-by-default-database.html: Removed.
     223        * http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database-expected.txt: Removed.
     224        * http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database.html: Removed.
     225        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
     226        * http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database.html: Removed.
     227        * http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database-expected.txt: Removed.
     228        * http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html: Removed.
     229        * http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database-expected.txt: Removed.
     230        * http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html: Removed.
     231        * http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Removed.
     232        * http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Removed.
     233        * http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Removed.
     234        * http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Removed.
     235        * http/tests/storageAccess/remove-requesting-iframe-database-expected.txt: Removed.
     236        * http/tests/storageAccess/remove-requesting-iframe-database.html: Removed.
     237        * http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database-expected.txt: Removed.
     238        * http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database.html: Removed.
     239        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database-expected.txt: Removed.
     240        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database.html: Removed.
     241        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database-expected.txt: Removed.
     242        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database.html: Removed.
     243        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database-expected.txt: Removed.
     244        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database.html: Removed.
     245        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
     246        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database.html: Removed.
     247        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database-expected.txt: Removed.
     248        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database.html: Removed.
     249        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database-expected.txt: Removed.
     250        * http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database.html: Removed.
     251        * http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database-expected.txt: Removed.
     252        * http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database.html: Removed.
     253        * http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database-expected.txt: Removed.
     254        * http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html: Removed.
     255        * http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database-expected.txt: Removed.
     256        * http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html: Removed.
     257        * http/tests/storageAccess/request-storage-access-crash-database-expected.txt: Removed.
     258        * http/tests/storageAccess/request-storage-access-crash-database.html: Removed.
     259        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database-expected.txt: Removed.
     260        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database.html: Removed.
     261        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
     262        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
     263        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database-expected.txt: Removed.
     264        * http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database.html: Removed.
     265        * http/tests/storageAccess/request-storage-access-same-origin-iframe-database-expected.txt: Removed.
     266        * http/tests/storageAccess/request-storage-access-same-origin-iframe-database.html: Removed.
     267        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database-expected.txt: Removed.
     268        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database.html: Removed.
     269        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
     270        * http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
     271        * http/tests/storageAccess/request-storage-access-top-frame-database-expected.txt: Removed.
     272        * http/tests/storageAccess/request-storage-access-top-frame-database.html: Removed.
     273        * http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt:
     274        * http/tests/webAPIStatistics/font-load-data-collection-expected.txt:
     275        * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt:
     276        * http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt:
     277        * platform/gtk/TestExpectations:
     278        * platform/ios-wk2/TestExpectations:
     279        * platform/ios/TestExpectations:
     280        * platform/mac-wk2/TestExpectations:
     281        * platform/wk2/TestExpectations:
     282        * platform/wpe/TestExpectations:
     283
    12842020-09-29  Chris Dumez  <cdumez@apple.com>
    2285
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt

    r263474 r267750  
    99    mostRecentUserInteraction: -1
    1010    grandfathered: No
    11     gotLinkDecorationFromPrevalentResource: No
    12     subframeUnderTopFrameDomains:
     11    IsScheduledForAllButCookieDataRemoval: No
     12    SubframeUnderTopFrameDomains:
    1313        topframe1
    14     subresourceUniqueRedirectsTo:
     14    SubresourceUniqueRedirectsTo:
    1515        topframe2
    1616    isPrevalentResource: Yes
    1717    isVeryPrevalentResource: No
    1818    dataRecordsRemoved: 0
    19     canvasReadData: No
    20 
    2119Registrable domain: subframe2
    2220    hadUserInteraction: No
    2321    mostRecentUserInteraction: -1
    2422    grandfathered: No
    25     gotLinkDecorationFromPrevalentResource: No
    26     subframeUnderTopFrameDomains:
     23    IsScheduledForAllButCookieDataRemoval: No
     24    SubframeUnderTopFrameDomains:
    2725        topframe1
    2826    isPrevalentResource: Yes
    2927    isVeryPrevalentResource: No
    3028    dataRecordsRemoved: 0
    31     canvasReadData: No
    32 
    3329Registrable domain: subframe3
    3430    hadUserInteraction: No
    3531    mostRecentUserInteraction: -1
    3632    grandfathered: No
    37     gotLinkDecorationFromPrevalentResource: No
    38     subframeUnderTopFrameDomains:
     33    IsScheduledForAllButCookieDataRemoval: No
     34    SubframeUnderTopFrameDomains:
    3935        topframe1
    4036        topframe4
    41     subresourceUnderTopFrameDomains:
     37    SubresourceUnderTopFrameDomains:
    4238        topframe3
    43     subresourceUniqueRedirectsTo:
     39    SubresourceUniqueRedirectsTo:
    4440        topframe2
    4541    isPrevalentResource: Yes
    4642    isVeryPrevalentResource: No
    4743    dataRecordsRemoved: 0
    48     canvasReadData: No
    49 
    5044Registrable domain: topframe1
    5145    hadUserInteraction: No
    5246    mostRecentUserInteraction: -1
    5347    grandfathered: No
    54     gotLinkDecorationFromPrevalentResource: No
     48    IsScheduledForAllButCookieDataRemoval: No
    5549    isPrevalentResource: No
    5650    isVeryPrevalentResource: No
    5751    dataRecordsRemoved: 0
    58     canvasReadData: No
    59 
    6052Registrable domain: topframe2
    6153    hadUserInteraction: No
    6254    mostRecentUserInteraction: -1
    6355    grandfathered: No
    64     gotLinkDecorationFromPrevalentResource: No
     56    IsScheduledForAllButCookieDataRemoval: No
    6557    isPrevalentResource: No
    6658    isVeryPrevalentResource: No
    6759    dataRecordsRemoved: 0
    68     canvasReadData: No
    69 
    7060Registrable domain: topframe3
    7161    hadUserInteraction: No
    7262    mostRecentUserInteraction: -1
    7363    grandfathered: No
    74     gotLinkDecorationFromPrevalentResource: No
     64    IsScheduledForAllButCookieDataRemoval: No
    7565    isPrevalentResource: No
    7666    isVeryPrevalentResource: No
    7767    dataRecordsRemoved: 0
    78     canvasReadData: No
    79 
    8068Registrable domain: topframe4
    8169    hadUserInteraction: No
    8270    mostRecentUserInteraction: -1
    8371    grandfathered: No
    84     gotLinkDecorationFromPrevalentResource: No
     72    IsScheduledForAllButCookieDataRemoval: No
    8573    isPrevalentResource: No
    8674    isVeryPrevalentResource: No
    8775    dataRecordsRemoved: 0
    88     canvasReadData: No
    89 
    9076
    9177ITP Data:
    9278Third Party Registrable Domain: subframe3
    93     {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 0 },{ Has been granted storage access under topframe4: 0; Has been seen under topframe4 in the last 24 hours: 0 },{ Has been granted storage access under topframe3: 0; Has been seen under topframe3 in the last 24 hours: 0 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 0 },}
     79    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe4: 0; Has been seen under topframe4 in the last 24 hours: 1 },{ Has been granted storage access under topframe3: 0; Has been seen under topframe3 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}
    9480Third Party Registrable Domain: subframe1
    95     {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 0 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 0 },}
     81    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },{ Has been granted storage access under topframe2: 0; Has been seen under topframe2 in the last 24 hours: 1 },}
    9682Third Party Registrable Domain: subframe2
    97     {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 0 },}
     83    {{ Has been granted storage access under topframe1: 0; Has been seen under topframe1 in the last 24 hours: 1 },}
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt

    r263474 r267750  
    99    mostRecentUserInteraction: -1
    1010    grandfathered: No
    11     gotLinkDecorationFromPrevalentResource: No
    12     topFrameLoadedThirdPartyScripts:
     11    TopFrameLoadedThirdPartyScripts:
    1312        localhost
     13    IsScheduledForAllButCookieDataRemoval: No
    1414    isPrevalentResource: No
    1515    isVeryPrevalentResource: No
    1616    dataRecordsRemoved: 0
    17     canvasReadData: No
    18 
    1917Registrable domain: localhost
    2018    hadUserInteraction: No
    2119    mostRecentUserInteraction: -1
    2220    grandfathered: No
    23     gotLinkDecorationFromPrevalentResource: No
    24     subresourceUnderTopFrameDomains:
     21    IsScheduledForAllButCookieDataRemoval: No
     22    SubresourceUnderTopFrameDomains:
    2523        127.0.0.1
    2624    isPrevalentResource: No
    2725    isVeryPrevalentResource: No
    2826    dataRecordsRemoved: 0
    29     canvasReadData: No
    30 
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt

    r263474 r267750  
    99    mostRecentUserInteraction: -1
    1010    grandfathered: No
    11     gotLinkDecorationFromPrevalentResource: No
    12     topFrameLoadedThirdPartyScripts:
     11    TopFrameLoadedThirdPartyScripts:
    1312        localhost
     13    IsScheduledForAllButCookieDataRemoval: No
    1414    isPrevalentResource: No
    1515    isVeryPrevalentResource: No
    1616    dataRecordsRemoved: 0
    17     canvasReadData: No
    18 
    1917Registrable domain: localhost
    2018    hadUserInteraction: No
    2119    mostRecentUserInteraction: -1
    2220    grandfathered: No
    23     gotLinkDecorationFromPrevalentResource: No
    24     subresourceUnderTopFrameDomains:
     21    IsScheduledForAllButCookieDataRemoval: No
     22    SubresourceUnderTopFrameDomains:
    2523        127.0.0.1
    2624    isPrevalentResource: No
    2725    isVeryPrevalentResource: No
    2826    dataRecordsRemoved: 0
    29     canvasReadData: No
    30 
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt

    r263474 r267750  
    55Resource load statistics:
    66
     7Registrable domain: 127.0.0.1
     8    hadUserInteraction: No
     9    mostRecentUserInteraction: -1
     10    grandfathered: No
     11    IsScheduledForAllButCookieDataRemoval: No
     12    isPrevalentResource: No
     13    isVeryPrevalentResource: No
     14    dataRecordsRemoved: 0
    715Registrable domain: localhost
    816    hadUserInteraction: No
    917    mostRecentUserInteraction: -1
    1018    grandfathered: No
    11     gotLinkDecorationFromPrevalentResource: No
    12     subresourceUnderTopFrameDomains:
     19    IsScheduledForAllButCookieDataRemoval: No
     20    SubresourceUnderTopFrameDomains:
    1321        127.0.0.1
    1422    isPrevalentResource: No
    1523    isVeryPrevalentResource: No
    1624    dataRecordsRemoved: 0
    17     canvasReadData: No
    18 
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html

    r250676 r267750  
    2525    function runTest() {
    2626        if (testRunner) {
    27             testRunner.setUseITPDatabase(true);
    2827            setEnableFeature(true, function() {
    2928                let iframeElement = document.createElement("iframe");
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html

    r250676 r267750  
    2525    function runTest() {
    2626        if (testRunner) {
    27             testRunner.setUseITPDatabase(true);
    2827            setEnableFeature(true, function() {
    2928                let iframeElement = document.createElement("iframe");
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html

    r261242 r267750  
    1313    testRunner.waitUntilDone();
    1414    testRunner.dumpAsText();
    15     testRunner.setUseITPDatabase(true);
    1615
    1716    const httpOnlyCookieName = "http-only-cookie";
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html

    r250676 r267750  
    2525    function runTest() {
    2626        if (testRunner) {
    27             testRunner.setUseITPDatabase(true);
    2827            setEnableFeature(true, function() {
    2928                let iframeElement = document.createElement("iframe");
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt

    r263474 r267750  
    77    mostRecentUserInteraction: -1
    88    grandfathered: No
    9     topFrameUniqueRedirectsTo:
     9    TopFrameUniqueRedirectsTo:
    1010        localhost
    11     gotLinkDecorationFromPrevalentResource: No
     11    IsScheduledForAllButCookieDataRemoval: No
    1212    isPrevalentResource: Yes
    1313    isVeryPrevalentResource: No
    1414    dataRecordsRemoved: 0
    15     canvasReadData: No
    16 
    1715Registrable domain: localhost
    1816    hadUserInteraction: No
    1917    mostRecentUserInteraction: -1
    2018    grandfathered: No
    21     topFrameUniqueRedirectsFrom:
     19    TopFrameUniqueRedirectsFrom:
    2220        127.0.0.1
    23     topFrameLinkDecorationsFrom:
     21    TopFrameLinkDecorationsFrom:
    2422        127.0.0.1
    25     gotLinkDecorationFromPrevalentResource: Yes
     23    IsScheduledForAllButCookieDataRemoval: Yes
    2624    isPrevalentResource: No
    2725    isVeryPrevalentResource: No
    2826    dataRecordsRemoved: 0
    29     canvasReadData: No
    30 
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-expected.txt

    r263474 r267750  
    77    mostRecentUserInteraction: -1
    88    grandfathered: No
    9     topFrameUniqueRedirectsTo:
     9    TopFrameUniqueRedirectsTo:
    1010        localhost
    11     gotLinkDecorationFromPrevalentResource: No
     11    IsScheduledForAllButCookieDataRemoval: No
    1212    isPrevalentResource: No
    1313    isVeryPrevalentResource: No
    1414    dataRecordsRemoved: 0
    15     canvasReadData: No
    16 
    1715Registrable domain: localhost
    1816    hadUserInteraction: No
    1917    mostRecentUserInteraction: -1
    2018    grandfathered: No
    21     topFrameUniqueRedirectsFrom:
     19    TopFrameUniqueRedirectsFrom:
    2220        127.0.0.1
    23     gotLinkDecorationFromPrevalentResource: No
     21    IsScheduledForAllButCookieDataRemoval: No
    2422    isPrevalentResource: No
    2523    isVeryPrevalentResource: No
    2624    dataRecordsRemoved: 0
    27     canvasReadData: No
    28 
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html

    r264609 r267750  
    99<body>
    1010<script>
    11     testRunner.setUseITPDatabase(true);
    1211    description("Tests that many inserts into the database only result in one row.");
    1312    jsTestIsAsync = true;
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-expected.txt

    r263474 r267750  
    66    mostRecentUserInteraction: -1
    77    grandfathered: No
    8     gotLinkDecorationFromPrevalentResource: No
     8    IsScheduledForAllButCookieDataRemoval: No
    99    isPrevalentResource: Yes
    1010    isVeryPrevalentResource: No
    1111    dataRecordsRemoved: 0
    12     canvasReadData: No
    13 
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-expected.txt

    r263474 r267750  
    99    mostRecentUserInteraction: -1
    1010    grandfathered: No
    11     gotLinkDecorationFromPrevalentResource: No
     11    IsScheduledForAllButCookieDataRemoval: No
    1212    isPrevalentResource: No
    1313    isVeryPrevalentResource: No
    1414    dataRecordsRemoved: 0
    15     canvasReadData: No
    16 
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/telemetry-generation-expected.txt

    r225640 r267750  
    55
    66PASS Hosts classified as prevalent resources.
    7 PASS testResult.totalPrevalentResources is 0
    8 PASS testResult.totalPrevalentResourcesWithUserInteraction is 0
    9 PASS testResult.top3SubframeUnderTopFrameOrigins is 0
     7FAIL testResult.totalPrevalentResources should be 0 (of type number). Was undefined (of type undefined).
     8FAIL testResult.totalPrevalentResourcesWithUserInteraction should be 0 (of type number). Was undefined (of type undefined).
     9FAIL testResult.top3SubframeUnderTopFrameOrigins should be 0 (of type number). Was undefined (of type undefined).
    1010PASS Hosts classified as prevalent resources.
    11 PASS testResult.totalPrevalentResources is 4
    12 PASS testResult.totalPrevalentResourcesWithUserInteraction is 1
    13 PASS testResult.top3SubframeUnderTopFrameOrigins is 4
     11FAIL testResult.totalPrevalentResources should be 4 (of type number). Was undefined (of type undefined).
     12FAIL testResult.totalPrevalentResourcesWithUserInteraction should be 1 (of type number). Was undefined (of type undefined).
     13FAIL testResult.top3SubframeUnderTopFrameOrigins should be 4 (of type number). Was undefined (of type undefined).
    1414PASS successfullyParsed is true
     15Some tests failed.
    1516
    1617TEST COMPLETE
  • trunk/LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-expected.txt

    r263474 r267750  
    2020    mostRecentUserInteraction: -1
    2121    grandfathered: No
    22     topFrameLinkDecorationsFrom:
     22    TopFrameLinkDecorationsFrom:
    2323        localhost
    24     gotLinkDecorationFromPrevalentResource: No
     24    IsScheduledForAllButCookieDataRemoval: No
    2525    isPrevalentResource: No
    2626    isVeryPrevalentResource: No
    2727    dataRecordsRemoved: 1
    28     canvasReadData: No
    29 
    3028Registrable domain: localhost
    3129    hadUserInteraction: No
    3230    mostRecentUserInteraction: -1
    3331    grandfathered: No
    34     gotLinkDecorationFromPrevalentResource: No
     32    IsScheduledForAllButCookieDataRemoval: No
    3533    isPrevalentResource: Yes
    3634    isVeryPrevalentResource: No
    3735    dataRecordsRemoved: 0
    38     canvasReadData: No
    39 
  • trunk/LayoutTests/http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt

    r263474 r267750  
    1515    mostRecentUserInteraction: within 24 hours
    1616    grandfathered: No
    17     topFrameUniqueRedirectsTo:
     17    TopFrameUniqueRedirectsTo:
    1818        localhost
    19     topFrameUniqueRedirectsFrom:
     19    TopFrameUniqueRedirectsFrom:
    2020        localhost
    21     gotLinkDecorationFromPrevalentResource: No
     21    IsScheduledForAllButCookieDataRemoval: No
    2222    isPrevalentResource: Yes
    2323    isVeryPrevalentResource: No
    2424    dataRecordsRemoved: 0
    25     canvasReadData: No
    26 
    2725Registrable domain: localhost
    2826    hadUserInteraction: Yes
    2927    mostRecentUserInteraction: within 24 hours
    3028    grandfathered: No
    31     storageAccessUnderTopFrameDomains:
     29    StorageAccessUnderTopFrameDomains:
    3230        127.0.0.1
    33     topFrameUniqueRedirectsTo:
     31    TopFrameUniqueRedirectsTo:
    3432        127.0.0.1
    35     topFrameUniqueRedirectsFrom:
     33    TopFrameUniqueRedirectsFrom:
    3634        127.0.0.1
    37     gotLinkDecorationFromPrevalentResource: No
    38     subframeUnderTopFrameDomains:
     35    IsScheduledForAllButCookieDataRemoval: No
     36    SubframeUnderTopFrameDomains:
    3937        127.0.0.1
    4038    isPrevalentResource: Yes
    4139    isVeryPrevalentResource: No
    4240    dataRecordsRemoved: 0
    43     canvasReadData: No
    44 
    4541
    4642ITP Data:
    4743Third Party Registrable Domain: localhost
    48     {{ Has been granted storage access under 127.0.0.1: 1; Has been seen under 127.0.0.1 in the last 24 hours: 0 },}
     44    {{ Has been granted storage access under 127.0.0.1: 1; Has been seen under 127.0.0.1 in the last 24 hours: 1 },}
  • trunk/LayoutTests/http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt

    r263474 r267750  
    66    mostRecentUserInteraction: -1
    77    grandfathered: No
    8     gotLinkDecorationFromPrevalentResource: No
     8    IsScheduledForAllButCookieDataRemoval: No
    99    isPrevalentResource: No
    1010    isVeryPrevalentResource: No
    1111    dataRecordsRemoved: 0
    12     fontsSuccessfullyLoaded:
    13         Helvetica
    14         Times
    15     topFrameRegistrableDomainsWhichAccessedWebAPIs:
    16         127.0.0.1
    17     canvasTextWritten:
    18         suspicious invisible text
    19     canvasReadData: Yes
    20 
  • trunk/LayoutTests/http/tests/webAPIStatistics/font-load-data-collection-expected.txt

    r263474 r267750  
    88    mostRecentUserInteraction: -1
    99    grandfathered: No
    10     gotLinkDecorationFromPrevalentResource: No
     10    IsScheduledForAllButCookieDataRemoval: No
    1111    isPrevalentResource: No
    1212    isVeryPrevalentResource: No
    1313    dataRecordsRemoved: 0
    14     fontsFailedToLoad:
    15         Fransiscan
    16         Andale
    17         notARealFont
    18     fontsSuccessfullyLoaded:
    19         Times
    20     topFrameRegistrableDomainsWhichAccessedWebAPIs:
    21         127.0.0.1
    22     canvasReadData: No
    23 
  • trunk/LayoutTests/http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt

    r263474 r267750  
    66    mostRecentUserInteraction: -1
    77    grandfathered: No
    8     gotLinkDecorationFromPrevalentResource: No
     8    IsScheduledForAllButCookieDataRemoval: No
    99    isPrevalentResource: No
    1010    isVeryPrevalentResource: No
    1111    dataRecordsRemoved: 0
    12     fontsSuccessfullyLoaded:
    13         Times
    14     topFrameRegistrableDomainsWhichAccessedWebAPIs:
    15         127.0.0.1
    16     navigatorFunctionsAccessed:
    17         appVersion
    18         userAgent
    19         plugins
    20         mimeTypes
    21         cookieEnabled
    22         javaEnabled
    23     canvasReadData: No
    24 
  • trunk/LayoutTests/http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt

    r263474 r267750  
    66    mostRecentUserInteraction: -1
    77    grandfathered: No
    8     gotLinkDecorationFromPrevalentResource: No
     8    IsScheduledForAllButCookieDataRemoval: No
    99    isPrevalentResource: No
    1010    isVeryPrevalentResource: No
    1111    dataRecordsRemoved: 0
    12     fontsSuccessfullyLoaded:
    13         Times
    14     topFrameRegistrableDomainsWhichAccessedWebAPIs:
    15         127.0.0.1
    16     screenFunctionsAccessed:
    17         height
    18         width
    19         colorDepth
    20         pixelDepth
    21         availLeft
    22         availTop
    23         availHeight
    24         availWidth
    25     canvasReadData: No
    26 
  • trunk/LayoutTests/platform/glib/TestExpectations

    r267558 r267750  
    10021002http/tests/storageAccess/ [ Pass ]
    10031003http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html [ Skip ]
    1004 http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html [ Skip ]
    1005 webkit.org/b/208400 http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html [ Failure ]
    10061004webkit.org/b/208400 http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html [ Failure ]
    10071005
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r267531 r267750  
    11591159webkit.org/b/210226 imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small.html [ Failure ]
    11601160
    1161 webkit.org/b/210487 http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database.php [ Failure ]
    11621161webkit.org/b/210487 http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction.php [ Failure ]
    11631162
    1164 webkit.org/b/210796 http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database.html [ Failure ]
    11651163webkit.org/b/210796 http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion.html [ Failure ]
    11661164
     
    24132411webkit.org/b/212202 compositing/fixed-with-main-thread-scrolling.html [ Skip ]
    24142412
    2415 webkit.org/b/210796 http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database.html [ Timeout Pass ]
    24162413webkit.org/b/210796 http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html [ Timeout Pass ]
    2417 webkit.org/b/210796 http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database.html [ Timeout Pass ]
    24182414webkit.org/b/210796 http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed.html [ Timeout Pass ]
    2419 webkit.org/b/210796 http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database.html [ Timeout Pass ]
    24202415webkit.org/b/210796 http/tests/resourceLoadStatistics/ping-to-prevalent-resource.html [ Timeout Pass ]
    2421 webkit.org/b/210796 http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database.html [ Timeout Pass ]
    2422 webkit.org/b/210796 http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database.html [ Failure Pass ]
    24232416webkit.org/b/210796 http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html [ Failure Pass ]
    24242417webkit.org/b/210796 http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html [ Timeout Pass ]
    2425 webkit.org/b/210796 http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database.html [ Timeout Pass ]
    24262418webkit.org/b/210796 http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction.html [ Timeout Pass ]
    24272419
  • trunk/LayoutTests/platform/ios-wk2/TestExpectations

    r267724 r267750  
    14051405
    14061406webkit.org/b/208739 http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral.html [ Pass Timeout ]
    1407 
    1408 webkit.org/b/208739 http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database.html [ Pass Timeout ]
    14091407
    14101408webkit.org/b/208890 imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm [ Pass Failure ]
     
    17621760webkit.org/b/210046 [ Release ] storage/indexeddb/value-cursor-cycle.html [ Pass Failure ]
    17631761
    1764 webkit.org/b/211928 http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database.html [ Pass Timeout ]
     1762webkit.org/b/211928 http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion.html [ Pass Timeout ]
    17651763
    17661764webkit.org/b/212219 media/track/track-cue-missing.html [ Pass Failure ]
  • trunk/LayoutTests/platform/ios/TestExpectations

    r267314 r267750  
    10061006http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html [ Skip ]
    10071007http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html [ Skip ]
    1008 http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database.html [ Skip ]
    10091008media/audio-playback-volume-changes-with-restrictions-and-user-gestures.html [ Skip ]
    10101009media/audio-playback-volume-changes-with-restrictions.html [ Skip ]
     
    27172716http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html [ Skip ]
    27182717http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html [ Skip ]
    2719 webkit.org/b/174120 http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database.html [ Skip ]
    2720 http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database.html [ Skip ]
    2721 http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database.html [ Skip ]
    27222718# Skipped in WK2 expectations because cookie partitioning is only available in macOS High Sierra and iOS 11.
    27232719http/tests/resourceLoadStatistics/cookie-deletion.html [ Pass ]
     
    27352731http/tests/resourceLoadStatistics/set-all-cookies-to-same-site-strict.html [ Pass ]
    27362732http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to.html [ Pass ]
    2737 http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html [ Pass ]
    27382733
    27392734http/tests/storageAccess/deny-storage-access-under-opener.html [ Pass ]
     
    27432738http/tests/storageAccess/has-storage-access-false-by-default-ephemeral.html [ Pass ]
    27442739http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies.html [ Pass Timeout ]
    2745 http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html [ Pass Timeout ]
    2746 http/tests/storageAccess/deny-storage-access-under-opener-database.html [ Pass ]
    2747 http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database.html [ Pass ]
    2748 http/tests/storageAccess/has-storage-access-false-by-default-database.html [ Pass ]
    2749 http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database.html [ Pass ]
    27502740
    27512741# Enable again when fixing https://bugs.webkit.org/show_bug.cgi?id=208400.
    27522742http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html [ Skip ]
    2753 http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html [ Skip ]
    27542743
    27552744# Skipped in general expectations since they only work on iOS and Mac, WK2.
     
    28962885
    28972886webkit.org/b/177617 http/tests/storageAccess/request-storage-access-top-frame.html [ Pass Timeout ]
    2898 http/tests/storageAccess/request-storage-access-top-frame-database.html [ Pass Timeout ]
    28992887
    29002888webkit.org/b/177547 imported/w3c/web-platform-tests/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html [ Pass Failure ]
  • trunk/LayoutTests/platform/mac-wk2/TestExpectations

    r267607 r267750  
    640640http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html [ Pass ]
    641641http/tests/storageAccess/ [ Pass ]
    642 http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html [ Pass Timeout ]
     642http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html [ Pass Timeout ]
    643643http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html [ Skip ]
    644 http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html [ Skip ]
    645644
    646645# Enable again when fixing https://bugs.webkit.org/show_bug.cgi?id=208400.
    647 http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html [ Skip ]
    648646http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html [ Skip ]
    649647
    650648# As of https://trac.webkit.org/changeset/227762 the timestampResolution is just 5 seconds which makes this test flaky
    651649http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html [ Skip ]
    652 http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database.html [ Skip ]
    653650
    654651webkit.org/b/173861 [ Release ] http/tests/webrtc/filtering-ice-candidate-same-origin-frame.html [ Pass Timeout ]
     
    711708[ Catalina+ ] http/tests/resourceLoadStatistics/set-all-cookies-to-same-site-strict.html [ Pass ]
    712709[ Catalina+ ] http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to.html [ Pass ]
    713 [ Catalina+ ] http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html [ Pass ]
    714710
    715711# The CNAME and cookie transform SPIs are only available in macOS Big Sur and above.
     
    850846webkit.org/b/187391 accessibility/mac/async-increment-decrement-action.html [ Skip ]
    851847
    852 http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database.html [ Pass Timeout ]
     848http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html [ Pass Timeout ]
    853849
    854850webkit.org/b/197068 [ Debug ] fast/selectors/is-backtracking.html [ Pass Timeout ]
     
    10611057
    10621058webkit.org/b/213461 fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing.html [ Pass Failure ]
    1063 
    1064 webkit.org/b/213553 http/tests/resourceLoadStatistics/grandfathering-database.html [ Pass Timeout ]
    10651059
    10661060webkit.org/b/213621 imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getContributingSources.https.html [ Pass Failure ]
  • trunk/LayoutTests/platform/wk2/TestExpectations

    r267313 r267750  
    735735http/tests/resourceLoadStatistics/set-all-cookies-to-same-site-strict.html [ Skip ]
    736736http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to.html [ Skip ]
    737 http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html [ Skip ]
     737
     738# This test is flaky. <rdar://problem/69748720>
     739http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction.html [ Pass Failure ]
    738740
    739741# The CNAME and cookie transform SPIs are only available in macOS Big Sur + iOS 14 and above.
  • trunk/LayoutTests/platform/wpe/TestExpectations

    r267531 r267750  
    643643media/now-playing-status-without-media.html [ Skip ]
    644644
    645 webkit.org/b/210487 http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database.php [ Failure ]
    646645webkit.org/b/210487 http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction.php [ Failure ]
    647646
  • trunk/Source/WTF/ChangeLog

    r267727 r267750  
     12020-09-29  Alex Christensen  <achristensen@webkit.org>
     2
     3        Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
     4        https://bugs.webkit.org/show_bug.cgi?id=217063
     5
     6        Reviewed by John Wilander.
     7
     8        * Scripts/Preferences/WebPreferencesInternal.yaml:
     9
    1102020-09-28  Yusuke Suzuki  <ysuzuki@apple.com>
    211
  • trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml

    r267714 r267750  
    370370      default: false
    371371
    372 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
    373 IsITPDatabaseEnabled:
    374   type: bool
    375   humanReadableName: "ITP Database Backend"
    376   humanReadableDescription: "Enable Intelligent Tracking Prevention Database Backend"
    377   webcoreBinding: RuntimeEnabledFeatures
    378   defaultValue:
    379     WebKitLegacy:
    380       default: false
    381     WebKit:
    382       default: true
    383 
    384372KeygenElementEnabled:
    385373  type: bool
  • trunk/Source/WebCore/ChangeLog

    r267744 r267750  
     12020-09-29  Alex Christensen  <achristensen@webkit.org>
     2
     3        Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
     4        https://bugs.webkit.org/show_bug.cgi?id=217063
     5
     6        Reviewed by John Wilander.
     7
     8        ResourceLoadStatistics was initially implemented using plists to store the persistent data on disk.
     9        This caused some performance issues, so a sqlite database backend was implemented and transitioned to.
     10        Now that the transition is complete, let's remove the old plist backend.
     11
     12        * page/RuntimeEnabledFeatures.h:
     13        (WebCore::RuntimeEnabledFeatures::setIsITPDatabaseEnabled): Deleted.
     14        (WebCore::RuntimeEnabledFeatures::isITPDatabaseEnabled const): Deleted.
     15
    1162020-09-29  Chris Dumez  <cdumez@apple.com>
    217
  • trunk/Source/WebCore/page/RuntimeEnabledFeatures.h

    r267311 r267750  
    100100    bool itpDebugModeEnabled() const { return m_itpDebugMode; }
    101101
    102     void setIsITPDatabaseEnabled(bool isEnabled) { m_isITPDatabaseEnabled = isEnabled; }
    103     bool isITPDatabaseEnabled() const { return m_isITPDatabaseEnabled; }
    104 
    105102    void setRestrictedHTTPResponseAccess(bool isEnabled) { m_isRestrictedHTTPResponseAccess = isEnabled; }
    106103    bool restrictedHTTPResponseAccess() const { return m_isRestrictedHTTPResponseAccess; }
     
    378375#endif
    379376
    380     bool m_isITPDatabaseEnabled { true };
    381 
    382377#if HAVE(NSURLSESSION_WEBSOCKET)
    383378    bool m_isNSURLSessionWebSocketEnabled { false };
  • trunk/Source/WebKit/ChangeLog

    r267744 r267750  
     12020-09-29  Alex Christensen  <achristensen@webkit.org>
     2
     3        Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
     4        https://bugs.webkit.org/show_bug.cgi?id=217063
     5
     6        Reviewed by John Wilander.
     7
     8        * NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
     9        * NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
     10        (WebKit::ResourceLoadStatisticsMemoryStore::setPersistentStorage): Deleted.
     11        (WebKit::ResourceLoadStatisticsMemoryStore::syncStorageIfNeeded): Deleted.
     12        (WebKit::ResourceLoadStatisticsMemoryStore::syncStorageImmediately): Deleted.
     13        * NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
     14        * NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp: Removed.
     15        * NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h: Removed.
     16        * NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
     17        (WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
     18        (WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
     19        * NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
     20        * NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
     21        (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
     22        (WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore):
     23        (WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession):
     24        (WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
     25        (WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
     26        (WebKit::WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore): Deleted.
     27        * NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
     28        * NetworkProcess/NetworkProcess.cpp:
     29        (WebKit::NetworkProcess::didClose):
     30        (WebKit::NetworkProcess::initializeNetworkProcess):
     31        (WebKit::NetworkProcess::setUseITPDatabase): Deleted.
     32        * NetworkProcess/NetworkProcess.h:
     33        (WebKit::NetworkProcess::isITPDatabaseEnabled const): Deleted.
     34        * NetworkProcess/NetworkProcess.messages.in:
     35        * NetworkProcess/NetworkProcessCreationParameters.cpp:
     36        (WebKit::NetworkProcessCreationParameters::encode const):
     37        (WebKit::NetworkProcessCreationParameters::decode):
     38        * NetworkProcess/NetworkProcessCreationParameters.h:
     39        * NetworkProcess/NetworkSession.cpp:
     40        (WebKit::NetworkSession::destroyResourceLoadStatistics):
     41        (WebKit::NetworkSession::flushAndDestroyPersistentStore): Deleted.
     42        * NetworkProcess/NetworkSession.h:
     43        * Shared/WebPreferencesInternal.yaml:
     44        * Sources.txt:
     45        * SourcesCocoa.txt:
     46        * UIProcess/API/C/WKPreferences.cpp:
     47        (WKPreferencesSetIsITPDatabaseEnabled): Deleted.
     48        (WKPreferencesGetIsITPDatabaseEnabled): Deleted.
     49        * UIProcess/API/C/WKPreferencesRef.h:
     50        * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
     51        (WKWebsiteDataStoreStatisticsResetToConsistentState):
     52        (WKWebsiteDataStoreSetUseITPDatabase): Deleted.
     53        * UIProcess/API/C/WKWebsiteDataStoreRef.h:
     54        * UIProcess/API/Cocoa/WKPreferences.mm:
     55        (-[WKPreferences _isITPDatabaseEnabled]): Deleted.
     56        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
     57        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
     58        (-[WKWebsiteDataStore _setUseITPDatabase:completionHandler:]): Deleted.
     59        * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
     60        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     61        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
     62        * UIProcess/Network/NetworkProcessProxy.cpp:
     63        (WebKit::NetworkProcessProxy::setUseITPDatabase): Deleted.
     64        * UIProcess/Network/NetworkProcessProxy.h:
     65        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
     66        (WebKit::WebsiteDataStore::setUseITPDatabase): Deleted.
     67        * UIProcess/WebsiteData/WebsiteDataStore.h:
     68        * UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm: Removed.
     69        * WebKit.xcodeproj/project.pbxproj:
     70
    1712020-09-29  Chris Dumez  <cdumez@apple.com>
    272
  • trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h

    r266237 r267750  
    9494
    9595    void classifyPrevalentResources() override;
    96     void syncStorageIfNeeded() override { };
    97     void syncStorageImmediately() override { };
    9896    void runIncrementalVacuumCommand();
    9997
  • trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp

    r264650 r267750  
    3333#include "PluginProcessManager.h"
    3434#include "PluginProcessProxy.h"
    35 #include "ResourceLoadStatisticsPersistentStorage.h"
    3635#include "StorageAccessStatus.h"
    3736#include "WebProcessProxy.h"
     
    9291}
    9392
    94 void ResourceLoadStatisticsMemoryStore::setPersistentStorage(ResourceLoadStatisticsPersistentStorage& persistentStorage)
    95 {
    96     ASSERT(!RunLoop::isMain());
    97 
    98     m_persistentStorage = makeWeakPtr(persistentStorage);
    99 }
    100 
    10193void ResourceLoadStatisticsMemoryStore::calculateAndSubmitTelemetry(NotifyPagesForTesting shouldNotifyPagesForTesting) const
    10294{
     
    238230        }
    239231    }
    240 }
    241 
    242 void ResourceLoadStatisticsMemoryStore::syncStorageIfNeeded()
    243 {
    244     ASSERT(!RunLoop::isMain());
    245 
    246     if (m_persistentStorage)
    247         m_persistentStorage->scheduleOrWriteMemoryStore(ResourceLoadStatisticsPersistentStorage::ForceImmediateWrite::No);
    248 }
    249 
    250 void ResourceLoadStatisticsMemoryStore::syncStorageImmediately()
    251 {
    252     ASSERT(!RunLoop::isMain());
    253 
    254     if (m_persistentStorage)
    255         m_persistentStorage->scheduleOrWriteMemoryStore(ResourceLoadStatisticsPersistentStorage::ForceImmediateWrite::Yes);
    256232}
    257233
  • trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h

    r264356 r267750  
    4545namespace WebKit {
    4646
    47 class ResourceLoadStatisticsPersistentStorage;
    48 
    4947// This is always constructed / used / destroyed on the WebResourceLoadStatisticsStore's statistics queue.
    5048class ResourceLoadStatisticsMemoryStore final : public ResourceLoadStatisticsStore {
    5149public:
    5250    ResourceLoadStatisticsMemoryStore(WebResourceLoadStatisticsStore&, WorkQueue&, ShouldIncludeLocalhost);
    53 
    54     void setPersistentStorage(ResourceLoadStatisticsPersistentStorage&);
    5551
    5652    void clear(CompletionHandler<void()>&&) override;
     
    6965
    7066    void classifyPrevalentResources() override;
    71     void syncStorageIfNeeded() override;
    72     void syncStorageImmediately() override;
    7367
    7468    void requestStorageAccessUnderOpener(DomainInNeedOfStorageAccess&&, WebCore::PageIdentifier, OpenerDomain&&) override;
     
    147141    Optional<WallTime> mostRecentUserInteractionTime(const ResourceLoadStatistics&);
    148142
    149     WeakPtr<ResourceLoadStatisticsPersistentStorage> m_persistentStorage;
    150143    HashMap<RegistrableDomain, ResourceLoadStatistics> m_resourceStatisticsMap;
    151144    Vector<OperatingDate> m_operatingDates;
  • trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp

    r266829 r267750  
    3434#include "PluginProcessManager.h"
    3535#include "PluginProcessProxy.h"
    36 #include "ResourceLoadStatisticsPersistentStorage.h"
    3736#include "StorageAccessStatus.h"
    3837#include "WebProcessProxy.h"
     
    249248
    250249        pruneStatisticsIfNeeded();
    251         syncStorageIfNeeded();
    252250
    253251        logTestingEvent("Storage Synced"_s);
     
    276274                weakThis->grandfatherDataForDomains(domainsWithWebsiteData);
    277275                weakThis->m_endOfGrandfatheringTimestamp = WallTime::now() + weakThis->m_parameters.grandfatheringTime;
    278                 weakThis->syncStorageImmediately();
    279276                callback();
    280277                weakThis->logTestingEvent("Grandfathered"_s);
  • trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h

    r266829 r267750  
    5252namespace WebKit {
    5353
    54 class ResourceLoadStatisticsPersistentStorage;
    55 
    5654class OperatingDate {
    5755public:
     
    118116
    119117    virtual void classifyPrevalentResources() = 0;
    120     virtual void syncStorageIfNeeded() = 0;
    121     virtual void syncStorageImmediately() = 0;
    122118    virtual void mergeStatistics(Vector<ResourceLoadStatistics>&&) = 0;
    123119
  • trunk/Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp

    r266829 r267750  
    3636#include "ResourceLoadStatisticsDatabaseStore.h"
    3737#include "ResourceLoadStatisticsMemoryStore.h"
    38 #include "ResourceLoadStatisticsPersistentStorage.h"
    3938#include "ShouldGrandfatherStatistics.h"
    4039#include "StorageAccessStatus.h"
     
    179178
    180179    if (!resourceLoadStatisticsDirectory.isEmpty()) {
    181         postTask([this, databaseEnabled = networkSession.networkProcess().isITPDatabaseEnabled(), resourceLoadStatisticsDirectory = resourceLoadStatisticsDirectory.isolatedCopy(), shouldIncludeLocalhost, sessionID = networkSession.sessionID()] {
    182             if (databaseEnabled) {
    183                 m_statisticsStore = makeUnique<ResourceLoadStatisticsDatabaseStore>(*this, m_statisticsQueue, shouldIncludeLocalhost, resourceLoadStatisticsDirectory, sessionID);
    184 
    185                 auto memoryStore = makeUnique<ResourceLoadStatisticsMemoryStore>(*this, m_statisticsQueue, shouldIncludeLocalhost);
    186                 downcast<ResourceLoadStatisticsDatabaseStore>(*m_statisticsStore.get()).populateFromMemoryStore(*memoryStore);
    187 
    188                 auto legacyPlistFilePath = FileSystem::pathByAppendingComponent(resourceLoadStatisticsDirectory, "full_browsing_session_resourceLog.plist");
    189                 if (FileSystem::fileExists(legacyPlistFilePath))
    190                     FileSystem::deleteFile(legacyPlistFilePath);
    191 
    192             } else {
    193                 m_statisticsStore = makeUnique<ResourceLoadStatisticsMemoryStore>(*this, m_statisticsQueue, shouldIncludeLocalhost);
    194                 m_persistentStorage = makeUnique<ResourceLoadStatisticsPersistentStorage>(downcast<ResourceLoadStatisticsMemoryStore>(*m_statisticsStore), m_statisticsQueue, resourceLoadStatisticsDirectory);
    195 
    196                 SQLiteFileSystem::deleteDatabaseFile(FileSystem::pathByAppendingComponent(resourceLoadStatisticsDirectory, "observations.db"));
    197             }
     180        postTask([this, resourceLoadStatisticsDirectory = resourceLoadStatisticsDirectory.isolatedCopy(), shouldIncludeLocalhost, sessionID = networkSession.sessionID()] {
     181            m_statisticsStore = makeUnique<ResourceLoadStatisticsDatabaseStore>(*this, m_statisticsQueue, shouldIncludeLocalhost, resourceLoadStatisticsDirectory, sessionID);
     182
     183            auto memoryStore = makeUnique<ResourceLoadStatisticsMemoryStore>(*this, m_statisticsQueue, shouldIncludeLocalhost);
     184            downcast<ResourceLoadStatisticsDatabaseStore>(*m_statisticsStore.get()).populateFromMemoryStore(*memoryStore);
     185
     186            auto legacyPlistFilePath = FileSystem::pathByAppendingComponent(resourceLoadStatisticsDirectory, "full_browsing_session_resourceLog.plist");
     187            if (FileSystem::fileExists(legacyPlistFilePath))
     188                FileSystem::deleteFile(legacyPlistFilePath);
    198189
    199190            m_statisticsStore->didCreateNetworkProcess();
     
    208199    RELEASE_ASSERT(RunLoop::isMain());
    209200    RELEASE_ASSERT(!m_statisticsStore);
    210     RELEASE_ASSERT(!m_persistentStorage);
    211201}
    212202
     
    220210
    221211    m_networkSession = nullptr;
    222     flushAndDestroyPersistentStore([callbackAggregator] { });
    223212    destroyResourceLoadStatisticsStore([callbackAggregator] { });
    224213}
     
    256245}
    257246
    258 void WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore(CompletionHandler<void()>&& completionHandler)
    259 {
    260     RELEASE_ASSERT(RunLoop::isMain());
    261 
    262     // Make sure we destroy the persistent store on the background queue and stay alive until it
    263     // is destroyed because it has a C++ reference to us.
    264     m_statisticsQueue->dispatch([this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)] () mutable {
    265         m_persistentStorage = nullptr;
    266         RunLoop::main().dispatch(WTFMove(completionHandler));
    267     });
    268 }
    269 
    270247void WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk(CompletionHandler<void()>&& completionHandler)
    271248{
     
    273250   
    274251    postTask([this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)]() mutable {
    275         if (m_persistentStorage)
    276             m_persistentStorage->populateMemoryStoreFromDisk([protectedThis = WTFMove(protectedThis), completionHandler = WTFMove(completionHandler)]() mutable {
    277                 postTaskReply(WTFMove(completionHandler));
    278             });
    279         else if (m_statisticsStore && is<ResourceLoadStatisticsDatabaseStore>(*m_statisticsStore)) {
     252        if (m_statisticsStore && is<ResourceLoadStatisticsDatabaseStore>(*m_statisticsStore)) {
    280253            auto& databaseStore = downcast<ResourceLoadStatisticsDatabaseStore>(*m_statisticsStore);
    281254            if (databaseStore.isNewResourceLoadStatisticsDatabaseFile()) {
     
    11691142    ASSERT(RunLoop::isMain());
    11701143    postTask([this, protectedThis = makeRef(*this), shouldGrandfather, completionHandler = WTFMove(completionHandler)]() mutable {
    1171         if (m_persistentStorage)
    1172             m_persistentStorage->clear();
    1173 
    11741144        if (!m_statisticsStore) {
    11751145            if (shouldGrandfather == ShouldGrandfatherStatistics::Yes)
  • trunk/Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h

    r266829 r267750  
    6464class NetworkSession;
    6565class ResourceLoadStatisticsStore;
    66 class ResourceLoadStatisticsPersistentStorage;
    6766class WebFrameProxy;
    6867class WebProcessProxy;
     
    303302    bool isEphemeral() const { return m_isEphemeral == WebCore::ResourceLoadStatistics::IsEphemeral::Yes; };
    304303    void insertExpiredStatisticForTesting(const RegistrableDomain&, bool hadUserInteraction, bool isScheduledForAllButCookieDataRemoval, bool isPrevalent, CompletionHandler<void()>&&);
    305     void flushAndDestroyPersistentStore(CompletionHandler<void()>&&);
    306304
    307305private:
     
    329327    Ref<WTF::WorkQueue> m_statisticsQueue;
    330328    std::unique_ptr<ResourceLoadStatisticsStore> m_statisticsStore;
    331     std::unique_ptr<ResourceLoadStatisticsPersistentStorage> m_persistentStorage;
    332329
    333330    RunLoop::Timer<WebResourceLoadStatisticsStore> m_dailyTasksTimer;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r267618 r267750  
    270270    });
    271271
    272     // Make sure we flush all cookies and resource load statistics to disk before exiting.
    273 #if ENABLE(RESOURCE_LOAD_STATISTICS)
    274     forEachNetworkSession([&] (auto& networkSession) {
    275         networkSession.flushAndDestroyPersistentStore([callbackAggregator] { });
    276     });
    277 #endif
     272    // Make sure we flush all cookies to disk before exiting.
    278273    forEachNetworkSession([&] (auto& networkSession) {
    279274        platformFlushCookies(networkSession.sessionID(), [callbackAggregator] { });
     
    341336
    342337    setCacheModel(parameters.cacheModel);
    343 
    344 #if ENABLE(RESOURCE_LOAD_STATISTICS)
    345     m_isITPDatabaseEnabled = parameters.shouldEnableITPDatabase;
    346 #endif
    347338
    348339    setAdClickAttributionDebugMode(parameters.enableAdClickAttributionDebugMode);
     
    676667            resourceLoadStatistics->setGrandfathered(domain, isGrandfathered, WTFMove(completionHandler));
    677668        else
    678             completionHandler();
    679     } else {
    680         ASSERT_NOT_REACHED();
    681         completionHandler();
    682     }
    683 }
    684 
    685 void NetworkProcess::setUseITPDatabase(PAL::SessionID sessionID, bool value, CompletionHandler<void()>&& completionHandler)
    686 {
    687     if (auto* networkSession = this->networkSession(sessionID)) {
    688         if (m_isITPDatabaseEnabled != value) {
    689             m_isITPDatabaseEnabled = value;
    690             networkSession->recreateResourceLoadStatisticStore(WTFMove(completionHandler));
    691         } else
    692669            completionHandler();
    693670    } else {
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r267618 r267750  
    221221    void isRegisteredAsSubresourceUnder(PAL::SessionID, const SubResourceDomain&, const TopFrameDomain&, CompletionHandler<void(bool)>&&);
    222222    void setGrandfathered(PAL::SessionID, const RegistrableDomain&, bool isGrandfathered, CompletionHandler<void()>&&);
    223     void setUseITPDatabase(PAL::SessionID, bool value, CompletionHandler<void()>&&);
    224223    void setMaxStatisticsEntries(PAL::SessionID, uint64_t maximumEntryCount, CompletionHandler<void()>&&);
    225224    void setPrevalentResource(PAL::SessionID, const RegistrableDomain&, CompletionHandler<void()>&&);
     
    270269    void setAppBoundDomainsForResourceLoadStatistics(PAL::SessionID, HashSet<WebCore::RegistrableDomain>&&, CompletionHandler<void()>&&);
    271270#endif
    272     bool isITPDatabaseEnabled() const { return m_isITPDatabaseEnabled; }
    273271    void setShouldDowngradeReferrerForTesting(bool, CompletionHandler<void()>&&);
    274272    void setThirdPartyCookieBlockingMode(PAL::SessionID, WebCore::ThirdPartyCookieBlockingMode, CompletionHandler<void()>&&);
     
    583581    std::unique_ptr<NetworkHTTPSUpgradeChecker> m_networkHTTPSUpgradeChecker;
    584582#endif
    585 
    586 #if ENABLE(RESOURCE_LOAD_STATISTICS)
    587     bool m_isITPDatabaseEnabled { false };
    588 #endif
    589583   
    590584    Lock m_sessionStorageQuotaManagersLock;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in

    r267534 r267750  
    118118    SetCacheMaxAgeCapForPrevalentResources(PAL::SessionID sessionID, Seconds seconds) -> () Async
    119119    SetGrandfathered(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain, bool isGrandfathered) -> () Async
    120     SetUseITPDatabase(PAL::SessionID sessionID, bool value) -> () Async
    121120    GetResourceLoadStatisticsDataSummary(PAL::SessionID sessionID) -> (Vector<WebKit::WebResourceLoadStatisticsStore::ThirdPartyData> thirdPartyData) Async
    122121    SetGrandfatheringTime(PAL::SessionID sessionID, Seconds seconds) -> () Async
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp

    r267618 r267750  
    7070    encoder << serviceWorkerRegistrationDirectory << serviceWorkerRegistrationDirectoryExtensionHandle << shouldDisableServiceWorkerProcessTerminationDelay;
    7171#endif
    72     encoder << shouldEnableITPDatabase;
    7372    encoder << enableAdClickAttributionDebugMode;
    7473}
     
    151150#endif
    152151
    153     if (!decoder.decode(result.shouldEnableITPDatabase))
    154         return false;
    155 
    156152    if (!decoder.decode(result.enableAdClickAttributionDebugMode))
    157153        return false;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h

    r267618 r267750  
    8888    bool shouldDisableServiceWorkerProcessTerminationDelay { false };
    8989#endif
    90     bool shouldEnableITPDatabase { false };
    9190    bool enableAdClickAttributionDebugMode { false };
    9291};
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp

    r267540 r267750  
    149149    m_resourceLoadStatistics = nullptr;
    150150}
    151 
    152 void NetworkSession::flushAndDestroyPersistentStore(CompletionHandler<void()>&& completionHandler)
    153 {
    154     if (!m_resourceLoadStatistics)
    155         return completionHandler();
    156 
    157     m_resourceLoadStatistics->flushAndDestroyPersistentStore(WTFMove(completionHandler));
    158 }
    159151#endif
    160152
  • trunk/Source/WebKit/NetworkProcess/NetworkSession.h

    r266829 r267750  
    112112    void resetCNAMEDomainData();
    113113    void destroyResourceLoadStatistics(CompletionHandler<void()>&&);
    114     void flushAndDestroyPersistentStore(CompletionHandler<void()>&&);
    115114#endif
    116115   
  • trunk/Source/WebKit/Shared/WebPreferencesInternal.yaml

    r267597 r267750  
    154154  webcoreName: experimentalPlugInSandboxProfilesEnabled
    155155
    156 IsITPDatabaseEnabled:
    157   type: bool
    158   defaultValue: true
    159   humanReadableName: "ITP Database Backend"
    160   humanReadableDescription: "Enable Intelligent Tracking Prevention Database Backend"
    161   webcoreBinding: RuntimeEnabledFeatures
    162 
    163156ServiceWorkersEnabled:
    164157  type: bool
  • trunk/Source/WebKit/Sources.txt

    r266063 r267750  
    7878NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp
    7979NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp
    80 NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp
    8180NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp
    8281
  • trunk/Source/WebKit/SourcesCocoa.txt

    r267602 r267750  
    448448UIProcess/ios/PageClientImplIOS.mm
    449449UIProcess/ios/ProcessAssertionIOS.mm
    450 UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm
    451450UIProcess/ios/SmartMagnificationController.mm
    452451UIProcess/ios/TextCheckerIOS.mm
  • trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp

    r267311 r267750  
    126126}
    127127
    128 void WKPreferencesSetIsITPDatabaseEnabled(WKPreferencesRef preferencesRef, bool isITPDatabaseEnabled)
    129 {
    130     toImpl(preferencesRef)->setIsITPDatabaseEnabled(isITPDatabaseEnabled);
    131 }
    132 
    133 bool WKPreferencesGetIsITPDatabaseEnabled(WKPreferencesRef preferencesRef)
    134 {
    135     return toImpl(preferencesRef)->isITPDatabaseEnabled();
    136 }
    137 
    138128void WKPreferencesSetOfflineWebApplicationCacheEnabled(WKPreferencesRef preferencesRef, bool offlineWebApplicationCacheEnabled)
    139129{
  • trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRef.h

    r267311 r267750  
    8181
    8282// Defaults to true.
    83 WK_EXPORT void WKPreferencesSetIsITPDatabaseEnabled(WKPreferencesRef preferences, bool isITPDatabaseEnabled);
    84 WK_EXPORT bool WKPreferencesGetIsITPDatabaseEnabled(WKPreferencesRef preferences);
    85 
    86 // Defaults to true.
    8783WK_EXPORT void WKPreferencesSetOfflineWebApplicationCacheEnabled(WKPreferencesRef preferences, bool offlineWebApplicationCacheEnabled);
    8884WK_EXPORT bool WKPreferencesGetOfflineWebApplicationCacheEnabled(WKPreferencesRef preferences);
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp

    r267618 r267750  
    375375}
    376376
    377 void WKWebsiteDataStoreSetUseITPDatabase(WKWebsiteDataStoreRef dataStoreRef, bool value, void* context, WKWebsiteDataStoreSetUseITPDatabaseFunction completionHandler)
    378 {
    379 #if ENABLE(RESOURCE_LOAD_STATISTICS)
    380     WebKit::toImpl(dataStoreRef)->setUseITPDatabase(value, [context, completionHandler] {
    381         completionHandler(context);
    382     });
    383 #else
    384     completionHandler(context);
    385 #endif
    386 }
    387 
    388377void WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, WKStringRef topFrameHost)
    389378{
     
    726715    store.resetParametersToDefaultValues([callbackAggregator] { });
    727716    store.scheduleClearInMemoryAndPersistent(WebKit::ShouldGrandfatherStatistics::No, [callbackAggregator] { });
    728     store.setUseITPDatabase(false, [callbackAggregator] { });
    729717#else
    730718    UNUSED_PARAM(dataStoreRef);
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h

    r267618 r267750  
    8989typedef void (*WKWebsiteDataStoreIsStatisticsGrandfatheredFunction)(bool isGrandfathered, void* functionContext);
    9090WK_EXPORT void WKWebsiteDataStoreIsStatisticsGrandfathered(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, void* context, WKWebsiteDataStoreIsStatisticsGrandfatheredFunction callback);
    91 typedef void (*WKWebsiteDataStoreSetUseITPDatabaseFunction)(void* functionContext);
    92 WK_EXPORT void WKWebsiteDataStoreSetUseITPDatabase(WKWebsiteDataStoreRef dataStoreRef, bool value, void* context, WKWebsiteDataStoreSetUseITPDatabaseFunction callback);
    9391WK_EXPORT void WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, WKStringRef topFrameHost);
    9492WK_EXPORT void WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, WKStringRef topFrameHost);
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm

    r267188 r267750  
    919919}
    920920
    921 - (BOOL)_isITPDatabaseEnabled
    922 {
    923     return _preferences->isITPDatabaseEnabled();
    924 }
    925 
    926921- (BOOL)_serviceWorkerEntitlementDisabledForTesting
    927922{
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h

    r267188 r267750  
    161161@property (nonatomic, setter=_setAcceleratedCompositingEnabled:) BOOL _acceleratedCompositingEnabled WK_API_AVAILABLE(macos(10.13.4), ios(WK_IOS_TBA));
    162162@property (nonatomic, setter=_setRequestAnimationFrameEnabled:) BOOL _requestAnimationFrameEnabled WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    163 @property (nonatomic, readonly) BOOL _isITPDatabaseEnabled WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    164163@property (nonatomic, setter=_setServiceWorkerEntitlementDisabledForTesting:) BOOL _serviceWorkerEntitlementDisabledForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    165164@property (nonatomic, setter=_setAccessibilityIsolatedTreeEnabled:) BOOL _accessibilityIsolatedTreeEnabled WK_API_AVAILABLE(macos(10.16));
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm

    r267618 r267750  
    305305}
    306306
    307 - (void)_setUseITPDatabase:(BOOL)enabled completionHandler:(void (^)(void))completionHandler
    308 {
    309 #if ENABLE(RESOURCE_LOAD_STATISTICS)
    310     _websiteDataStore->setUseITPDatabase(enabled, [completionHandler = makeBlockPtr(completionHandler)]() {
    311         completionHandler();
    312     });
    313 #else
    314     completionHandler();
    315 #endif
    316 }
    317 
    318307- (BOOL)_resourceLoadStatisticsDebugMode
    319308{
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h

    r267618 r267750  
    7272- (void)_getIsPrevalentDomain:(NSURL *)domain completionHandler:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macos(10.15), ios(13.0));
    7373- (void)_getResourceLoadStatisticsDataSummary:(void (^)(NSArray<_WKResourceLoadStatisticsThirdParty *> *))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    74 - (void)_setUseITPDatabase:(BOOL)enabled completionHandler:(void (^)(void))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    7574- (void)_clearPrevalentDomain:(NSURL *)domain completionHandler:(void (^)(void))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    7675- (void)_clearResourceLoadStatistics:(void (^)(void))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r267618 r267750  
    522522#endif
    523523
    524     NSNumber *databaseEnabledValue = [defaults objectForKey:[NSString stringWithFormat:@"InternalDebug%@", WebPreferencesKey::isITPDatabaseEnabledKey().createCFString().get()]];
    525     if (databaseEnabledValue)
    526         parameters.shouldEnableITPDatabase = databaseEnabledValue.boolValue;
    527     else
    528         parameters.shouldEnableITPDatabase = m_defaultPageGroup->preferences().isITPDatabaseEnabled();
    529 
    530524    parameters.enableAdClickAttributionDebugMode = [defaults boolForKey:[NSString stringWithFormat:@"Experimental%@", WebPreferencesKey::adClickAttributionDebugModeEnabledKey().createCFString().get()]];
    531525
  • trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp

    r267618 r267750  
    853853}
    854854
    855 void NetworkProcessProxy::setUseITPDatabase(PAL::SessionID sessionID, bool value, CompletionHandler<void()>&& completionHandler)
    856 {
    857     sendWithAsyncReply(Messages::NetworkProcess::SetUseITPDatabase(sessionID, value), [completionHandler = WTFMove(completionHandler)]() mutable {
    858         completionHandler();
    859     });
    860 }
    861 
    862855void NetworkProcessProxy::requestStorageAccessConfirm(WebPageProxyIdentifier pageID, FrameIdentifier frameID, const RegistrableDomain& subFrameDomain, const RegistrableDomain& topFrameDomain, CompletionHandler<void(bool)>&& completionHandler)
    863856{
  • trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h

    r267618 r267750  
    143143    void setCacheMaxAgeCap(PAL::SessionID, Seconds, CompletionHandler<void()>&&);
    144144    void setGrandfathered(PAL::SessionID, const RegistrableDomain&, bool isGrandfathered, CompletionHandler<void()>&&);
    145     void setUseITPDatabase(PAL::SessionID, bool value, CompletionHandler<void()>&&);
    146145    void setNotifyPagesWhenDataRecordsWereScanned(PAL::SessionID, bool, CompletionHandler<void()>&&);
    147146    void setIsRunningResourceLoadStatisticsTest(PAL::SessionID, bool, CompletionHandler<void()>&&);
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp

    r267618 r267750  
    18161816}
    18171817
    1818 void WebsiteDataStore::setUseITPDatabase(bool value, CompletionHandler<void()>&& completionHandler)
    1819 {
    1820     ASSERT(RunLoop::isMain());
    1821    
    1822     auto callbackAggregator = CallbackAggregator::create(WTFMove(completionHandler));
    1823    
    1824     for (auto& processPool : processPools()) {
    1825         if (auto* process = processPool->networkProcess())
    1826             process->setUseITPDatabase(m_sessionID, value, [callbackAggregator] { });
    1827     }
    1828 }
    1829 
    18301818void WebsiteDataStore::setCrossSiteLoadWithLinkDecorationForTesting(const URL& fromURL, const URL& toURL, CompletionHandler<void()>&& completionHandler)
    18311819{
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h

    r267618 r267750  
    174174    void setGrandfathered(const URL&, bool, CompletionHandler<void()>&&);
    175175    void isGrandfathered(const URL&, CompletionHandler<void(bool)>&&);
    176     void setUseITPDatabase(bool, CompletionHandler<void()>&&);
    177176    void setGrandfatheringTime(Seconds, CompletionHandler<void()>&&);
    178177    void setLastSeen(const URL&, Seconds, CompletionHandler<void()>&&);
  • trunk/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp

    r267618 r267750  
    4848    parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
    4949    parameters.languages = userPreferredLanguages();
    50     parameters.shouldEnableITPDatabase = true;
    5150}
    5251
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r267602 r267750  
    12471247                7AFBD36321E50F39005DBACB /* WebResourceLoadStatisticsStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AFBD36221E50F39005DBACB /* WebResourceLoadStatisticsStore.h */; };
    12481248                7AFBD36721E51BAB005DBACB /* ResourceLoadStatisticsMemoryStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AFBD36521E51BAB005DBACB /* ResourceLoadStatisticsMemoryStore.h */; };
    1249                 7AFBD36A21E542F1005DBACB /* ResourceLoadStatisticsPersistentStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AFBD36821E542E8005DBACB /* ResourceLoadStatisticsPersistentStorage.h */; };
    12501249                7AFBD36F21E546F8005DBACB /* PersistencyUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AFBD36D21E546E3005DBACB /* PersistencyUtils.h */; };
    12511250                7C065F2C1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C065F2A1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h */; };
     
    38133812                51E351C9180F2CCC00E53BE9 /* IDBUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBUtilities.h; sourceTree = "<group>"; };
    38143813                51E399051D6F54C5009C8831 /* UIGamepadProviderCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIGamepadProviderCocoa.mm; sourceTree = "<group>"; };
    3815                 51E6C15F1F29355100FD3437 /* ResourceLoadStatisticsPersistentStorageIOS.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = ResourceLoadStatisticsPersistentStorageIOS.mm; path = ios/ResourceLoadStatisticsPersistentStorageIOS.mm; sourceTree = "<group>"; };
    38163814                51E8B68D1E712873001B7132 /* WebURLSchemeTask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebURLSchemeTask.cpp; sourceTree = "<group>"; };
    38173815                51E949961D761CC700EC9EB9 /* UIGamepadProviderIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIGamepadProviderIOS.mm; sourceTree = "<group>"; };
     
    41954193                7AFBD36421E51BAB005DBACB /* ResourceLoadStatisticsMemoryStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResourceLoadStatisticsMemoryStore.cpp; path = Classifier/ResourceLoadStatisticsMemoryStore.cpp; sourceTree = "<group>"; };
    41964194                7AFBD36521E51BAB005DBACB /* ResourceLoadStatisticsMemoryStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResourceLoadStatisticsMemoryStore.h; path = Classifier/ResourceLoadStatisticsMemoryStore.h; sourceTree = "<group>"; };
    4197                 7AFBD36821E542E8005DBACB /* ResourceLoadStatisticsPersistentStorage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ResourceLoadStatisticsPersistentStorage.h; path = Classifier/ResourceLoadStatisticsPersistentStorage.h; sourceTree = "<group>"; };
    4198                 7AFBD36921E542E8005DBACB /* ResourceLoadStatisticsPersistentStorage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ResourceLoadStatisticsPersistentStorage.cpp; path = Classifier/ResourceLoadStatisticsPersistentStorage.cpp; sourceTree = "<group>"; };
    41994195                7AFBD36B21E54544005DBACB /* WebResourceLoadStatisticsTelemetry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebResourceLoadStatisticsTelemetry.h; path = Classifier/WebResourceLoadStatisticsTelemetry.h; sourceTree = "<group>"; };
    42004196                7AFBD36C21E54544005DBACB /* WebResourceLoadStatisticsTelemetry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WebResourceLoadStatisticsTelemetry.cpp; path = Classifier/WebResourceLoadStatisticsTelemetry.cpp; sourceTree = "<group>"; };
     
    63906386                                7A78FF2E224191750096483E /* WKStorageAccessAlert.h */,
    63916387                                7A78FF2F224191760096483E /* WKStorageAccessAlert.mm */,
    6392                                 4147DC682519E29D00214EE7 /* WKUserMediaCaptureAccessAlert.h */,
    6393                                 4147DC672519E29D00214EE7 /* WKUserMediaCaptureAccessAlert.mm */,
    63946388                                2D7AAFD218C8640600A7ACD4 /* WKWebViewContentProvider.h */,
    63956389                                2DC6D9C118C44A610043BAD4 /* WKWebViewContentProviderRegistry.h */,
     
    70147008                                0FCB4E3718BBE044000FCFC9 /* PageClientImplIOS.mm */,
    70157009                                86F9536218FF550B001DB2EF /* ProcessAssertionIOS.mm */,
    7016                                 51E6C15F1F29355100FD3437 /* ResourceLoadStatisticsPersistentStorageIOS.mm */,
    70177010                                2DAF06D418BD1A470081CEB1 /* SmartMagnificationController.h */,
    70187011                                2DAF06D818BD23BA0081CEB1 /* SmartMagnificationController.messages.in */,
     
    83728365                                7AFBD36421E51BAB005DBACB /* ResourceLoadStatisticsMemoryStore.cpp */,
    83738366                                7AFBD36521E51BAB005DBACB /* ResourceLoadStatisticsMemoryStore.h */,
    8374                                 7AFBD36921E542E8005DBACB /* ResourceLoadStatisticsPersistentStorage.cpp */,
    8375                                 7AFBD36821E542E8005DBACB /* ResourceLoadStatisticsPersistentStorage.h */,
    83768367                                7ACE82E8221CAE07000DA94C /* ResourceLoadStatisticsStore.cpp */,
    83778368                                7ACE82E7221CAE06000DA94C /* ResourceLoadStatisticsStore.h */,
     
    1112611117                                6BE969CB1E54D4CF008B7483 /* ResourceLoadStatisticsClassifierCocoa.h in Headers */,
    1112711118                                7AFBD36721E51BAB005DBACB /* ResourceLoadStatisticsMemoryStore.h in Headers */,
    11128                                 7AFBD36A21E542F1005DBACB /* ResourceLoadStatisticsPersistentStorage.h in Headers */,
    1112911119                                1A30066E1110F4F70031937C /* ResponsivenessTimer.h in Headers */,
    1113011120                                410482CE1DDD324F00F006D0 /* RTCNetwork.h in Headers */,
     
    1312913119                                7A78FF332241919B0096483E /* WKStorageAccessAlert.mm in Sources */,
    1313013120                                CE212160240EE571006ED443 /* WKTextPlaceholder.mm in Sources */,
    13131                                 4147DC692519EC3300214EE7 /* WKUserMediaCaptureAccessAlert.mm in Sources */,
    1313213121                                C14D306924B79BE000480387 /* XPCEndpoint.mm in Sources */,
    1313313122                                C14D306A24B79BE400480387 /* XPCEndpointClient.mm in Sources */,
  • trunk/Tools/ChangeLog

    r267743 r267750  
     12020-09-29  Alex Christensen  <achristensen@webkit.org>
     2
     3        Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
     4        https://bugs.webkit.org/show_bug.cgi?id=217063
     5
     6        Reviewed by John Wilander.
     7
     8        These three tests API tests have been removed:
     9
     10        ResourceLoadStatistics.ChildProcessesNotLaunched
     11        ResourceLoadStatistics.GrandfatherCallback
     12        ResourceLoadStatistics.ShouldNotGrandfatherOnStartup
     13
     14        Each of those tests has a corresponding test that ends with "Database" that tests the database backend,
     15        so the only test coverage loss was of the code that was removed.
     16
     17        * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
     18        (ensureITPFileIsCreated):
     19        (TEST):
     20        (isITPDatabaseEnabled): Deleted.
     21        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
     22        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
     23        (WTR::TestRunner::setUseITPDatabase): Deleted.
     24        * WebKitTestRunner/InjectedBundle/TestRunner.h:
     25        * WebKitTestRunner/TestController.cpp:
     26        (WTR::TestController::setUseITPDatabase): Deleted.
     27        * WebKitTestRunner/TestController.h:
     28        * WebKitTestRunner/TestInvocation.cpp:
     29        (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
     30
    1312020-09-29  Jonathan Bedard  <jbedard@apple.com>
    232
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm

    r267618 r267750  
    7070@end
    7171
    72 bool isITPDatabaseEnabled()
    73 {
    74     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    75     auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
    76     auto defaultDatabaseEnabled = [configuration preferences]._isITPDatabaseEnabled;
    77 
    78     NSNumber *databaseEnabledValue = [defaults objectForKey:@"InternalDebugIsITPDatabaseEnabled"];
    79     if (databaseEnabledValue)
    80         return databaseEnabledValue.boolValue;
    81 
    82     return defaultDatabaseEnabled;
    83 }
    84 
    8572static void ensureITPFileIsCreated()
    8673{
    87     static bool doneFlag;
    8874    auto *dataStore = [WKWebsiteDataStore defaultDataStore];
    8975    auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600)]);
    9076    [dataStore _setResourceLoadStatisticsEnabled:YES];
    9177    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    92     [dataStore _setUseITPDatabase:true completionHandler: ^(void) {
    93         doneFlag = true;
    94     }];
    95     TestWebKitAPI::Util::run(&doneFlag);
    9678    [dataStore _setResourceLoadStatisticsEnabled:NO];
    9779}
    9880
    99 TEST(ResourceLoadStatistics, GrandfatherCallback)
     81TEST(ResourceLoadStatistics, GrandfatherCallbackDatabase)
    10082{
    10183    auto *dataStore = [WKWebsiteDataStore defaultDataStore];
    10284
    10385    NSURL *statisticsDirectoryURL = [NSURL fileURLWithPath:[@"~/Library/WebKit/com.apple.WebKit.TestWebKitAPI/WebsiteData/ResourceLoadStatistics" stringByExpandingTildeInPath] isDirectory:YES];
    104     NSURL *fileURL = [statisticsDirectoryURL URLByAppendingPathComponent:@"full_browsing_session_resourceLog.plist"];
     86    NSURL *fileURL = [statisticsDirectoryURL URLByAppendingPathComponent:@"observations.db"];
    10587    [[NSFileManager defaultManager] removeItemAtURL:fileURL error:nil];
    10688    [[NSFileManager defaultManager] removeItemAtURL:statisticsDirectoryURL error:nil];
    10789    EXPECT_FALSE([[NSFileManager defaultManager] fileExistsAtPath:statisticsDirectoryURL.path]);
    10890
     91    static bool grandfatheredFlag;
    10992    static bool doneFlag;
    110     static bool grandfatheredFlag;
    11193
    11294    [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    113         // Only if the database store is not default-enabled do we need to check that this first message is correct.
    114         if (!isITPDatabaseEnabled())
    115             ASSERT_TRUE([message isEqualToString:@"Grandfathered"]);
     95        ASSERT_TRUE([message isEqualToString:@"Grandfathered"]);
    11696        grandfatheredFlag = true;
    11797    }];
    11898
    119     // We need an active NetworkProcess to perform ResourceLoadStatistics operations.
    12099    auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600)]);
    121100    [dataStore _setResourceLoadStatisticsEnabled:YES];
    122101    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    123 
    124     if (isITPDatabaseEnabled()) {
    125         TestWebKitAPI::Util::run(&grandfatheredFlag);
    126 
    127         // Since the database store is enabled, we need to disable it to test this functionality with the plist.
    128         // We already have a NetworkProcess up and running with ITP enabled. We now make another call initializing
    129         // the memory store and testing grandfathering.
    130         grandfatheredFlag = false;
    131         [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    132             ASSERT_TRUE([message isEqualToString:@"Grandfathered"]);
    133             grandfatheredFlag = true;
    134         }];
    135 
    136         [dataStore _setUseITPDatabase:false completionHandler: ^(void) {
    137             doneFlag = true;
    138         }];
    139 
    140         TestWebKitAPI::Util::run(&doneFlag);
    141     }
    142102
    143103    TestWebKitAPI::Util::run(&grandfatheredFlag);
     
    161121
    162122    // The website data store remove should have completed, but since we removed all of the data types that are monitored by resource load statistics,
    163     // no grandfathering call should have been made.
     123    // no grandfathering call should have been made. Note that the database file will not be deleted like in the persistent storage case, only cleared.
    164124    EXPECT_FALSE(grandfatheredFlag);
    165     EXPECT_FALSE([[NSFileManager defaultManager] fileExistsAtPath:fileURL.path]);
    166125
    167126    doneFlag = false;
     
    174133    TestWebKitAPI::Util::run(&grandfatheredFlag);
    175134    TestWebKitAPI::Util::run(&doneFlag);
    176 
    177     // Spin the runloop until the resource load statistics file has written to disk.
    178     // If the test enters a spin loop here, it has failed.
    179     while (true) {
    180         if ([[NSFileManager defaultManager] fileExistsAtPath:fileURL.path])
    181             break;
    182         TestWebKitAPI::Util::spinRunLoop(1);
    183     }
    184 }
    185 
    186 TEST(ResourceLoadStatistics, GrandfatherCallbackDatabase)
     135}
     136
     137TEST(ResourceLoadStatistics, ShouldNotGrandfatherOnStartupDatabase)
    187138{
    188139    auto *dataStore = [WKWebsiteDataStore defaultDataStore];
    189140
    190     NSURL *statisticsDirectoryURL = [NSURL fileURLWithPath:[@"~/Library/WebKit/com.apple.WebKit.TestWebKitAPI/WebsiteData/ResourceLoadStatistics" stringByExpandingTildeInPath] isDirectory:YES];
    191     NSURL *fileURL = [statisticsDirectoryURL URLByAppendingPathComponent:@"observations.db"];
    192     [[NSFileManager defaultManager] removeItemAtURL:fileURL error:nil];
    193     [[NSFileManager defaultManager] removeItemAtURL:statisticsDirectoryURL error:nil];
    194     EXPECT_FALSE([[NSFileManager defaultManager] fileExistsAtPath:statisticsDirectoryURL.path]);
    195 
    196     static bool grandfatheredFlag;
    197     static bool doneFlag;
     141    ensureITPFileIsCreated();
     142
     143    __block bool callbackFlag = false;
    198144
    199145    [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    200         // Only if the database store is default-enabled do we need to check that this first message is correct.
    201         if (isITPDatabaseEnabled())
    202             ASSERT_TRUE([message isEqualToString:@"Grandfathered"]);
    203         grandfatheredFlag = true;
    204     }];
    205 
    206     auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600)]);
    207     [dataStore _setResourceLoadStatisticsEnabled:YES];
    208     [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    209 
    210     if (!isITPDatabaseEnabled()) {
    211         TestWebKitAPI::Util::run(&grandfatheredFlag);
    212 
    213         // Since the database store is not enabled, we need to update the store to use a database instead of a plist for this test.
    214         // We already have a NetworkProcess up and running with ITP enabled. We now make another call initializing
    215         // the database store and testing grandfathering.
    216         grandfatheredFlag = false;
    217         [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    218             ASSERT_TRUE([message isEqualToString:@"Grandfathered"]);
    219             grandfatheredFlag = true;
    220         }];
    221 
    222         [dataStore _setUseITPDatabase:true completionHandler: ^(void) {
    223             doneFlag = true;
    224         }];
    225 
    226         TestWebKitAPI::Util::run(&doneFlag);
    227     }
    228 
    229     TestWebKitAPI::Util::run(&grandfatheredFlag);
    230 
    231     // Spin the runloop until the resource load statistics file has written to disk.
    232     // If the test enters a spin loop here, it has failed.
    233     while (true) {
    234         if ([[NSFileManager defaultManager] fileExistsAtPath:fileURL.path])
    235             break;
    236         TestWebKitAPI::Util::spinRunLoop(1);
    237     }
    238 
    239     grandfatheredFlag = false;
    240     doneFlag = false;
    241     [dataStore removeDataOfTypes:[WKWebsiteDataStore _allWebsiteDataTypesIncludingPrivate]  modifiedSince:[NSDate distantPast] completionHandler:^ {
    242         doneFlag = true;
    243     }];
    244 
    245     TestWebKitAPI::Util::run(&doneFlag);
    246     TestWebKitAPI::Util::spinRunLoop(10);
    247 
    248     // The website data store remove should have completed, but since we removed all of the data types that are monitored by resource load statistics,
    249     // no grandfathering call should have been made. Note that the database file will not be deleted like in the persistent storage case, only cleared.
    250     EXPECT_FALSE(grandfatheredFlag);
    251 
    252     doneFlag = false;
    253     [dataStore removeDataOfTypes:[NSSet setWithObjects:WKWebsiteDataTypeCookies, _WKWebsiteDataTypeResourceLoadStatistics, nil] modifiedSince:[NSDate distantPast] completionHandler:^ {
    254         doneFlag = true;
    255     }];
    256 
    257     // Since we did not remove every data type covered by resource load statistics, we do expect that grandfathering took place again.
    258     // If the test hangs waiting on either of these conditions, it has failed.
    259     TestWebKitAPI::Util::run(&grandfatheredFlag);
    260     TestWebKitAPI::Util::run(&doneFlag);
    261 }
    262 
    263 TEST(ResourceLoadStatistics, ShouldNotGrandfatherOnStartup)
    264 {
    265     auto *dataStore = [WKWebsiteDataStore defaultDataStore];
    266 
    267     NSURL *statisticsDirectoryURL = [NSURL fileURLWithPath:[@"~/Library/WebKit/com.apple.WebKit.TestWebKitAPI/WebsiteData/ResourceLoadStatistics" stringByExpandingTildeInPath] isDirectory:YES];
    268     NSURL *targetURL = [statisticsDirectoryURL URLByAppendingPathComponent:@"full_browsing_session_resourceLog.plist"];
    269     NSURL *testResourceURL = [[NSBundle mainBundle] URLForResource:@"EmptyGrandfatheredResourceLoadStatistics" withExtension:@"plist" subdirectory:@"TestWebKitAPI.resources"];
    270 
    271     [[NSFileManager defaultManager] createDirectoryAtURL:statisticsDirectoryURL withIntermediateDirectories:YES attributes:nil error:nil];
    272     [[NSFileManager defaultManager] copyItemAtURL:testResourceURL toURL:targetURL error:nil];
    273 
    274     EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:targetURL.path]);
    275 
    276     static bool callbackFlag;
    277     static bool doneFlag;
    278 
    279     [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    280         // Only if the database store is not default-enabled do we need to check that this first message is correct.
    281         if (!isITPDatabaseEnabled())
    282             ASSERT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
     146        ASSERT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    283147        callbackFlag = true;
    284148    }];
     
    289153    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    290154
    291     if (isITPDatabaseEnabled()) {
    292         TestWebKitAPI::Util::run(&callbackFlag);
    293 
    294         // Since the database store is enabled, we need to disable it to test this functionality with the plist.
    295         // We already have a NetworkProcess up and running with ITP enabled. We now make another call initializing
    296         // the memory store and testing grandfathering.
    297         callbackFlag = false;
    298         [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    299             ASSERT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    300             callbackFlag = true;
    301         }];
    302 
    303         // Since the ITP Database is enabled, the plist file has been deleted. We need to create it again.
    304         [[NSFileManager defaultManager] createDirectoryAtURL:statisticsDirectoryURL withIntermediateDirectories:YES attributes:nil error:nil];
    305         [[NSFileManager defaultManager] copyItemAtURL:testResourceURL toURL:targetURL error:nil];
    306         EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:targetURL.path]);
    307 
    308         [dataStore _setUseITPDatabase:false completionHandler: ^(void) {
    309             doneFlag = true;
    310         }];
    311 
    312         TestWebKitAPI::Util::run(&doneFlag);
    313     }
    314 
    315155    TestWebKitAPI::Util::run(&callbackFlag);
    316156}
    317157
    318 TEST(ResourceLoadStatistics, ShouldNotGrandfatherOnStartupDatabase)
    319 {
     158TEST(ResourceLoadStatistics, ChildProcessesNotLaunchedDatabase)
     159{
     160    // Ensure the shared process pool exists so the data store operations we're about to do work with it.
     161    WKProcessPool *sharedProcessPool = [WKProcessPool _sharedProcessPool];
     162
     163    EXPECT_EQ((size_t)0, [sharedProcessPool _pluginProcessCount]);
     164
    320165    auto *dataStore = [WKWebsiteDataStore defaultDataStore];
    321166
     167    NSURL *statisticsDirectoryURL = [NSURL fileURLWithPath:[@"~/Library/WebKit/com.apple.WebKit.TestWebKitAPI/WebsiteData/ResourceLoadStatistics" stringByExpandingTildeInPath] isDirectory:YES];
     168    NSURL *targetURL = [statisticsDirectoryURL URLByAppendingPathComponent:@"observations.db"];
     169
    322170    ensureITPFileIsCreated();
    323171
    324     static bool callbackFlag;
    325     static bool doneFlag;
     172    __block bool callbackFlag = false;
    326173
    327174    [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    328175        // Only if the database store is default-enabled do we need to check that this first message is correct.
    329         if (isITPDatabaseEnabled())
    330             ASSERT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
     176        EXPECT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    331177        callbackFlag = true;
    332178    }];
     
    336182    [dataStore _setResourceLoadStatisticsEnabled:YES];
    337183    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    338 
    339     if (!isITPDatabaseEnabled()) {
    340         TestWebKitAPI::Util::run(&callbackFlag);
    341 
    342         // Since the database store is not enabled, we need to update the store to use a database instead of a plist for this test.
    343         // We already have a NetworkProcess up and running with ITP enabled. We now make another call initializing
    344         // the database store and testing grandfathering.
    345         callbackFlag = false;
    346         [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    347             ASSERT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    348             callbackFlag = true;
    349         }];
    350 
    351         ensureITPFileIsCreated();
    352 
    353         [dataStore _setUseITPDatabase:true completionHandler: ^(void) {
    354             doneFlag = true;
    355         }];
    356 
    357         TestWebKitAPI::Util::run(&doneFlag);
    358     }
    359 
    360     TestWebKitAPI::Util::run(&callbackFlag);
    361 }
    362 
    363 TEST(ResourceLoadStatistics, ChildProcessesNotLaunched)
    364 {
    365     // Ensure the shared process pool exists so the data store operations we're about to do work with it.
    366     WKProcessPool *sharedProcessPool = [WKProcessPool _sharedProcessPool];
    367 
    368     EXPECT_EQ((size_t)0, [sharedProcessPool _pluginProcessCount]);
    369 
    370     auto *dataStore = [WKWebsiteDataStore defaultDataStore];
    371 
    372     NSURL *statisticsDirectoryURL = [NSURL fileURLWithPath:[@"~/Library/WebKit/com.apple.WebKit.TestWebKitAPI/WebsiteData/ResourceLoadStatistics" stringByExpandingTildeInPath] isDirectory:YES];
    373     NSURL *targetURL = [statisticsDirectoryURL URLByAppendingPathComponent:@"full_browsing_session_resourceLog.plist"];
    374     NSURL *testResourceURL = [[NSBundle mainBundle] URLForResource:@"EmptyGrandfatheredResourceLoadStatistics" withExtension:@"plist" subdirectory:@"TestWebKitAPI.resources"];
    375 
    376     [[NSFileManager defaultManager] createDirectoryAtURL:statisticsDirectoryURL withIntermediateDirectories:YES attributes:nil error:nil];
    377     [[NSFileManager defaultManager] copyItemAtURL:testResourceURL toURL:targetURL error:nil];
    378    
    379     EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:targetURL.path]);
    380 
    381     static bool callbackFlag;
    382     static bool doneFlag;
    383     [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    384         // Only if the database store is not default-enabled do we need to check that this first message is correct.
    385         if (!isITPDatabaseEnabled())
    386             EXPECT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    387         callbackFlag = true;
    388     }];
    389 
    390     // We need an active NetworkProcess to perform ResourceLoadStatistics operations.
    391     auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600)]);
    392     [dataStore _setResourceLoadStatisticsEnabled:YES];
    393     [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    394 
    395     if (isITPDatabaseEnabled()) {
    396         TestWebKitAPI::Util::run(&callbackFlag);
    397 
    398         // Since the database store is enabled, we need to disable it to test this functionality with the plist.
    399         // We already have a NetworkProcess up and running with ITP enabled. We now make another call initializing
    400         // the memory store and testing grandfathering.
    401         callbackFlag = false;
    402         [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    403             ASSERT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    404             callbackFlag = true;
    405         }];
    406 
    407         // Since the ITP Database is enabled, the plist file has been deleted. We need to create it again.
    408         [[NSFileManager defaultManager] createDirectoryAtURL:statisticsDirectoryURL withIntermediateDirectories:YES attributes:nil error:nil];
    409         [[NSFileManager defaultManager] copyItemAtURL:testResourceURL toURL:targetURL error:nil];
    410         EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:targetURL.path]);
    411 
    412         [dataStore _setUseITPDatabase:false completionHandler: ^(void) {
    413             doneFlag = true;
    414         }];
    415 
    416         TestWebKitAPI::Util::run(&doneFlag);
    417     }
    418 
    419     TestWebKitAPI::Util::run(&callbackFlag);
    420 
    421     EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:targetURL.path]);
    422 
    423     webView.clear();
    424 
    425     EXPECT_EQ((size_t)0, [sharedProcessPool _pluginProcessCount]);
    426 }
    427 
    428 TEST(ResourceLoadStatistics, ChildProcessesNotLaunchedDatabase)
    429 {
    430     // Ensure the shared process pool exists so the data store operations we're about to do work with it.
    431     WKProcessPool *sharedProcessPool = [WKProcessPool _sharedProcessPool];
    432 
    433     EXPECT_EQ((size_t)0, [sharedProcessPool _pluginProcessCount]);
    434 
    435     auto *dataStore = [WKWebsiteDataStore defaultDataStore];
    436 
    437     NSURL *statisticsDirectoryURL = [NSURL fileURLWithPath:[@"~/Library/WebKit/com.apple.WebKit.TestWebKitAPI/WebsiteData/ResourceLoadStatistics" stringByExpandingTildeInPath] isDirectory:YES];
    438     NSURL *targetURL = [statisticsDirectoryURL URLByAppendingPathComponent:@"observations.db"];
    439 
    440     ensureITPFileIsCreated();
    441 
    442     static bool callbackFlag;
    443     static bool doneFlag;
    444 
    445     [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    446         // Only if the database store is default-enabled do we need to check that this first message is correct.
    447         if (isITPDatabaseEnabled())
    448             EXPECT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    449         callbackFlag = true;
    450     }];
    451 
    452     // We need an active NetworkProcess to perform ResourceLoadStatistics operations.
    453     auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600)]);
    454     [dataStore _setResourceLoadStatisticsEnabled:YES];
    455     [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    456 
    457     if (!isITPDatabaseEnabled()) {
    458         TestWebKitAPI::Util::run(&callbackFlag);
    459 
    460         // Since the database store is not enabled, we need to update the store to use a database instead of a plist for this test.
    461         // We already have a NetworkProcess up and running with ITP enabled. We now make another call initializing
    462         // the database store and testing grandfathering.
    463         callbackFlag = false;
    464         [dataStore _setResourceLoadStatisticsTestingCallback:^(WKWebsiteDataStore *, NSString *message) {
    465             ASSERT_TRUE([message isEqualToString:@"PopulatedWithoutGrandfathering"]);
    466             callbackFlag = true;
    467         }];
    468 
    469         ensureITPFileIsCreated();
    470 
    471         [dataStore _setUseITPDatabase:true completionHandler: ^(void) {
    472             doneFlag = true;
    473         }];
    474 
    475         TestWebKitAPI::Util::run(&doneFlag);
    476     }
    477184
    478185    TestWebKitAPI::Util::run(&callbackFlag);
     
    970677    [dataStore _setResourceLoadStatisticsEnabled:YES];
    971678
    972     static bool doneFlag = false;
    973     [dataStore _setUseITPDatabase:false completionHandler: ^(void) {
    974         doneFlag = true;
    975     }];
    976 
    977     TestWebKitAPI::Util::run(&doneFlag);
    978 
    979     doneFlag = false;
     679    __block bool doneFlag = false;
    980680    [dataStore _clearResourceLoadStatistics:^(void) {
    981681        doneFlag = true;
     
    1180880    [dataStore _setResourceLoadStatisticsEnabled:YES];
    1181881
    1182     static bool doneFlag = false;
    1183     [dataStore _setUseITPDatabase:true completionHandler: ^(void) {
    1184         doneFlag = true;
    1185     }];
    1186 
    1187     TestWebKitAPI::Util::run(&doneFlag);
    1188    
    1189     doneFlag = false;
     882    __block bool doneFlag = false;
    1190883    [dataStore _setThirdPartyCookieBlockingMode:true onlyOnSitesWithoutUserInteraction:false completionHandler: ^(void) {
    1191884        doneFlag = true;
     
    14411134    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    14421135
    1443     static bool doneFlag;
    1444     [dataStore _setUseITPDatabase:true completionHandler: ^(void) {
    1445         doneFlag = true;
    1446     }];
    1447    
    1448     TestWebKitAPI::Util::run(&doneFlag);
    1449    
     1136    __block bool doneFlag = false;
    14501137    // Check that the pre-seeded data is in the new database after migrating.
    1451     doneFlag = false;
    14521138    [dataStore _isRegisteredAsSubresourceUnderFirstParty:[NSURL URLWithString:@"http://apple.com"] thirdParty:[NSURL URLWithString:@"http://webkit.org"] completionHandler: ^(BOOL isRegistered) {
    14531139        EXPECT_TRUE(isRegistered);
     
    15301216    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    15311217
    1532     static bool doneFlag;
    1533     [dataStore _setUseITPDatabase:true completionHandler: ^(void) {
    1534         doneFlag = true;
    1535     }];
    1536 
    1537     TestWebKitAPI::Util::run(&doneFlag);
    1538 
     1218    __block bool doneFlag = false;
    15391219    // Since the database should not be deleted, the pre-seeded data should
    15401220    // still be there after initializing ITP.
    1541     doneFlag = false;
    15421221    [dataStore _isRegisteredAsSubresourceUnderFirstParty:[NSURL URLWithString:@"http://apple.com"] thirdParty:[NSURL URLWithString:@"http://webkit.org"] completionHandler: ^(BOOL isRegistered) {
    15431222        EXPECT_TRUE(isRegistered);
     
    16041283    [dataStore2 _setResourceLoadStatisticsEnabled:YES];
    16051284
    1606     static bool doneFlag = false;
    1607     [dataStore1 _setUseITPDatabase:true completionHandler: ^(void) {
    1608         doneFlag = true;
    1609     }];
    1610     TestWebKitAPI::Util::run(&doneFlag);
    1611 
    1612     doneFlag = false;
    1613     [dataStore2 _setUseITPDatabase:true completionHandler: ^(void) {
    1614         doneFlag = true;
    1615     }];
    1616     TestWebKitAPI::Util::run(&doneFlag);
    1617 
    16181285    auto configuration1 = adoptNS([[WKWebViewConfiguration alloc] init]);
    16191286    [configuration1 setProcessPool: sharedProcessPool];
     
    16331300    [webView2 _test_waitForDidFinishNavigation];
    16341301
    1635     doneFlag = false;
     1302    __block bool doneFlag = false;
    16361303    [sharedProcessPool _sendNetworkProcessPrepareToSuspend:^{
    16371304        doneFlag = true;
  • trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl

    r266311 r267750  
    318318    undefined setStatisticsGrandfathered(DOMString hostName, boolean value);
    319319    boolean isStatisticsGrandfathered(DOMString hostName);
    320     undefined setUseITPDatabase(boolean value);
    321320    undefined setStatisticsSubframeUnderTopFrameOrigin(DOMString hostName, DOMString topFrameHostName);
    322321    undefined setStatisticsSubresourceUnderTopFrameOrigin(DOMString hostName, DOMString topFrameHostName);
  • trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp

    r266228 r267750  
    19191919}
    19201920
    1921 void TestRunner::setUseITPDatabase(bool value)
    1922 {
    1923     WKRetainPtr<WKStringRef> messageName = adoptWK(WKStringCreateWithUTF8CString("SetUseITPDatabase"));
    1924     WKRetainPtr<WKBooleanRef> messageBody = adoptWK(WKBooleanCreate(value));
    1925    
    1926     WKBundlePostSynchronousMessage(InjectedBundle::singleton().bundle(), messageName.get(), messageBody.get(), nullptr);
    1927 }
    1928 
    19291921bool TestRunner::isStatisticsGrandfathered(JSStringRef hostName)
    19301922{
  • trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h

    r266228 r267750  
    423423    void setStatisticsGrandfathered(JSStringRef hostName, bool value);
    424424    bool isStatisticsGrandfathered(JSStringRef hostName);
    425     void setUseITPDatabase(bool value);
    426425    void setStatisticsSubframeUnderTopFrameOrigin(JSStringRef hostName, JSStringRef topFrameHostName);
    427426    void setStatisticsSubresourceUnderTopFrameOrigin(JSStringRef hostName, JSStringRef topFrameHostName);
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r267618 r267750  
    36583658}
    36593659
    3660 void TestController::setUseITPDatabase(bool value)
    3661 {
    3662     ResourceStatisticsCallbackContext context(*this);
    3663     WKWebsiteDataStoreSetUseITPDatabase(websiteDataStore(), value, &context, resourceStatisticsVoidResultCallback);
    3664     runUntil(context.done, noTimeout);
    3665 }
    3666 
    36673660void TestController::setStatisticsSubframeUnderTopFrameOrigin(WKStringRef host, WKStringRef topFrameHost)
    36683661{
  • trunk/Tools/WebKitTestRunner/TestController.h

    r266743 r267750  
    237237    void setStatisticsGrandfathered(WKStringRef hostName, bool value);
    238238    bool isStatisticsGrandfathered(WKStringRef hostName);
    239     void setUseITPDatabase(bool value);
    240239    void setStatisticsSubframeUnderTopFrameOrigin(WKStringRef hostName, WKStringRef topFrameHostName);
    241240    void setStatisticsSubresourceUnderTopFrameOrigin(WKStringRef hostName, WKStringRef topFrameHostName);
  • trunk/Tools/WebKitTestRunner/TestInvocation.cpp

    r267030 r267750  
    14761476        return result;
    14771477    }
    1478 
    1479     if (WKStringIsEqualToUTF8CString(messageName, "SetUseITPDatabase")) {
    1480         ASSERT(WKGetTypeID(messageBody) == WKBooleanGetTypeID());
    1481 
    1482         WKBooleanRef value = static_cast<WKBooleanRef>(messageBody);
    1483         TestController::singleton().setUseITPDatabase(WKBooleanGetValue(value));
    1484         return nullptr;
    1485     }
    14861478   
    14871479    if (WKStringIsEqualToUTF8CString(messageName, "SetStatisticsSubframeUnderTopFrameOrigin")) {
Note: See TracChangeset for help on using the changeset viewer.