Title: [226346] trunk
Revision
226346
Author
mcatanz...@igalia.com
Date
2018-01-02 18:34:18 -0800 (Tue, 02 Jan 2018)

Log Message

REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=181231

Reviewed by Alex Christensen.

Source/WebKit:

Add new C API for use by WebKitTestRunner.

* UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
* UIProcess/API/C/WKWebsiteDataStoreRef.h:

Tools:

Implement TestController APIs needed by ResourceLoadStatistics tests.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestController::isStatisticsRegisteredAsRedirectingTo):

LayoutTests:

Unskip the tests.

* platform/gtk/TestExpectations:
* platform/wpe/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (226345 => 226346)


--- trunk/LayoutTests/ChangeLog	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/LayoutTests/ChangeLog	2018-01-03 02:34:18 UTC (rev 226346)
@@ -1,5 +1,17 @@
 2018-01-02  Michael Catanzaro  <mcatanz...@igalia.com>
 
+        REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
+        https://bugs.webkit.org/show_bug.cgi?id=181231
+
+        Reviewed by Alex Christensen.
+
+        Unskip the tests.
+
+        * platform/gtk/TestExpectations:
+        * platform/wpe/TestExpectations:
+
+2018-01-02  Michael Catanzaro  <mcatanz...@igalia.com>
+
         Unreviewed WPE test gardening.
 
         * platform/wpe/TestExpectations:

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (226345 => 226346)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2018-01-03 02:34:18 UTC (rev 226346)
@@ -2286,9 +2286,6 @@
 # This is a Mac specific feature
 webkit.org/b/168466 http/tests/security/bypassing-cors-checks-for-extension-urls.html [ Skip ]
 
-# Currently only has Objective-C API
-http/tests/resourceLoadStatistics [ Skip ]
-
 #////////////////////////////////////////////////////////////////////////////////////////
 # End of tests with architecture-specific results
 #////////////////////////////////////////////////////////////////////////////////////////
@@ -3337,6 +3334,8 @@
 
 webkit.org/b/180805 inspector/canvas/requestContent-bitmaprenderer.html [ Failure ]
 
+webkit.org/b/175189 http/tests/resourceLoadStatistics/grandfathering.html [ Failure ]
+
 #////////////////////////////////////////////////////////////////////////////////////////
 # End of non-crashing, non-flaky tests failing
 #////////////////////////////////////////////////////////////////////////////////////////

Modified: trunk/LayoutTests/platform/wpe/TestExpectations (226345 => 226346)


--- trunk/LayoutTests/platform/wpe/TestExpectations	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/LayoutTests/platform/wpe/TestExpectations	2018-01-03 02:34:18 UTC (rev 226346)
@@ -1044,7 +1044,6 @@
 http/tests/preconnect [ Skip ]
 http/tests/preload [ Skip ]
 http/tests/quicklook [ Skip ]
-http/tests/resourceLoadStatistics [ Skip ]
 http/tests/security [ Skip ]
 http/tests/ssl [ Skip ]
 http/tests/svg [ Skip ]
@@ -1158,3 +1157,5 @@
 webkit.org/b/181224 imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update.html [ Crash ]
 webkit.org/b/181224 imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys.html [ Crash ]
 webkit.org/b/181225 media/encrypted-media/mock-MediaKeySystemAccess.html [ Crash ]
+
+webkit.org/b/175189 http/tests/resourceLoadStatistics/grandfathering.html [ Failure ]

Modified: trunk/Source/WebKit/ChangeLog (226345 => 226346)


--- trunk/Source/WebKit/ChangeLog	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/Source/WebKit/ChangeLog	2018-01-03 02:34:18 UTC (rev 226346)
@@ -1,3 +1,17 @@
+2018-01-02  Michael Catanzaro  <mcatanz...@igalia.com>
+
+        REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
+        https://bugs.webkit.org/show_bug.cgi?id=181231
+
+        Reviewed by Alex Christensen.
+
+        Add new C API for use by WebKitTestRunner.
+
+        * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
+        (WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
+        (WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
+        * UIProcess/API/C/WKWebsiteDataStoreRef.h:
+
 2018-01-02  Jiewen Tan  <jiewen_...@apple.com>
 
         Add a WebAuthentication runtime feature flag

Modified: trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp (226345 => 226346)


--- trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp	2018-01-03 02:34:18 UTC (rev 226346)
@@ -97,6 +97,32 @@
     });
 }
 
