Commit abfc03b1 authored by Hiroki Nakagawa's avatar Hiroki Nakagawa Committed by Commit Bot

Worker: Separate worker-from-blob-url.window.html to filter out failing tests...

Worker: Separate worker-from-blob-url.window.html to filter out failing tests in a more fine-grained way

This test file should be separated into 2 files (one for dedicated workers and
the other for shared workers). This is because Edge and Safari don't support
shared workers, and Chrome has an issue on shared workers with Blob URL
revocation, so some tests are expected to fail on them. By separating the file,
browsers can filter out failing tests in a more fine grained way.

Bug: 655458, 800898
Change-Id: I9ea6c76dc9b6841bf6aaa98251c81f292dd460cf
Reviewed-on: https://chromium-review.googlesource.com/c/1337129
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarHiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609586}
parent 6de4fbdb
...@@ -11,7 +11,7 @@ Bug(none) virtual/outofblink-cors-ns/http/tests/security/powerfulFeatureRestrict ...@@ -11,7 +11,7 @@ Bug(none) virtual/outofblink-cors-ns/http/tests/security/powerfulFeatureRestrict
# Only passes with Network Servce enabled (unfortunately these expectations still # Only passes with Network Servce enabled (unfortunately these expectations still
# allow Failure or Timeout from the top-level expectations though). # allow Failure or Timeout from the top-level expectations though).
crbug.com/800898 external/wpt/FileAPI/url/url-in-tags-revoke.window.html [ Pass ] crbug.com/800898 external/wpt/FileAPI/url/url-in-tags-revoke.window.html [ Pass ]
crbug.com/800898 external/wpt/workers/worker-from-blob-url.window.html [ Pass ] crbug.com/800898 external/wpt/workers/shared-worker-from-blob-url.window.html [ Pass ]
crbug.com/595993 external/wpt/service-workers/service-worker/request-end-to-end.https.html [ Pass ] crbug.com/595993 external/wpt/service-workers/service-worker/request-end-to-end.https.html [ Pass ]
crbug.com/862886 external/wpt/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html [ Pass ] crbug.com/862886 external/wpt/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html [ Pass ]
crbug.com/896924 http/tests/inspector-protocol/network/interception-multiclient.js [ Pass ] crbug.com/896924 http/tests/inspector-protocol/network/interception-multiclient.js [ Pass ]
......
...@@ -806,7 +806,6 @@ crbug.com/874695 external/wpt/workers/semantics/multiple-workers/003.html [ Slow ...@@ -806,7 +806,6 @@ crbug.com/874695 external/wpt/workers/semantics/multiple-workers/003.html [ Slow
crbug.com/874695 external/wpt/workers/semantics/multiple-workers/004.html [ Slow ] crbug.com/874695 external/wpt/workers/semantics/multiple-workers/004.html [ Slow ]
crbug.com/874695 external/wpt/workers/semantics/multiple-workers/007.html [ Slow ] crbug.com/874695 external/wpt/workers/semantics/multiple-workers/007.html [ Slow ]
crbug.com/874695 external/wpt/workers/Worker_cross_origin_security_err.htm [ Slow ] crbug.com/874695 external/wpt/workers/Worker_cross_origin_security_err.htm [ Slow ]
crbug.com/874695 external/wpt/workers/worker-from-blob-url.window.html [ Slow ]
crbug.com/874695 external/wpt/worklets/animation-worklet-referrer.https.html [ Slow ] crbug.com/874695 external/wpt/worklets/animation-worklet-referrer.https.html [ Slow ]
crbug.com/874695 external/wpt/worklets/layout-worklet-referrer.https.html [ Slow ] crbug.com/874695 external/wpt/worklets/layout-worklet-referrer.https.html [ Slow ]
crbug.com/874695 external/wpt/worklets/paint-worklet-referrer.https.html [ Slow ] crbug.com/874695 external/wpt/worklets/paint-worklet-referrer.https.html [ Slow ]
......
...@@ -2808,8 +2808,10 @@ crbug.com/751952 http/tests/devtools/console/console-uncaught-promise.js [ Pass ...@@ -2808,8 +2808,10 @@ crbug.com/751952 http/tests/devtools/console/console-uncaught-promise.js [ Pass
crbug.com/800898 external/wpt/FileAPI/url/url-with-fetch.any.worker.html [ Pass Failure ] crbug.com/800898 external/wpt/FileAPI/url/url-with-fetch.any.worker.html [ Pass Failure ]
crbug.com/800898 external/wpt/FileAPI/url/url-with-xhr.any.worker.html [ Pass Failure ] crbug.com/800898 external/wpt/FileAPI/url/url-with-xhr.any.worker.html [ Pass Failure ]
crbug.com/800898 external/wpt/FileAPI/url/url-in-tags-revoke.window.html [ Timeout ] crbug.com/800898 external/wpt/FileAPI/url/url-in-tags-revoke.window.html [ Timeout ]
crbug.com/800898 external/wpt/workers/worker-from-blob-url.window.html [ Timeout ]
crbug.com/800898 virtual/off-main-thread-worker-script-fetch/external/wpt/workers/worker-from-blob-url.window.html [ Timeout ] # These will be fixed when NetworkService gets enabled.
crbug.com/800898 external/wpt/workers/shared-worker-from-blob-url.window.html [ Skip ]
crbug.com/800898 virtual/off-main-thread-worker-script-fetch/external/wpt/workers/shared-worker-from-blob-url.window.html [ Skip ]
crbug.com/849737 virtual/mojo-blob-urls/external/wpt/FileAPI/url/sandboxed-iframe.html [ Pass Timeout ] crbug.com/849737 virtual/mojo-blob-urls/external/wpt/FileAPI/url/sandboxed-iframe.html [ Pass Timeout ]
crbug.com/849737 virtual/mojo-blob-urls/external/wpt/FileAPI/url/url-format.any.html [ Pass Timeout ] crbug.com/849737 virtual/mojo-blob-urls/external/wpt/FileAPI/url/url-format.any.html [ Pass Timeout ]
...@@ -3908,6 +3910,11 @@ crbug.com/835717 virtual/off-main-thread-worker-script-fetch/external/wpt/worker ...@@ -3908,6 +3910,11 @@ crbug.com/835717 virtual/off-main-thread-worker-script-fetch/external/wpt/worker
# This fails because off-the-main-thread script loading goes through different # This fails because off-the-main-thread script loading goes through different
# loading path. Although we could remove this test. disable it for now. # loading path. Although we could remove this test. disable it for now.
crbug.com/835717 virtual/off-main-thread-worker-script-fetch/fast/workers/chromium/worker-crash-with-invalid-location.html [ Skip ] crbug.com/835717 virtual/off-main-thread-worker-script-fetch/fast/workers/chromium/worker-crash-with-invalid-location.html [ Skip ]
# Looks like calling |URL.revokeObjectURL(blob_url)| immediately after
# |new Worker(blob_url)| fails worker start because off-the-main-thread worker
# script loading changes the order of url revocation and script fetch.
# See also crbug.com/800898.
crbug.com/835717 virtual/off-main-thread-worker-script-fetch/external/wpt/workers/dedicated-worker-from-blob-url.window.html [ Timeout ]
# This fails because AllowedByNoSniff::MimeTypeAsScript() blocks the nested worker's # This fails because AllowedByNoSniff::MimeTypeAsScript() blocks the nested worker's
# worker script, because the script url has a .html file extension. # worker script, because the script url has a .html file extension.
......
function message_from_port(port) {
return new Promise(resolve => {
port.onmessage = e => resolve(e.data);
});
}
promise_test(async t => {
const run_result = 'worker_OK';
const blob_contents = 'self.postMessage("' + run_result + '");';
const blob = new Blob([blob_contents]);
const url = URL.createObjectURL(blob);
const worker = new Worker(url);
const reply = await message_from_port(worker);
assert_equals(reply, run_result);
}, 'Creating a dedicated worker from a blob URL works.');
promise_test(async t => {
const run_result = 'worker_OK';
const blob_contents = 'self.postMessage("' + run_result + '");';
const blob = new Blob([blob_contents]);
const url = URL.createObjectURL(blob);
const worker = new Worker(url);
URL.revokeObjectURL(url);
const reply = await message_from_port(worker);
assert_equals(reply, run_result);
}, 'Creating a dedicated worker from a blob URL works immediately before revoking.');
...@@ -4,29 +4,6 @@ function message_from_port(port) { ...@@ -4,29 +4,6 @@ function message_from_port(port) {
}); });
} }
promise_test(async t => {
const run_result = 'worker_OK';
const blob_contents = 'self.postMessage("' + run_result + '");';
const blob = new Blob([blob_contents]);
const url = URL.createObjectURL(blob);
const worker = new Worker(url);
const reply = await message_from_port(worker);
assert_equals(reply, run_result);
}, 'Creating a dedicated worker from a blob URL works.');
promise_test(async t => {
const run_result = 'worker_OK';
const blob_contents = 'self.postMessage("' + run_result + '");';
const blob = new Blob([blob_contents]);
const url = URL.createObjectURL(blob);
const worker = new Worker(url);
URL.revokeObjectURL(url);
const reply = await message_from_port(worker);
assert_equals(reply, run_result);
}, 'Creating a dedicated worker from a blob URL works immediately before revoking.');
promise_test(async t => { promise_test(async t => {
const run_result = 'worker_OK_'; const run_result = 'worker_OK_';
const blob_contents = const blob_contents =
...@@ -57,7 +34,6 @@ promise_test(async t => { ...@@ -57,7 +34,6 @@ promise_test(async t => {
assert_equals(reply, run_result); assert_equals(reply, run_result);
}, 'Creating a shared worker from a blob URL works immediately before revoking.'); }, 'Creating a shared worker from a blob URL works immediately before revoking.');
promise_test(async t => { promise_test(async t => {
const run_result = 'worker_OK_'; const run_result = 'worker_OK_';
const blob_contents = const blob_contents =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment