Diff
Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog 2018-02-19 13:59:32 UTC (rev 228675)
@@ -1,3 +1,53 @@
+2018-02-08 Michael Catanzaro <mcatanz...@igalia.com>
+
+ TestController should not exercise cocoa-specific resource load statistics APIs
+ https://bugs.webkit.org/show_bug.cgi?id=182355
+
+ Reviewed by Alex Christensen.
+
+ Remove the Cocoa testing SPI, since it's redundant with the C API. Also, add a couple
+ missing cookie partitioning callbacks to the C API.
+
+ * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
+ (WKWebsiteDataStoreStatisticsUpdateCookiePartitioning):
+ (WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost):
+ * UIProcess/API/C/WKWebsiteDataStoreRef.h:
+ * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetLastSeen:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetIsPrevalentResource:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsIsPrevalentResource:completionHandler:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsIsRegisteredAsSubFrameUnder:topFrameHost:completionHandler:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsIsRegisteredAsRedirectingTo:hostRedirectedTo:completionHandler:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetHadUserInteraction:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetHasHadNonRecentUserInteractionForHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsHadUserInteraction:completionHandler:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetIsGrandfathered:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsIsGrandfathered:completionHandler:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetSubframeUnderTopFrameOrigin:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetSubresourceUnderTopFrameOrigin:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetSubresourceUniqueRedirectTo:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetTimeToLiveUserInteraction:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetTimeToLiveCookiePartitionFree:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetMinimumTimeBetweenDataRecordsRemoval:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetGrandfatheringTime:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetMaxStatisticsEntries:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetPruneEntriesDownTo:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsProcessStatisticsAndDataRecords]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:completionHandler:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSubmitTelemetry]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetNotifyPagesWhenDataRecordsWereScanned:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldClassifyResourcesBeforeDataRecordsRemoval:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsSetNotifyPagesWhenTelemetryWasCaptured:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:completionHandler:]): Deleted.
+ (-[WKWebsiteDataStore _resourceLoadStatisticsResetToConsistentState]): Deleted.
+ * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
+
2018-02-08 Don Olmstead <don.olmst...@sony.com>
Remove _javascript_Core/ForwardingHeaders directory
Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp 2018-02-19 13:59:32 UTC (rev 228675)
@@ -238,16 +238,18 @@
store->scheduleStatisticsAndDataRecordsProcessing();
}
-void WKWebsiteDataStoreStatisticsUpdateCookiePartitioning(WKWebsiteDataStoreRef dataStoreRef)
+void WKWebsiteDataStoreStatisticsUpdateCookiePartitioning(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreStatisticsUpdateCookiePartitioningFunction callback)
{
auto* store = WebKit::toImpl(dataStoreRef)->websiteDataStore().resourceLoadStatistics();
if (!store)
return;
- store->scheduleCookiePartitioningUpdate([]() { });
+ store->scheduleCookiePartitioningUpdate([context, callback]() {
+ callback(context);
+ });
}
-void WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, bool value)
+void WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, bool value, void* context, WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHostFunction callback)
{
auto* store = WebKit::toImpl(dataStoreRef)->websiteDataStore().resourceLoadStatistics();
if (!store)
@@ -254,9 +256,13 @@
return;
if (value)
- store->scheduleCookiePartitioningUpdateForDomains({ WebKit::toImpl(host)->string() }, { }, { }, WebKit::ShouldClearFirst::No, []() { });
+ store->scheduleCookiePartitioningUpdateForDomains({ WebKit::toImpl(host)->string() }, { }, { }, WebKit::ShouldClearFirst::No, [context, callback]() {
+ callback(context);
+ });
else
- store->scheduleClearPartitioningStateForDomains({ WebKit::toImpl(host)->string() }, []() { });
+ store->scheduleClearPartitioningStateForDomains({ WebKit::toImpl(host)->string() }, [context, callback]() {
+ callback(context);
+ });
}
void WKWebsiteDataStoreStatisticsSubmitTelemetry(WKWebsiteDataStoreRef dataStoreRef)
Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h 2018-02-19 13:59:32 UTC (rev 228675)
@@ -61,8 +61,10 @@
WK_EXPORT void WKWebsiteDataStoreSetStatisticsTimeToLiveUserInteraction(WKWebsiteDataStoreRef dataStoreRef, double seconds);
WK_EXPORT void WKWebsiteDataStoreSetStatisticsTimeToLiveCookiePartitionFree(WKWebsiteDataStoreRef dataStoreRef, double seconds);
WK_EXPORT void WKWebsiteDataStoreStatisticsProcessStatisticsAndDataRecords(WKWebsiteDataStoreRef dataStoreRef);
-WK_EXPORT void WKWebsiteDataStoreStatisticsUpdateCookiePartitioning(WKWebsiteDataStoreRef dataStoreRef);
-WK_EXPORT void WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, bool value);
+typedef void (*WKWebsiteDataStoreStatisticsUpdateCookiePartitioningFunction)(void* functionContext);
+WK_EXPORT void WKWebsiteDataStoreStatisticsUpdateCookiePartitioning(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreStatisticsUpdateCookiePartitioningFunction callback);
+typedef void (*WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHostFunction)(void* functionContext);
+WK_EXPORT void WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, bool value, void* context, WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHostFunction callback);
WK_EXPORT void WKWebsiteDataStoreStatisticsSubmitTelemetry(WKWebsiteDataStoreRef dataStoreRef);
WK_EXPORT void WKWebsiteDataStoreSetStatisticsNotifyPagesWhenDataRecordsWereScanned(WKWebsiteDataStoreRef dataStoreRef, bool value);
WK_EXPORT void WKWebsiteDataStoreSetStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval(WKWebsiteDataStoreRef dataStoreRef, bool value);
Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm 2018-02-19 13:59:32 UTC (rev 228675)
@@ -295,290 +295,6 @@
return _websiteDataStore->websiteDataStore().allowsCellularAccess() == WebKit::AllowsCellularAccess::Yes;
}
-- (void)_resourceLoadStatisticsSetLastSeen:(double)seconds forHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setLastSeen(URL(URL(), host), Seconds { seconds });
-}
-
-- (void)_resourceLoadStatisticsSetIsPrevalentResource:(BOOL)value forHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- if (value)
- store->setPrevalentResource(URL(URL(), host));
- else
- store->clearPrevalentResource(URL(URL(), host));
-}
-
-- (void)_resourceLoadStatisticsIsPrevalentResource:(NSString *)host completionHandler:(void (^)(BOOL))completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler(NO);
- return;
- }
-
- auto completionHandlerCopy = makeBlockPtr(completionHandler);
- store->isPrevalentResource(URL(URL(), host), [completionHandlerCopy](bool isPrevalentResource) {
- completionHandlerCopy(isPrevalentResource);
- });
-}
-
-- (void)_resourceLoadStatisticsIsRegisteredAsSubFrameUnder:(NSString *)subFrameHost topFrameHost:(NSString *)topFrameHost completionHandler:(void (^)(BOOL))completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler(NO);
- return;
- }
-
- auto completionHandlerCopy = makeBlockPtr(completionHandler);
- store->isRegisteredAsSubFrameUnder(URL(URL(), subFrameHost), URL(URL(), topFrameHost), [completionHandlerCopy](bool isRegisteredAsSubFrameUnder) {
- completionHandlerCopy(isRegisteredAsSubFrameUnder);
- });
-}
-
-- (void)_resourceLoadStatisticsIsRegisteredAsRedirectingTo:(NSString *)hostRedirectedFrom hostRedirectedTo:(NSString *)hostRedirectedTo completionHandler:(void (^)(BOOL))completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler(NO);
- return;
- }
-
- auto completionHandlerCopy = makeBlockPtr(completionHandler);
- store->isRegisteredAsRedirectingTo(URL(URL(), hostRedirectedFrom), URL(URL(), hostRedirectedTo), [completionHandlerCopy](bool isRegisteredAsRedirectingTo) {
- completionHandlerCopy(isRegisteredAsRedirectingTo);
- });
-}
-
-- (void)_resourceLoadStatisticsSetHadUserInteraction:(BOOL)value forHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- if (value)
- store->logUserInteraction(URL(URL(), host));
- else
- store->clearUserInteraction(URL(URL(), host));
-}
-
-- (void)_resourceLoadStatisticsSetHasHadNonRecentUserInteractionForHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->logNonRecentUserInteraction(URL(URL(), host));
-}
-
-- (void)_resourceLoadStatisticsHadUserInteraction:(NSString *)host completionHandler:(void (^)(BOOL))completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler(NO);
- return;
- }
-
- auto completionHandlerCopy = makeBlockPtr(completionHandler);
- store->hasHadUserInteraction(URL(URL(), host), [completionHandlerCopy](bool hasHadUserInteraction) {
- completionHandlerCopy(hasHadUserInteraction);
- });
-}
-
-- (void)_resourceLoadStatisticsSetIsGrandfathered:(BOOL)value forHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setGrandfathered(URL(URL(), host), value);
-}
-
-- (void)_resourceLoadStatisticsIsGrandfathered:(NSString *)host completionHandler:(void (^)(BOOL))completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler(NO);
- return;
- }
-
- auto completionHandlerCopy = makeBlockPtr(completionHandler);
- store->isGrandfathered(URL(URL(), host), [completionHandlerCopy](bool isGrandfathered) {
- completionHandlerCopy(isGrandfathered);
- });
-}
-
-- (void)_resourceLoadStatisticsSetSubframeUnderTopFrameOrigin:(NSString *)topFrameHostName forHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setSubframeUnderTopFrameOrigin(URL(URL(), host), URL(URL(), topFrameHostName));
-}
-
-- (void)_resourceLoadStatisticsSetSubresourceUnderTopFrameOrigin:(NSString *)topFrameHostName forHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setSubresourceUnderTopFrameOrigin(URL(URL(), host), URL(URL(), topFrameHostName));
-}
-
-- (void)_resourceLoadStatisticsSetSubresourceUniqueRedirectTo:(NSString *)hostNameRedirectedTo forHost:(NSString *)host
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setSubresourceUniqueRedirectTo(URL(URL(), host), URL(URL(), hostNameRedirectedTo));
-}
-
-- (void)_resourceLoadStatisticsSetTimeToLiveUserInteraction:(double)seconds
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setTimeToLiveUserInteraction(Seconds { seconds });
-}
-
-- (void)_resourceLoadStatisticsSetTimeToLiveCookiePartitionFree:(double)seconds
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setTimeToLiveCookiePartitionFree(Seconds { seconds });
-}
-
-- (void)_resourceLoadStatisticsSetMinimumTimeBetweenDataRecordsRemoval:(double)seconds
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setMinimumTimeBetweenDataRecordsRemoval(Seconds { seconds });
-}
-
-- (void)_resourceLoadStatisticsSetGrandfatheringTime:(double)seconds
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setGrandfatheringTime(Seconds {seconds });
-}
-
-- (void)_resourceLoadStatisticsSetMaxStatisticsEntries:(size_t)entries
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setMaxStatisticsEntries(entries);
-}
-
-- (void)_resourceLoadStatisticsSetPruneEntriesDownTo:(size_t)entries
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setPruneEntriesDownTo(entries);
-}
-
-- (void)_resourceLoadStatisticsProcessStatisticsAndDataRecords
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->scheduleStatisticsAndDataRecordsProcessing();
-}
-
-- (void)_resourceLoadStatisticsUpdateCookiePartitioning
-{
- [self _resourceLoadStatisticsUpdateCookiePartitioning:^() { }];
-}
-
-- (void)_resourceLoadStatisticsUpdateCookiePartitioning:(void (^)())completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler();
- return;
- }
-
- store->scheduleCookiePartitioningUpdate([completionHandler = makeBlockPtr(completionHandler)]() {
- completionHandler();
- });
-}
-
-- (void)_resourceLoadStatisticsSetShouldPartitionCookies:(BOOL)value forHost:(NSString *)host
-{
- [self _resourceLoadStatisticsSetShouldPartitionCookies:value forHost:host completionHandler:^() { }];
-}
-
-- (void)_resourceLoadStatisticsSetShouldPartitionCookies:(BOOL)value forHost:(NSString *)host completionHandler:(void (^)())completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler();
- return;
- }
-
- if (value)
- store->scheduleCookiePartitioningUpdateForDomains({ host }, { }, { }, WebKit::ShouldClearFirst::No, [completionHandler = makeBlockPtr(completionHandler)]() {
- completionHandler();
- });
- else
- store->scheduleClearPartitioningStateForDomains({ host }, [completionHandler = makeBlockPtr(completionHandler)]() {
- completionHandler();
- });
-}
-
-- (void)_resourceLoadStatisticsSubmitTelemetry
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->submitTelemetry();
-}
-
-- (void)_resourceLoadStatisticsSetNotifyPagesWhenDataRecordsWereScanned:(BOOL)value
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setNotifyPagesWhenDataRecordsWereScanned(value);
-}
-
-- (void)_resourceLoadStatisticsSetShouldClassifyResourcesBeforeDataRecordsRemoval:(BOOL)value
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->setShouldClassifyResourcesBeforeDataRecordsRemoval(value);
-}
-
-- (void)_resourceLoadStatisticsSetNotifyPagesWhenTelemetryWasCaptured:(BOOL)value
-{
- WebKit::WebResourceLoadStatisticsTelemetry::setNotifyPagesWhenTelemetryWasCaptured(value);
-}
-
- (void)_resourceLoadStatisticsSetShouldSubmitTelemetry:(BOOL)value
{
auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
@@ -588,54 +304,6 @@
store->setShouldSubmitTelemetry(value);
}
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStore
-{
- [self _resourceLoadStatisticsClearInMemoryAndPersistentStore:^() { }];
-}
-
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStore:(void (^)())completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler();
- return;
- }
-
- store->scheduleClearInMemoryAndPersistent(WebKit::WebResourceLoadStatisticsStore::ShouldGrandfather::Yes, [completionHandler = makeBlockPtr(completionHandler)]() {
- completionHandler();
- });
-}
-
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:(unsigned)hours
-{
- [self _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:hours completionHandler:^() { }];
-}
-
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:(unsigned)hours completionHandler:(void (^)())completionHandler
-{
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store) {
- completionHandler();
- return;
- }
-
- store->scheduleClearInMemoryAndPersistent(WallTime::now() - Seconds::fromHours(hours), WebKit::WebResourceLoadStatisticsStore::ShouldGrandfather::Yes, [completionHandler = makeBlockPtr(completionHandler)]() {
- completionHandler();
- });
-}
-
-- (void)_resourceLoadStatisticsResetToConsistentState
-{
- WebKit::WebResourceLoadStatisticsTelemetry::setNotifyPagesWhenTelemetryWasCaptured(false);
-
- auto* store = _websiteDataStore->websiteDataStore().resourceLoadStatistics();
- if (!store)
- return;
-
- store->resetParametersToDefaultValues();
- store->scheduleClearInMemory();
-}
-
- (void)_setResourceLoadStatisticsTestingCallback:(void (^)(WKWebsiteDataStore *, NSString *))callback
{
if (callback) {
Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h 2018-02-19 13:59:32 UTC (rev 228675)
@@ -53,41 +53,7 @@
@property (nonatomic, setter=_setBoundInterfaceIdentifier:) NSString *_boundInterfaceIdentifier WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
@property (nonatomic, setter=_setAllowsCellularAccess:) BOOL _allowsCellularAccess WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-// ResourceLoadStatistics SPI for testing.
-- (void)_resourceLoadStatisticsSetLastSeen:(double)seconds forHost:(NSString *)host WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetIsPrevalentResource:(BOOL)value forHost:(NSString *)host WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsIsPrevalentResource:(NSString *)host completionHandler:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsIsRegisteredAsSubFrameUnder:(NSString *)subFrameHost topFrameHost:(NSString *)topFrameHost completionHandler:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-- (void)_resourceLoadStatisticsIsRegisteredAsRedirectingTo:(NSString *)hostRedirectedFrom hostRedirectedTo:(NSString *)hostRedirectedTo completionHandler:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-- (void)_resourceLoadStatisticsSetHadUserInteraction:(BOOL)value forHost:(NSString *)host WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetHasHadNonRecentUserInteractionForHost:(NSString *)host WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-- (void)_resourceLoadStatisticsHadUserInteraction:(NSString *)host completionHandler:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetIsGrandfathered:(BOOL)value forHost:(NSString *)host WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsIsGrandfathered:(NSString *)host completionHandler:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetSubframeUnderTopFrameOrigin:(NSString *)topFrameHostName forHost:(NSString *)host WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetSubresourceUnderTopFrameOrigin:(NSString *)topFrameHostName forHost:(NSString *)host WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetSubresourceUniqueRedirectTo:(NSString *)hostNameRedirectedTo forHost:(NSString *)host WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetTimeToLiveUserInteraction:(double)seconds WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetTimeToLiveCookiePartitionFree:(double)seconds WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetMinimumTimeBetweenDataRecordsRemoval:(double)seconds WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetGrandfatheringTime:(double)seconds WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetMaxStatisticsEntries:(size_t)entries WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetPruneEntriesDownTo:(size_t)entries WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsProcessStatisticsAndDataRecords WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsUpdateCookiePartitioning WK_API_DEPRECATED_WITH_REPLACEMENT("_resourceLoadStatisticsUpdateCookiePartitioning", macosx(10.13, WK_MAC_TBA), ios(11.0, WK_IOS_TBA));
-- (void)_resourceLoadStatisticsUpdateCookiePartitioning:(void (^)(void))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-- (void)_resourceLoadStatisticsSetShouldPartitionCookies:(BOOL)value forHost:(NSString *)host WK_API_DEPRECATED_WITH_REPLACEMENT("_resourceLoadStatisticsSetShouldPartitionCookies", macosx(10.13, WK_MAC_TBA), ios(11.0, WK_IOS_TBA));
-- (void)_resourceLoadStatisticsSetShouldPartitionCookies:(BOOL)value forHost:(NSString *)host completionHandler:(void (^)(void))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-- (void)_resourceLoadStatisticsSubmitTelemetry WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetNotifyPagesWhenDataRecordsWereScanned:(BOOL)value WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetShouldClassifyResourcesBeforeDataRecordsRemoval:(BOOL)value WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsSetNotifyPagesWhenTelemetryWasCaptured:(BOOL)value WK_API_AVAILABLE(macosx(10.13), ios(11.0));
- (void)_resourceLoadStatisticsSetShouldSubmitTelemetry:(BOOL)value WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStore WK_API_DEPRECATED_WITH_REPLACEMENT("_resourceLoadStatisticsClearInMemoryAndPersistentStore", macosx(10.13, WK_MAC_TBA), ios(11.0, WK_IOS_TBA));
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStore:(void (^)(void))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:(unsigned)hours WK_API_DEPRECATED_WITH_REPLACEMENT("_resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours", macosx(10.13, WK_MAC_TBA), ios(11.0, WK_IOS_TBA));
-- (void)_resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:(unsigned)hours completionHandler:(void (^)(void))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-- (void)_resourceLoadStatisticsResetToConsistentState WK_API_AVAILABLE(macosx(10.13), ios(11.0));
- (void)_setResourceLoadStatisticsTestingCallback:(nullable void (^)(WKWebsiteDataStore *, NSString *))callback WK_API_AVAILABLE(macosx(10.13), ios(11.0));
- (void)_getAllStorageAccessEntries:(void (^)(NSArray<NSString *> *domains))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+ (void)_allowWebsiteDataRecordsForAllOrigins WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
Modified: releases/WebKitGTK/webkit-2.20/Tools/ChangeLog (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Tools/ChangeLog 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Tools/ChangeLog 2018-02-19 13:59:32 UTC (rev 228675)
@@ -1,3 +1,66 @@
+2018-02-08 Michael Catanzaro <mcatanz...@igalia.com>
+
+ TestController should not exercise cocoa-specific resource load statistics APIs
+ https://bugs.webkit.org/show_bug.cgi?id=182355
+
+ Reviewed by Alex Christensen.
+
+ Remove unnecessary use of platform-specific APIs in the TestController, since there are
+ cross-platform APIs to do the same thing.
+
+ Also, ensure callbacks execute before returning from TestController's functions, since
+ otherwise the tests are guaranteed to be flaky at best, and also since there's nothing to
+ prevent the TestController from being destroyed before the callbacks execute.
+
+ * WebKitTestRunner/TestController.cpp:
+ (WTR::resourceStatisticsVoidResultCallback):
+ (WTR::resourceStatisticsBooleanResultCallback):
+ (WTR::TestController::isStatisticsPrevalentResource):
+ (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
+ (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
+ (WTR::TestController::isStatisticsHasHadUserInteraction):
+ (WTR::TestController::isStatisticsGrandfathered):
+ (WTR::TestController::statisticsUpdateCookiePartitioning):
+ (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
+ (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
+ (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
+ (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
+ (WTR::resourceStatisticsCallback): Deleted.
+ (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback): Deleted.
+ * WebKitTestRunner/TestController.h:
+ * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
+ (WTR::toNSString): Deleted.
+ (WTR::TestController::setStatisticsLastSeen): Deleted.
+ (WTR::TestController::setStatisticsPrevalentResource): Deleted.
+ (WTR::TestController::isStatisticsPrevalentResource): Deleted.
+ (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Deleted.
+ (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Deleted.
+ (WTR::TestController::setStatisticsHasHadUserInteraction): Deleted.
+ (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
+ (WTR::TestController::isStatisticsHasHadUserInteraction): Deleted.
+ (WTR::TestController::setStatisticsGrandfathered): Deleted.
+ (WTR::TestController::isStatisticsGrandfathered): Deleted.
+ (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin): Deleted.
+ (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin): Deleted.
+ (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo): Deleted.
+ (WTR::TestController::setStatisticsTimeToLiveUserInteraction): Deleted.
+ (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
+ (WTR::TestController::statisticsProcessStatisticsAndDataRecords): Deleted.
+ (WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
+ (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
+ (WTR::TestController::statisticsSubmitTelemetry): Deleted.
+ (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Deleted.
+ (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Deleted.
+ (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured): Deleted.
+ (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Deleted.
+ (WTR::TestController::setStatisticsGrandfatheringTime): Deleted.
+ (WTR::TestController::setStatisticsMaxStatisticsEntries): Deleted.
+ (WTR::TestController::setStatisticsPruneEntriesDownTo): Deleted.
+ (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Deleted.
+ (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Deleted.
+ (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Deleted.
+ (WTR::TestController::statisticsResetToConsistentState): Deleted.
+
2018-02-13 Chris Dumez <cdu...@apple.com>
REGRESSION (r228299): Broke reader mode in Safari
Modified: releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/TestController.cpp (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/TestController.cpp 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/TestController.cpp 2018-02-19 13:59:32 UTC (rev 228675)
@@ -2472,8 +2472,6 @@
return context.result;
}
-#if !PLATFORM(COCOA) || !WK_API_ENABLED
-
void TestController::setStatisticsLastSeen(WKStringRef host, double seconds)
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
@@ -2497,9 +2495,16 @@
bool result { false };
};
-static void resourceStatisticsCallback(bool result, void* userData)
+static void resourceStatisticsVoidResultCallback(void* userData)
{
auto* context = static_cast<ResourceStatisticsCallbackContext*>(userData);
+ context->done = true;
+ context->testController.notifyDone();
+}
+
+static void resourceStatisticsBooleanResultCallback(bool result, void* userData)
+{
+ auto* context = static_cast<ResourceStatisticsCallbackContext*>(userData);
context->result = result;
context->done = true;
context->testController.notifyDone();
@@ -2509,7 +2514,7 @@
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
ResourceStatisticsCallbackContext context(*this);
- WKWebsiteDataStoreIsStatisticsPrevalentResource(dataStore, host, &context, resourceStatisticsCallback);
+ WKWebsiteDataStoreIsStatisticsPrevalentResource(dataStore, host, &context, resourceStatisticsBooleanResultCallback);
if (!context.done)
runUntil(context.done, m_currentInvocation->shortTimeout());
return context.result;
@@ -2519,7 +2524,7 @@
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
ResourceStatisticsCallbackContext context(*this);
- WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder(dataStore, subFrameHost, topFrameHost, &context, resourceStatisticsCallback);
+ WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder(dataStore, subFrameHost, topFrameHost, &context, resourceStatisticsBooleanResultCallback);
if (!context.done)
runUntil(context.done, m_currentInvocation->shortTimeout());
return context.result;
@@ -2529,7 +2534,7 @@
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
ResourceStatisticsCallbackContext context(*this);
- WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo(dataStore, hostRedirectedFrom, hostRedirectedTo, &context, resourceStatisticsCallback);
+ WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo(dataStore, hostRedirectedFrom, hostRedirectedTo, &context, resourceStatisticsBooleanResultCallback);
if (!context.done)
runUntil(context.done, m_currentInvocation->shortTimeout());
return context.result;
@@ -2551,7 +2556,7 @@
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
ResourceStatisticsCallbackContext context(*this);
- WKWebsiteDataStoreIsStatisticsHasHadUserInteraction(dataStore, host, &context, resourceStatisticsCallback);
+ WKWebsiteDataStoreIsStatisticsHasHadUserInteraction(dataStore, host, &context, resourceStatisticsBooleanResultCallback);
if (!context.done)
runUntil(context.done, m_currentInvocation->shortTimeout());
return context.result;
@@ -2567,7 +2572,7 @@
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
ResourceStatisticsCallbackContext context(*this);
- WKWebsiteDataStoreIsStatisticsGrandfathered(dataStore, host, &context, resourceStatisticsCallback);
+ WKWebsiteDataStoreIsStatisticsGrandfathered(dataStore, host, &context, resourceStatisticsBooleanResultCallback);
if (!context.done)
runUntil(context.done, m_currentInvocation->shortTimeout());
return context.result;
@@ -2612,13 +2617,21 @@
void TestController::statisticsUpdateCookiePartitioning()
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
- WKWebsiteDataStoreStatisticsUpdateCookiePartitioning(dataStore);
+ ResourceStatisticsCallbackContext context(*this);
+ WKWebsiteDataStoreStatisticsUpdateCookiePartitioning(dataStore, &context, resourceStatisticsVoidResultCallback);
+ if (!context.done)
+ runUntil(context.done, m_currentInvocation->shortTimeout());
+ m_currentInvocation->didSetPartitionOrBlockCookiesForHost();
}
void TestController::statisticsSetShouldPartitionCookiesForHost(WKStringRef host, bool value)
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
- WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost(dataStore, host, value);
+ ResourceStatisticsCallbackContext context(*this);
+ WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost(dataStore, host, value, &context, resourceStatisticsVoidResultCallback);
+ if (!context.done)
+ runUntil(context.done, m_currentInvocation->shortTimeout());
+ m_currentInvocation->didSetPartitionOrBlockCookiesForHost();
}
void TestController::statisticsSubmitTelemetry()
@@ -2669,27 +2682,34 @@
WKWebsiteDataStoreSetStatisticsPruneEntriesDownTo(dataStore, entries);
}
-void TestController::statisticsClearThroughWebsiteDataRemovalCallback(void* userData)
-{
- static_cast<TestController*>(userData)->m_currentInvocation->didClearStatisticsThroughWebsiteDataRemoval();
-}
-
void TestController::statisticsClearInMemoryAndPersistentStore()
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
- WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore(dataStore, this, statisticsClearThroughWebsiteDataRemovalCallback);
+ ResourceStatisticsCallbackContext context(*this);
+ WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore(dataStore, &context, resourceStatisticsVoidResultCallback);
+ if (!context.done)
+ runUntil(context.done, m_currentInvocation->shortTimeout());
+ m_currentInvocation->didClearStatisticsThroughWebsiteDataRemoval();
}
void TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours(unsigned hours)
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
- WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours(dataStore, hours, this, statisticsClearThroughWebsiteDataRemovalCallback);
+ ResourceStatisticsCallbackContext context(*this);
+ WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours(dataStore, hours, &context, resourceStatisticsVoidResultCallback);
+ if (!context.done)
+ runUntil(context.done, m_currentInvocation->shortTimeout());
+ m_currentInvocation->didClearStatisticsThroughWebsiteDataRemoval();
}
void TestController::statisticsClearThroughWebsiteDataRemoval()
{
auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
- WKWebsiteDataStoreStatisticsClearThroughWebsiteDataRemoval(dataStore, this, statisticsClearThroughWebsiteDataRemovalCallback);
+ ResourceStatisticsCallbackContext context(*this);
+ WKWebsiteDataStoreStatisticsClearThroughWebsiteDataRemoval(dataStore, &context, resourceStatisticsVoidResultCallback);
+ if (!context.done)
+ runUntil(context.done, m_currentInvocation->shortTimeout());
+ m_currentInvocation->didClearStatisticsThroughWebsiteDataRemoval();
}
void TestController::statisticsResetToConsistentState()
@@ -2698,11 +2718,11 @@
WKWebsiteDataStoreStatisticsResetToConsistentState(dataStore);
}
+#if !PLATFORM(COCOA)
void TestController::getAllStorageAccessEntries()
{
// FIXME: Implement C API version of this test.
}
-
#endif
} // namespace WTR
Modified: releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/TestController.h (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/TestController.h 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/TestController.h 2018-02-19 13:59:32 UTC (rev 228675)
@@ -338,8 +338,6 @@
static const char* libraryPathForTesting();
static const char* platformLibraryPathForTesting();
- static void statisticsClearThroughWebsiteDataRemovalCallback(void*);
-
std::unique_ptr<TestInvocation> m_currentInvocation;
bool m_verbose { false };
Modified: releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm (228674 => 228675)
--- releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm 2018-02-19 13:59:24 UTC (rev 228674)
+++ releases/WebKitGTK/webkit-2.20/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm 2018-02-19 13:59:32 UTC (rev 228675)
@@ -53,13 +53,6 @@
namespace WTR {
-#if WK_API_ENABLED
-static NSString* toNSString(WKStringRef string)
-{
- return [NSString stringWithCString:toWTFString(string).utf8().data()];
-}
-#endif
-
static WKWebViewConfiguration *globalWebViewConfiguration;
void initializeWebViewConfiguration(const char* libraryPath, WKStringRef injectedBundlePath, WKContextRef context, WKContextConfigurationRef contextConfiguration)
@@ -256,212 +249,9 @@
#endif
}
-#if WK_API_ENABLED
-void TestController::setStatisticsLastSeen(WKStringRef hostName, double seconds)
+void TestController::getAllStorageAccessEntries()
{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetLastSeen:seconds forHost:toNSString(hostName)];
-}
-
-void TestController::setStatisticsPrevalentResource(WKStringRef hostName, bool value)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetIsPrevalentResource:value forHost:toNSString(hostName)];
-}
-
-bool TestController::isStatisticsPrevalentResource(WKStringRef hostName)
-{
- __block bool isDataReady = false;
- __block bool isPrevalentResource = false;
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsIsPrevalentResource:toNSString(hostName) completionHandler:^(BOOL _isPrevalentResource) {
- isPrevalentResource = _isPrevalentResource;
- isDataReady = true;
- }];
- platformRunUntil(isDataReady, 0);
-
- return isPrevalentResource;
-}
-
-bool TestController::isStatisticsRegisteredAsSubFrameUnder(WKStringRef subFrameHost, WKStringRef topFrameHost)
-{
- __block bool isDataReady = false;
- __block bool isRegisteredAsSubFrameUnder = false;
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsIsRegisteredAsSubFrameUnder:toNSString(subFrameHost) topFrameHost:toNSString(topFrameHost) completionHandler:^(BOOL _isRegisteredAsSubFrameUnder) {
- isRegisteredAsSubFrameUnder = _isRegisteredAsSubFrameUnder;
- isDataReady = true;
- }];
- platformRunUntil(isDataReady, 0);
-
- return isRegisteredAsSubFrameUnder;
-}
-
-bool TestController::isStatisticsRegisteredAsRedirectingTo(WKStringRef hostRedirectedFrom, WKStringRef hostRedirectedTo)
-{
- __block bool isDataReady = false;
- __block bool isRegisteredAsRedirectingTo = false;
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsIsRegisteredAsRedirectingTo:toNSString(hostRedirectedFrom) hostRedirectedTo:toNSString(hostRedirectedTo) completionHandler:^(BOOL _isRegisteredAsRedirectingTo) {
- isRegisteredAsRedirectingTo = _isRegisteredAsRedirectingTo;
- isDataReady = true;
- }];
- platformRunUntil(isDataReady, 0);
-
- return isRegisteredAsRedirectingTo;
-}
-
-void TestController::setStatisticsHasHadUserInteraction(WKStringRef hostName, bool value)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetHadUserInteraction:value forHost:toNSString(hostName)];
-}
-
-void TestController::setStatisticsHasHadNonRecentUserInteraction(WKStringRef hostName)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetHasHadNonRecentUserInteractionForHost:toNSString(hostName)];
-}
-
-bool TestController::isStatisticsHasHadUserInteraction(WKStringRef hostName)
-{
- __block bool isDataReady = false;
- __block bool hasHadUserInteraction = false;
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsHadUserInteraction:toNSString(hostName) completionHandler:^(BOOL _hasHadUserInteraction) {
- hasHadUserInteraction = _hasHadUserInteraction;
- isDataReady = true;
- }];
- platformRunUntil(isDataReady, 0);
-
- return hasHadUserInteraction;
-}
-
-void TestController::setStatisticsGrandfathered(WKStringRef hostName, bool value)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetIsGrandfathered:value forHost:toNSString(hostName)];
-}
-
-bool TestController::isStatisticsGrandfathered(WKStringRef hostName)
-{
- __block bool isDataReady = false;
- __block bool isGrandfathered = false;
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsIsGrandfathered:toNSString(hostName) completionHandler:^(BOOL _isGrandfathered) {
- isGrandfathered = _isGrandfathered;
- isDataReady = true;
- }];
- platformRunUntil(isDataReady, 0);
-
- return isGrandfathered;
-}
-
-void TestController::setStatisticsSubframeUnderTopFrameOrigin(WKStringRef hostName, WKStringRef topFrameHostName)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetSubframeUnderTopFrameOrigin:toNSString(topFrameHostName) forHost:toNSString(hostName)];
-}
-
-void TestController::setStatisticsSubresourceUnderTopFrameOrigin(WKStringRef hostName, WKStringRef topFrameHostName)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetSubresourceUnderTopFrameOrigin:toNSString(topFrameHostName) forHost:toNSString(hostName)];
-}
-
-void TestController::setStatisticsSubresourceUniqueRedirectTo(WKStringRef hostName, WKStringRef hostNameRedirectedTo)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetSubresourceUniqueRedirectTo:toNSString(hostNameRedirectedTo) forHost:toNSString(hostName)];
-}
-
-void TestController::setStatisticsTimeToLiveUserInteraction(double seconds)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetTimeToLiveUserInteraction:seconds];
-}
-
-void TestController::setStatisticsTimeToLiveCookiePartitionFree(double seconds)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetTimeToLiveCookiePartitionFree:seconds];
-}
-
-void TestController::statisticsProcessStatisticsAndDataRecords()
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsProcessStatisticsAndDataRecords];
-}
-
-void TestController::statisticsUpdateCookiePartitioning()
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning:^() {
- m_currentInvocation->didSetPartitionOrBlockCookiesForHost();
- }];
-}
-
-void TestController::statisticsSetShouldPartitionCookiesForHost(WKStringRef hostName, bool value)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:value forHost:toNSString(hostName) completionHandler:^() {
- m_currentInvocation->didSetPartitionOrBlockCookiesForHost();
- }];
-}
-
-void TestController::statisticsSubmitTelemetry()
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSubmitTelemetry];
-}
-
-void TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned(bool value)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetNotifyPagesWhenDataRecordsWereScanned:value];
-}
-
-void TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval(bool value)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetShouldClassifyResourcesBeforeDataRecordsRemoval:value];
-}
-
-void TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured(bool value)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetNotifyPagesWhenTelemetryWasCaptured:value];
-}
-
-void TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval(double seconds)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetMinimumTimeBetweenDataRecordsRemoval:seconds];
-}
-
-void TestController::setStatisticsGrandfatheringTime(double seconds)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetGrandfatheringTime:seconds];
-}
-
-void TestController::setStatisticsMaxStatisticsEntries(unsigned entries)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetMaxStatisticsEntries:entries];
-}
-
-void TestController::setStatisticsPruneEntriesDownTo(unsigned entries)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsSetPruneEntriesDownTo:entries];
-}
-
-void TestController::statisticsClearInMemoryAndPersistentStore()
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore:^() {
- m_currentInvocation->didClearStatisticsThroughWebsiteDataRemoval();
- }];
-}
-
-void TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours(unsigned hours)
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:hours completionHandler:^() {
- m_currentInvocation->didClearStatisticsThroughWebsiteDataRemoval();
- }];
-}
-
-void TestController::statisticsClearThroughWebsiteDataRemoval()
-{
#if WK_API_ENABLED
- auto types = adoptNS([[NSSet alloc] initWithObjects:_WKWebsiteDataTypeResourceLoadStatistics, nil]);
- [globalWebViewConfiguration.websiteDataStore removeDataOfTypes:types.get() modifiedSince:[NSDate distantPast] completionHandler:^() {
- m_currentInvocation->didClearStatisticsThroughWebsiteDataRemoval();
- }];
-#endif
-}
-
-void TestController::statisticsResetToConsistentState()
-{
- [globalWebViewConfiguration.websiteDataStore _resourceLoadStatisticsResetToConsistentState];
-}
-
-void TestController::getAllStorageAccessEntries()
-{
[globalWebViewConfiguration.websiteDataStore _getAllStorageAccessEntries:^(NSArray<NSString *> *nsDomains) {
Vector<String> domains;
domains.reserveInitialCapacity(nsDomains.count);
@@ -469,8 +259,7 @@
domains.uncheckedAppend(domain);
m_currentInvocation->didReceiveAllStorageAccessEntries(domains);
}];
+#endif
}
-#endif // WK_API_ENABLED
-
} // namespace WTR