Diff
Modified: trunk/LayoutTests/ChangeLog (238906 => 238907)
--- trunk/LayoutTests/ChangeLog 2018-12-05 21:02:46 UTC (rev 238906)
+++ trunk/LayoutTests/ChangeLog 2018-12-05 21:15:36 UTC (rev 238907)
@@ -1,3 +1,14 @@
+2018-12-05 Youenn Fablet <you...@apple.com>
+
+ [iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
+ https://bugs.webkit.org/show_bug.cgi?id=189727
+ <rdar://problem/44584993>
+
+ Reviewed by Chris Dumez.
+
+ * TestExpectations:
+ * platform/ios/TestExpectations:
+
2018-12-05 Commit Queue <commit-qu...@webkit.org>
Unreviewed, rolling out r238844, r238846, and r238874.
Modified: trunk/LayoutTests/TestExpectations (238906 => 238907)
--- trunk/LayoutTests/TestExpectations 2018-12-05 21:02:46 UTC (rev 238906)
+++ trunk/LayoutTests/TestExpectations 2018-12-05 21:15:36 UTC (rev 238907)
@@ -263,7 +263,6 @@
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-mode-worker.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl.html [ DumpJSConsoleLogInStdErr ]
-webkit.org/b/181901 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/service-workers/service-worker/fetch-response-taint.https.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/service-workers/service-worker/register-closed-window.https.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/service-workers/service-worker/registration-security-error.https.html [ DumpJSConsoleLogInStdErr ]
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (238906 => 238907)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2018-12-05 21:02:46 UTC (rev 238906)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-12-05 21:15:36 UTC (rev 238907)
@@ -1,3 +1,17 @@
+2018-12-05 Youenn Fablet <you...@apple.com>
+
+ [iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
+ https://bugs.webkit.org/show_bug.cgi?id=189727
+ <rdar://problem/44584993>
+
+ Reviewed by Chris Dumez.
+
+ Make the test more deterministic and output more test to ease debugging.
+
+ * web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
+ * web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html:
+ * web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html:
+
2018-12-05 Frederic Wang <fw...@igalia.com>
Import css overscroll behavior WPT test
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt (238906 => 238907)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt 2018-12-05 21:02:46 UTC (rev 238906)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt 2018-12-05 21:15:36 UTC (rev 238907)
@@ -1,3 +1,87 @@
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
+CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw due to access control checks.
+CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw due to access control checks.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
+CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore due to access control checks.
+CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore due to access control checks.
+CONSOLE MESSAGE: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ignore due to access control checks.
+CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore due to access control checks.
+CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore due to access control checks.
+CONSOLE MESSAGE: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ignore due to access control checks.
+CONSOLE MESSAGE: Response served by service worker is opaque
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
+CONSOLE MESSAGE: Response served by service worker is opaque
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
+CONSOLE MESSAGE: Response served by service worker is opaque
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
+CONSOLE MESSAGE: Response served by service worker is opaque
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: TypeError: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=""
+CONSOLE MESSAGE: FetchEvent.respondWith received an error: TypeError: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
+CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=""
PASS Verify CORS XHR of fetch() in a Service Worker
+PASS test 1: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials false must be FAIL
+PASS test 2: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials true must be FAIL
+PASS test 3: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials false must be FAIL
+PASS test 4: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials true must be FAIL
+PASS test 5: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials false must be SUCCESS
+PASS test 6: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials true must be SUCCESS
+PASS test 7: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials false must be FAIL
+PASS test 8: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials true must be FAIL
+PASS test 9: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials false must be FAIL
+PASS test 10: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials true must be FAIL
+PASS test 11: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials false must be FAIL
+PASS test 12: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials true must be FAIL
+PASS test 13: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials false must be SUCCESS
+PASS test 14: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials true must be SUCCESS
+PASS test 15: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials false must be FAIL
+PASS test 16: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials true must be FAIL
+PASS test 17: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ignore with credentials false must be SUCCESS
+PASS test 18: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ignore with credentials true must be FAIL
+PASS test 19: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ACACredentials=true&ignore with credentials true must be SUCCESS
+PASS test 20: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials false must be SUCCESS
+PASS test 21: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials true must be SUCCESS
+PASS test 22: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials false must be FAIL
+PASS test 23: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials true must be FAIL
+PASS test 24: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ignore with credentials false must be STATUS401
+PASS test 25: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ignore with credentials true must be FAIL
+PASS test 26: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ACACredentials=true&ignore with credentials true must be SUCCESS
+PASS test 27: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url="" with credentials false must be SUCCESS
+PASS test 28: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url="" with credentials false must be SUCCESS
+PASS test 29: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url="" with credentials false must be SUCCESS
+PASS test 30: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url="" with credentials false must be SUCCESS
+PASS test 31: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url="" with credentials false must be FAIL
+PASS test 32: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url="" with credentials false must be FAIL
+PASS test 33: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url="" with credentials false must be FAIL
+PASS test 34: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url="" with credentials false must be FAIL
+PASS test 35: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url="" with credentials false must be SUCCESS
+PASS test 36: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url="" with credentials true must be FAIL
+PASS test 37: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url="" with credentials true must be SUCCESS
+PASS test 38: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url="" with credentials false must be SUCCESS
+PASS test 39: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url="" with credentials true must be FAIL
+PASS test 40: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url="" with credentials true must be SUCCESS
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html (238906 => 238907)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html 2018-12-05 21:02:46 UTC (rev 238906)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html 2018-12-05 21:15:36 UTC (rev 238907)
@@ -30,14 +30,19 @@
return new Promise(function(resolve, reject) {
var channel = new MessageChannel();
- channel.port1._onmessage_ = resolve;
+ channel.port1._onmessage_ = (event) => {
+ if (event.data ="" 'done') {
+ resolve();
+ return;
+ }
+ test(() => {
+ assert_true(event.data.result);
+ }, event.data.testName);
+ };
frame.contentWindow.postMessage({},
host_info['HTTPS_ORIGIN'],
[channel.port2]);
});
- })
- .then(function(e) {
- assert_equals(e.data.results, 'finish');
});
}, 'Verify CORS XHR of fetch() in a Service Worker');
</script>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html (238906 => 238907)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html 2018-12-05 21:02:46 UTC (rev 238906)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html 2018-12-05 21:15:36 UTC (rev 238907)
@@ -26,38 +26,10 @@
});
}
-function create_test_promise(url, with_credentials, expected_result) {
- return new Promise(function(resolve, reject) {
- create_test_case_promise(url, with_credentials)
- .then(function(result) {
- if (result == expected_result) {
- resolve();
- } else {
- reject('Result of url:' + url + ' ' +
- ' with_credentials: ' + with_credentials + ' must be ' +
- expected_result + ' but ' + result);
- }
- })
- });
-}
-
-function create_serial_promise(test_cases) {
- var promise = Promise.resolve();
- test_cases.forEach(function(test_case) {
- promise = promise.then(function() {
- return create_test_promise(test_case[0], test_case[1], test_case[2]);
- });
- });
- return promise;
-}
-
-window.addEventListener('message', function(evt) {
+window.addEventListener('message', async (evt) => {
var port = evt.ports[0];
var url = "" + path;
var remote_url = host_info['HTTPS_REMOTE_ORIGIN'] + path;
- // If the 4th value of the item of TEST_CASES is true, the test case outputs
- // warning messages. So such tests must be executed in serial to match the
- // expected output text.
var TEST_CASES = [
// Reject tests
[url + '?reject', false, FAIL],
@@ -95,8 +67,8 @@
// Credential test (fallback)
[url + '?Auth&ignore', false, SUCCESS],
[url + '?Auth&ignore', true, SUCCESS],
- [remote_url + '?Auth&ignore', false, FAIL, true], // Executed in serial.
- [remote_url + '?Auth&ignore', true, FAIL, true], // Executed in serial.
+ [remote_url + '?Auth&ignore', false, FAIL],
+ [remote_url + '?Auth&ignore', true, FAIL],
[
remote_url + '?Auth&ACAOrigin=' + host_info['HTTPS_ORIGIN'] + '&ignore',
false, 'STATUS401'
@@ -186,24 +158,13 @@
true, SUCCESS
]
];
- var promises = [];
- var serial_tests = [];
- for (var i = 0; i < TEST_CASES.length ; ++i) {
- if (!TEST_CASES[i][3]) {
- promises.push(create_test_promise(TEST_CASES[i][0],
- TEST_CASES[i][1],
- TEST_CASES[i][2]));
- } else {
- serial_tests.push(TEST_CASES[i]);
- }
+
+ let counter = 0;
+ for (let test of TEST_CASES) {
+ let result = await create_test_case_promise(test[0], test[1]);
+ let testName = 'test ' + (++counter) + ': ' + test[0] + ' with credentials ' + test[1] + ' must be ' + test[2];
+ port.postMessage({testName: testName, result: result === test[2]});
}
- promises.push(create_serial_promise(serial_tests));
- Promise.all(promises)
- .then(function() {
- port.postMessage({results: 'finish'});
- })
- .catch(function(e) {
- port.postMessage({results: 'failure:' + e});
- });
+ port.postMessage('done');
}, false);
</script>
Modified: trunk/LayoutTests/platform/ios/TestExpectations (238906 => 238907)
--- trunk/LayoutTests/platform/ios/TestExpectations 2018-12-05 21:02:46 UTC (rev 238906)
+++ trunk/LayoutTests/platform/ios/TestExpectations 2018-12-05 21:15:36 UTC (rev 238907)
@@ -3136,7 +3136,7 @@
webkit.org/b/189726 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html [ Pass Failure ]
webkit.org/b/189726 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html [ Pass Failure ]
-webkit.org/b/189727 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ DumpJSConsoleLogInStdErr Pass Failure ]
+webkit.org/b/189727 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ Pass Failure ]
webkit.org/b/187557 media/media-fragments/TC0005.html [ Pass Failure ]
webkit.org/b/187557 media/media-fragments/TC0006.html [ Pass Failure ]