Auto merge of #24757 - Akash-Pateria:async-wasm-compilation-subsequent, r=jdm

Async wasm compilation event loop integration

The PR contains changes related to binding the runnable dispatching in script_runtime and is part of the Asynchronous WebAssembly Compilation fix. This is the first step in the subsequent steps mentioned in the [wiki](https://github.com/servo/servo/wiki/Asynchronous-WebAssembly-compilation-project).

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes are part of #21476 fix
This commit is contained in:
bors-servo 2019-11-20 16:16:13 -05:00 committed by GitHub
commit dc22a78cc2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
68 changed files with 162 additions and 427 deletions

View file

@ -32,6 +32,7 @@ use crate::script_runtime::{
new_child_runtime, CommonScriptMsg, JSContext as SafeJSContext, Runtime, ScriptChan, ScriptPort,
};
use crate::task_queue::{QueuedTask, QueuedTaskConversion, TaskQueue};
use crate::task_source::networking::NetworkingTaskSource;
use crate::task_source::TaskSourceName;
use crossbeam_channel::{unbounded, Receiver, Sender};
use devtools_traits::DevtoolScriptControlMsg;
@ -344,7 +345,16 @@ impl DedicatedWorkerGlobalScope {
.referrer_policy(referrer_policy)
.origin(origin);
let runtime = unsafe { new_child_runtime(parent) };
let runtime = unsafe {
if let Some(pipeline_id) = pipeline_id {
new_child_runtime(
parent,
Some(NetworkingTaskSource(parent_sender.clone(), pipeline_id)),
)
} else {
new_child_runtime(parent, None)
}
};
let (devtools_mpsc_chan, devtools_mpsc_port) = unbounded();
ROUTER.route_ipc_receiver_to_crossbeam_sender(

View file

@ -315,7 +315,7 @@ impl ServiceWorkerGlobalScope {
},
};
let runtime = new_rt_and_cx();
let runtime = new_rt_and_cx(None);
let (devtools_mpsc_chan, devtools_mpsc_port) = unbounded();
ROUTER

View file

@ -477,7 +477,7 @@ impl WorkletThread {
global_init: init.global_init,
global_scopes: HashMap::new(),
control_buffer: None,
runtime: new_rt_and_cx(),
runtime: new_rt_and_cx(None),
should_gc: false,
gc_threshold: MIN_GC_THRESHOLD,
});

View file

@ -32,17 +32,20 @@ use crate::dom::response::Response;
use crate::microtask::{EnqueuedPromiseCallback, Microtask, MicrotaskQueue};
use crate::script_thread::trace_thread;
use crate::task::TaskBox;
use crate::task_source::networking::NetworkingTaskSource;
use crate::task_source::{TaskSource, TaskSourceName};
use js::glue::{CollectServoSizes, CreateJobQueue, DeleteJobQueue, JobQueueTraps, SetBuildId};
use js::glue::{RUST_js_GetErrorMessage, StreamConsumerConsumeChunk, StreamConsumerStreamEnd};
use js::glue::{StreamConsumerNoteResponseURLs, StreamConsumerStreamError};
use js::glue::{CollectServoSizes, CreateJobQueue, DeleteJobQueue, DispatchableRun};
use js::glue::{JobQueueTraps, RUST_js_GetErrorMessage, SetBuildId, StreamConsumerConsumeChunk};
use js::glue::{
StreamConsumerNoteResponseURLs, StreamConsumerStreamEnd, StreamConsumerStreamError,
};
use js::jsapi::ContextOptionsRef;
use js::jsapi::Dispatchable;
use js::jsapi::InitConsumeStreamCallback;
use js::jsapi::InitDispatchToEventLoop;
use js::jsapi::MimeType;
use js::jsapi::StreamConsumer as JSStreamConsumer;
use js::jsapi::{BuildIdCharVector, DisableIncrementalGC, GCDescription, GCProgress};
use js::jsapi::{Dispatchable as JSRunnable, Dispatchable_MaybeShuttingDown};
use js::jsapi::{HandleObject, Heap, JobQueue};
use js::jsapi::{JSContext as RawJSContext, JSTracer, SetDOMCallbacks, SetGCSliceCallback};
use js::jsapi::{JSGCInvocationKind, JSGCStatus, JS_AddExtraGCRootsTracer, JS_SetGCCallback};
@ -397,17 +400,23 @@ lazy_static! {
}
#[allow(unsafe_code)]
pub unsafe fn new_child_runtime(parent: ParentRuntime) -> Runtime {
new_rt_and_cx_with_parent(Some(parent))
pub unsafe fn new_child_runtime(
parent: ParentRuntime,
networking_task_source: Option<NetworkingTaskSource>,
) -> Runtime {
new_rt_and_cx_with_parent(Some(parent), networking_task_source)
}
#[allow(unsafe_code)]
pub fn new_rt_and_cx() -> Runtime {
unsafe { new_rt_and_cx_with_parent(None) }
pub fn new_rt_and_cx(networking_task_source: Option<NetworkingTaskSource>) -> Runtime {
unsafe { new_rt_and_cx_with_parent(None, networking_task_source) }
}
#[allow(unsafe_code)]
unsafe fn new_rt_and_cx_with_parent(parent: Option<ParentRuntime>) -> Runtime {
unsafe fn new_rt_and_cx_with_parent(
parent: Option<ParentRuntime>,
networking_task_source: Option<NetworkingTaskSource>,
) -> Runtime {
LiveDOMReferences::initialize();
let runtime = if let Some(parent) = parent {
RustRuntime::create_with_parent(parent)
@ -436,12 +445,26 @@ unsafe fn new_rt_and_cx_with_parent(parent: Option<ParentRuntime>) -> Runtime {
DisableIncrementalGC(cx);
unsafe extern "C" fn dispatch_to_event_loop(
_closure: *mut c_void,
_dispatchable: *mut Dispatchable,
closure: *mut c_void,
dispatchable: *mut JSRunnable,
) -> bool {
false
let networking_task_src: &NetworkingTaskSource = &*(closure as *mut NetworkingTaskSource);
let runnable = Runnable(dispatchable);
let task = task!(dispatch_to_event_loop_message: move || {
runnable.run(RustRuntime::get(), Dispatchable_MaybeShuttingDown::NotShuttingDown);
});
networking_task_src.queue_unconditionally(task).is_ok()
}
if let Some(source) = networking_task_source {
let networking_task_src = Box::new(source);
InitDispatchToEventLoop(
cx,
Some(dispatch_to_event_loop),
Box::into_raw(networking_task_src) as *mut c_void,
);
}
InitDispatchToEventLoop(cx, Some(dispatch_to_event_loop), ptr::null_mut());
InitConsumeStreamCallback(cx, Some(consume_stream), Some(report_stream_error));
@ -939,3 +962,19 @@ unsafe extern "C" fn report_stream_error(_cx: *mut RawJSContext, error_code: usi
RUST_js_GetErrorMessage(ptr::null_mut(), error_code as u32)
);
}
pub struct Runnable(*mut JSRunnable);
#[allow(unsafe_code)]
unsafe impl Sync for Runnable {}
#[allow(unsafe_code)]
unsafe impl Send for Runnable {}
#[allow(unsafe_code)]
impl Runnable {
fn run(&self, cx: *mut RawJSContext, maybe_shutting_down: Dispatchable_MaybeShuttingDown) {
unsafe {
DispatchableRun(cx, self.0, maybe_shutting_down);
}
}
}

View file

@ -1244,7 +1244,12 @@ impl ScriptThread {
replace_surrogates: bool,
user_agent: Cow<'static, str>,
) -> ScriptThread {
let runtime = new_rt_and_cx();
let boxed_script_sender = Box::new(MainThreadScriptChan(chan.clone()));
let runtime = new_rt_and_cx(Some(NetworkingTaskSource(
boxed_script_sender.clone(),
state.id,
)));
let cx = runtime.cx();
unsafe {
@ -1262,8 +1267,6 @@ impl ScriptThread {
// Ask the router to proxy IPC messages from the control port to us.
let control_port = ROUTER.route_ipc_receiver_to_new_crossbeam_receiver(state.control_port);
let boxed_script_sender = Box::new(MainThreadScriptChan(chan.clone()));
let (image_cache_channel, image_cache_port) = unbounded();
let task_queue = TaskQueue::new(port, chan.clone());

View file

@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
expected: TIMEOUT
expected: FAIL
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: FAIL

View file

@ -7,3 +7,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL

View file

@ -1,2 +0,0 @@
[floats-in-table-caption-001.html]
expected: FAIL

View file

@ -5,9 +5,9 @@
[[data-expected-height\] 7]
expected: FAIL
[[data-expected-height\] 1]
[[data-expected-height\] 3]
expected: FAIL
[[data-expected-height\] 2]
[[data-expected-height\] 4]
expected: FAIL

View file

@ -0,0 +1,2 @@
[white-space-002.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[white-space-003.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-height-204.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[background-repeat-round-roundup.xht]
expected: FAIL

View file

@ -293,9 +293,6 @@
[Matching font-stretch: '100%' should prefer '110% 120%' over '115% 116%']
expected: FAIL
[Matching font-stretch: '110%' should prefer '105%' over '100%']
expected: FAIL
[Matching font-weight: '400' should prefer '351 398' over '501 550']
expected: FAIL

View file

@ -1,2 +0,0 @@
[hyphens-out-of-flow-001.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-break-normal-018.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-break-strict-018.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[text-transform-full-size-kana-001.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[text-transform-full-size-kana-002.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[text-transform-full-size-kana-003.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[text-transform-full-size-kana-004.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[trailing-ideographic-space-004.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[word-break-break-all-007.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[word-break-keep-all-006.html]
expected: FAIL

View file

@ -1,5 +1,5 @@
[perspective-interpolation.html]
expected: CRASH
expected: ERROR
[ perspective interpolation]
expected: FAIL

View file

@ -0,0 +1,2 @@
[css-transforms-3d-on-anonymous-block-001.html]
expected: FAIL

View file

@ -1,2 +1,2 @@
[no-transition-from-ua-to-blocking-stylesheet.html]
expected: FAIL
expected: TIMEOUT

View file

@ -1,2 +0,0 @@
[matchMedia-display-none-iframe.html]
expected: ERROR

View file

@ -0,0 +1,7 @@
[offsetTopLeft-border-box.html]
[container: 1]
expected: FAIL
[container: 0]
expected: FAIL

View file

@ -3,6 +3,3 @@
[scroll-behavior: smooth on DIV element]
expected: FAIL
[Instant scrolling while doing history navigation.]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: CRASH

View file

@ -1,2 +0,0 @@
[contenttype_html.html]
expected: CRASH

View file

@ -1,2 +0,0 @@
[contenttype_xml.html]
expected: CRASH

View file

@ -2,7 +2,6 @@
type: testharness
[single-byte-decoder.html?document]
expected: TIMEOUT
[ISO-8859-4: iso_8859-4:1988 (document.characterSet and document.inputEncoding)]
expected: FAIL

View file

@ -117,9 +117,6 @@
[Response: combined response Content-Type: text/html text/plain]
expected: TIMEOUT
[fetch(): separate response Content-Type: text/plain ]
expected: FAIL
[<iframe>: combined response Content-Type: text/plain;charset=gbk text/plain]
expected: FAIL
@ -315,12 +312,15 @@
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL

View file

@ -56,9 +56,6 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript error]
expected: FAIL
[separate text/javascript;charset=windows-1252 text/javascript]
[separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL

View file

@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
[X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
expected: FAIL

View file

@ -8,12 +8,9 @@
expected: FAIL
[Embedded credentials are treated as network errors in new windows.]
expected: FAIL
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
expected: TIMEOUT
[Embedded credentials matching the top-level are not treated as network errors for same-origin URLs.]
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
expected: TIMEOUT
[Embedded credentials matching the top-level are not treated as network errors for relative URLs.]

View file

@ -1,4 +0,0 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -1,4 +1,4 @@
[traverse_the_history_5.html]
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -18,3 +18,6 @@
[Set HTTP URL frame location.protocol to x]
expected: FAIL
[Set data URL frame location.protocol to http+x]
expected: FAIL

View file

@ -1,7 +1,7 @@
[document_domain_access_details.sub.html]
expected: TIMEOUT
[Access allowed if same-origin with no 'document.domain' modification. (Sanity check)]
expected: FAIL
expected: TIMEOUT
[Access is revoked to Window object when we stop being same effective script origin due to document.domain.]
expected: NOTRUN
@ -13,7 +13,7 @@
expected: NOTRUN
[Access not allowed if different-origin with no 'document.domain' modification. (Sanity check)]
expected: FAIL
expected: NOTRUN
[Access disallowed again if same-origin, both set document-domain to existing value, then one sets to parent.]
expected: NOTRUN
@ -28,7 +28,7 @@
expected: NOTRUN
[Access disallowed if same-origin but only one sets document.domain.]
expected: TIMEOUT
expected: NOTRUN
[Access evolves correctly for cross-origin objects when we join up via document.domain and then diverge again.]
expected: NOTRUN

View file

@ -1,5 +1,4 @@
[embedded-opener-remove-frame.html]
expected: TIMEOUT
[opener and "removed" embedded documents]
expected: FAIL
@ -7,5 +6,5 @@
expected: FAIL
[opener of discarded auxiliary browsing context]
expected: TIMEOUT
expected: FAIL

View file

@ -1,20 +1,16 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Element with tabindex should support autofocus]
expected: TIMEOUT
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: FAIL
[Area element should support autofocus]
expected: NOTRUN
expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: NOTRUN
[Non-HTMLElement should not support autofocus]
expected: NOTRUN
expected: FAIL

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_escaping-1.html]
type: testharness
expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,6 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL
expected: TIMEOUT

View file

@ -1,5 +1,6 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
expected: NOTRUN

View file

@ -1,10 +0,0 @@
[non-active-document.html]
[DOMParser]
expected: FAIL
[createHTMLDocument]
expected: FAIL
[<template>]
expected: FAIL

View file

@ -13,6 +13,3 @@
[Check that targeting of rel=noopener with a given name reuses an existing window with that name]
expected: NOTRUN
[Check that rel=noopener with target=_self does a normal load]
expected: FAIL

View file

@ -0,0 +1,2 @@
[resource_timing_buffer_full_eventually.html]
expected: CRASH

View file

@ -1,5 +1,5 @@
[compile.any.worker.html]
expected: TIMEOUT
expected: CRASH
[Invalid code]
expected: NOTRUN
@ -20,22 +20,3 @@
[compile.any.html]
expected: TIMEOUT
[Invalid code]
expected: NOTRUN
[Branding]
expected: TIMEOUT
[Result type]
expected: NOTRUN
[Changing the buffer]
expected: NOTRUN
[Stray argument]
expected: NOTRUN
[Empty buffer]
expected: NOTRUN

View file

@ -1,173 +1,7 @@
[instantiate-bad-imports.any.html]
expected: TIMEOUT
[WebAssembly.instantiate(buffer): Imports argument with missing property: wrong property]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: 1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: undefined]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: true]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: ""]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing an i64 global]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: NaN]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: 1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: symbol "Symbol()"]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: 0.1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: object "[object Object\]"]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: WebAssembly.Global.prototype]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: symbol "Symbol()"]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: 0.1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: true]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Imports argument with missing property: undefined]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: ""]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: symbol "Symbol()"]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Imports argument with missing property: empty object]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: 0.1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: true]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: NaN]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: true]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: null]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype)]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: undefined]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Missing imports argument]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: null]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype)]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: undefined]
expected: TIMEOUT
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: WebAssembly.Table]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: ""]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: ""]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: plain object]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: plain object]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: 1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: null]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: undefined]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: 1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: WebAssembly.Table.prototype]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype)]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: 0.1]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: true]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: WebAssembly.Global]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: symbol "Symbol()"]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: NaN]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: ""]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a global with an incorrectly-typed value: undefined]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: NaN]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing a function with an incorrectly-typed value: null]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Non-object module: null]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: plain object]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing table with an incorrectly-typed value: symbol "Symbol()"]
expected: NOTRUN
[WebAssembly.instantiate(buffer): Importing memory with an incorrectly-typed value: WebAssembly.Memory]
expected: NOTRUN
[instantiate-bad-imports.any.worker.html]
expected: TIMEOUT
expected: CRASH
[WebAssembly.instantiate(buffer): Imports argument with missing property: wrong property]
expected: NOTRUN

View file

@ -1,86 +1,16 @@
[instantiate.any.html]
expected: TIMEOUT
[Invalid arguments]
expected: NOTRUN
[exports and imports: buffer argument]
expected: FAIL
[Invalid code]
expected: NOTRUN
[BufferSource argument]
expected: FAIL
[Branding]
expected: TIMEOUT
[exports and imports: Module argument]
expected: NOTRUN
[Module argument]
expected: FAIL
[Changing the buffer]
expected: NOTRUN
[Empty module with undefined imports argument: BufferSource argument]
expected: NOTRUN
[getter order for imports object: BufferSource argument]
expected: NOTRUN
[Empty module without imports argument: BufferSource argument]
expected: NOTRUN
[Empty module with empty imports argument: BufferSource argument]
expected: NOTRUN
[No imports: Module argument]
expected: NOTRUN
[Empty module with undefined imports argument: Module argument]
expected: NOTRUN
[exports and imports: BufferSource argument]
expected: NOTRUN
[imports: Module argument]
expected: NOTRUN
[Empty module without imports argument: Module argument]
expected: NOTRUN
[No imports: BufferSource argument]
expected: NOTRUN
[Empty module with empty imports argument: Module argument]
expected: NOTRUN
[imports: BufferSource argument]
expected: NOTRUN
[getter order for imports object: Module argument]
expected: NOTRUN
[stray argument: BufferSource argument]
expected: NOTRUN
[stray argument: Module argument]
expected: NOTRUN
[Empty buffer]
expected: NOTRUN
[Synchronous options handling: Module argument]
expected: NOTRUN
[Synchronous options handling: Buffer argument]
expected: NOTRUN
[instantiate.any.worker.html]
expected: TIMEOUT
expected: CRASH
[Invalid arguments]
expected: NOTRUN