+void WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder(WKWebsiteDataStoreRef dataStoreRef, WKStringRef subFrameHost, WKStringRef topFrameHost, void* context, WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnderFunction callback)
+{
+    auto* store = WebKit::toImpl(dataStoreRef)->websiteDataStore().resourceLoadStatistics();
+    if (!store) {
+        callback(false, context);
+        return;
+    }
+
+    store->isRegisteredAsSubFrameUnder(WebCore::URL(WebCore::URL(), WebKit::toImpl(subFrameHost)->string()), WebCore::URL(WebCore::URL(), WebKit::toImpl(topFrameHost)->string()), [context, callback](bool isRegisteredAsSubFrameUnder) {
+        callback(isRegisteredAsSubFrameUnder, context);
+    });
+}
+
+void WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo(WKWebsiteDataStoreRef dataStoreRef, WKStringRef hostRedirectedFrom, WKStringRef hostRedirectedTo, void* context, WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingToFunction callback)
+{
+    auto* store = WebKit::toImpl(dataStoreRef)->websiteDataStore().resourceLoadStatistics();
+    if (!store) {
+        callback(false, context);
+        return;
+    }
+
+    store->isRegisteredAsRedirectingTo(WebCore::URL(WebCore::URL(), WebKit::toImpl(hostRedirectedFrom)->string()), WebCore::URL(WebCore::URL(), WebKit::toImpl(hostRedirectedTo)->string()), [context, callback](bool isRegisteredAsRedirectingTo) {
+        callback(isRegisteredAsRedirectingTo, context);
+    });
+}
+
 void WKWebsiteDataStoreSetStatisticsHasHadUserInteraction(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, bool value)
 {
     auto* store = WebKit::toImpl(dataStoreRef)->websiteDataStore().resourceLoadStatistics();

Modified: trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h (226345 => 226346)


--- trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h	2018-01-03 02:34:18 UTC (rev 226346)
@@ -43,6 +43,10 @@
 WK_EXPORT void WKWebsiteDataStoreSetStatisticsPrevalentResource(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, bool value);
 typedef void (*WKWebsiteDataStoreIsStatisticsPrevalentResourceFunction)(bool isPrevalentResource, void* functionContext);
 WK_EXPORT void WKWebsiteDataStoreIsStatisticsPrevalentResource(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, void* context, WKWebsiteDataStoreIsStatisticsPrevalentResourceFunction callback);
+typedef void (*WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnderFunction)(bool isRegisteredAsSubFrameUnder, void* functionContext);
+WK_EXPORT void WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder(WKWebsiteDataStoreRef dataStoreRef, WKStringRef subFrameHost, WKStringRef topFrameHost, void* context, WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnderFunction callback);
+typedef void (*WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingToFunction)(bool isRegisteredAsRedirectingTo, void* functionContext);
+WK_EXPORT void WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo(WKWebsiteDataStoreRef dataStoreRef, WKStringRef hostRedirectedFrom, WKStringRef hostRedirectedTo, void* context, WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingToFunction callback);
 WK_EXPORT void WKWebsiteDataStoreSetStatisticsHasHadUserInteraction(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host, bool value);
 WK_EXPORT void WKWebsiteDataStoreSetStatisticsHasHadNonRecentUserInteraction(WKWebsiteDataStoreRef dataStoreRef, WKStringRef host);
 typedef void (*WKWebsiteDataStoreIsStatisticsHasHadUserInteractionFunction)(bool hasHadUserInteraction, void* functionContext);

Modified: trunk/Tools/ChangeLog (226345 => 226346)


--- trunk/Tools/ChangeLog	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/Tools/ChangeLog	2018-01-03 02:34:18 UTC (rev 226346)
@@ -1,3 +1,16 @@
+2018-01-02  Michael Catanzaro  <mcatanz...@igalia.com>
+
+        REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
+        https://bugs.webkit.org/show_bug.cgi?id=181231
+
+        Reviewed by Alex Christensen.
+
+        Implement TestController APIs needed by ResourceLoadStatistics tests.
+
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
+        (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
+
 2018-01-02  Tim Horton  <timothy_hor...@apple.com>
 
         Disable WKAttachmentTests if UIPasteboard.itemProviders is not available

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (226345 => 226346)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2018-01-03 01:43:37 UTC (rev 226345)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2018-01-03 02:34:18 UTC (rev 226346)
@@ -2484,14 +2484,24 @@
     return context.result;
 }
 
-bool TestController::isStatisticsRegisteredAsSubFrameUnder(WKStringRef, WKStringRef)
+bool TestController::isStatisticsRegisteredAsSubFrameUnder(WKStringRef subFrameHost, WKStringRef topFrameHost)
 {
-    return false;
+    auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
+    ResourceStatisticsCallbackContext context(*this);
+    WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder(dataStore, subFrameHost, topFrameHost, &context, resourceStatisticsCallback);
+    if (!context.done)
+        runUntil(context.done, m_currentInvocation->shortTimeout());
+    return context.result;
 }
 
-bool TestController::isStatisticsRegisteredAsRedirectingTo(WKStringRef, WKStringRef)
+bool TestController::isStatisticsRegisteredAsRedirectingTo(WKStringRef hostRedirectedFrom, WKStringRef hostRedirectedTo)
 {
-    return false;
+    auto* dataStore = WKContextGetWebsiteDataStore(platformContext());
+    ResourceStatisticsCallbackContext context(*this);
+    WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo(dataStore, hostRedirectedFrom, hostRedirectedTo, &context, resourceStatisticsCallback);
+    if (!context.done)
+        runUntil(context.done, m_currentInvocation->shortTimeout());
+    return context.result;
 }
 
 void TestController::setStatisticsHasHadUserInteraction(WKStringRef host, bool value)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to