View file

@ -1,5 +1,5 @@
[multi-value.any.worker.html]
expected: TIMEOUT
expected: CRASH
[multiple return values from wasm to js]
expected: TIMEOUT
@ -11,13 +11,12 @@
[multi-value.any.html]
expected: TIMEOUT
[multiple return values from wasm to js]
expected: TIMEOUT
expected: FAIL
[multiple return values inside wasm]
expected: NOTRUN
expected: FAIL
[multiple return values from js to wasm]
expected: NOTRUN
expected: FAIL

View file

@ -1,5 +1,5 @@
[idlharness.any.worker.html]
expected: TIMEOUT
expected: CRASH
[Instance must be primary interface of instance]
expected: FAIL
@ -47,49 +47,12 @@
[idlharness.any.html]
expected: TIMEOUT
[Instance must be primary interface of instance]
expected: FAIL
[Stringification of mod]
expected: FAIL
[Module interface: mod must inherit property "imports(Module)" with the proper type]
expected: FAIL
[Stringification of instance]
expected: FAIL
[Module interface: calling customSections(Module, USVString) on mod with too few arguments must throw TypeError]
expected: FAIL
[Module interface: calling imports(Module) on mod with too few arguments must throw TypeError]
expected: FAIL
[Module interface: mod must inherit property "exports(Module)" with the proper type]
expected: FAIL
[Module interface: operation customSections(Module, USVString)]
expected: FAIL
[Module interface: mod must inherit property "customSections(Module, USVString)" with the proper type]
expected: FAIL
[Instance interface: instance must inherit property "exports" with the proper type]
expected: FAIL
[Module interface: calling exports(Module) on mod with too few arguments must throw TypeError]
expected: FAIL
[Module must be primary interface of mod]
expected: FAIL
[Module interface: calling customSections(Module, DOMString) on mod with too few arguments must throw TypeError]
expected: FAIL
[Module interface: mod must inherit property "customSections(Module, DOMString)" with the proper type]
expected: FAIL
[wasm-js-api interfaces.]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[broadcastchannel-success.html]
expected: TIMEOUT
[Structured cloning of WebAssembly.Module: BroadcastChannel within the same agent cluster]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,5 @@
[identity-not-preserved.html]
expected: TIMEOUT
expected: ERROR
[postMessaging to this window does not give back the same WebAssembly.Module]
expected: TIMEOUT
@ -7,5 +7,5 @@
expected: TIMEOUT
[postMessaging to an iframe and back does not give back the same WebAssembly.Module]
expected: TIMEOUT
expected: FAIL

View file

@ -5,7 +5,7 @@
[nested-worker-success.any.worker.html]
expected: TIMEOUT
expected: CRASH
[postMessaging to a dedicated sub-worker allows them to see each others' modifications]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[window-domain-success.sub.html]
expected: TIMEOUT
[postMessaging to a same-origin-domain (but not same-origin) iframe allows them to instantiate]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,4 @@
[window-messagechannel-success.html]
expected: TIMEOUT
[postMessaging to a dedicated worker via MessageChannel allows them to instantiate]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,4 @@
[window-similar-but-cross-origin-success.sub.html]
expected: TIMEOUT
[postMessaging to a not same-origin-domain, but similar origin, iframe allows them to instantiate]
expected: TIMEOUT
expected: FAIL

View file

@ -1,14 +1,13 @@
[window-simple-success.html]
expected: TIMEOUT
[postMessaging to a same-origin opened window allows them to instantiate]
expected: NOTRUN
expected: FAIL
[postMessaging to a same-origin deeply-nested iframe allows them to instantiate]
expected: NOTRUN
expected: FAIL
[postMessaging to a dedicated worker allows them to instantiate]
expected: TIMEOUT
expected: FAIL
[postMessaging to a same-origin iframe allows them to instantiate]
expected: NOTRUN
expected: FAIL

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[import-in-moduleworker.html]
expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL

View file

@ -0,0 +1,2 @@
[Worker-constructor.html]
expected: ERROR

View file

@ -1,5 +1,4 @@
[005.html]
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

View file

@ -1,2 +0,0 @@
[transition_calc_implicit.html]
expected: TIMEOUT

View file

@ -0,0 +1,6 @@
[task_queue_throttling.any.worker.html]
[Throttling the performance timeline task queue.]
expected: FAIL
[task_queue_throttling.any.html]