From 8bc49299c89b15b065d1aa7df00416e8e56b2c49 Mon Sep 17 00:00:00 2001 From: Samson <16504129+sagudev@users.noreply.github.com> Date: Tue, 7 May 2024 08:23:14 +0200 Subject: [PATCH] Revert "script: implement AbortController (#31361)" (#32243) This reverts commit 7fce850cffb72a6fbcf763a40164a9b35b7fa833. --- components/script/dom/abortcontroller.rs | 59 -------- components/script/dom/abortsignal.rs | 139 ------------------ .../dom/bindings/codegen/CodegenRust.py | 10 +- .../dom/bindings/codegen/Configuration.py | 1 - components/script/dom/bindings/codegen/run.py | 5 +- components/script/dom/eventtarget.rs | 14 +- components/script/dom/mediaquerylist.rs | 1 - components/script/dom/mod.rs | 2 - .../script/dom/webidls/AbortController.webidl | 13 -- .../script/dom/webidls/AbortSignal.webidl | 17 --- .../script/dom/webidls/EventTarget.webidl | 1 - .../dom/abort/abort-signal-any.any.js.ini | 61 +------- .../dom/abort/event.any.js.ini | 60 ++++++++ .../AddEventListenerOptions-signal.any.js.ini | 54 +++++++ .../dom/idlharness.any.js.ini | 114 ++++++++++++++ .../dom/idlharness.window.js.ini | 114 ++++++++++++++ .../dom/interface-objects.html.ini | 8 + .../Document-createElement-namespace.html.ini | 62 +++++++- .../api/abort/destroyed-context.html.ini | 2 + .../fetch/api/abort/general.any.js.ini | 110 +++++++++++--- .../fetch/api/abort/keepalive.html.ini | 7 +- .../fetch/api/abort/request.any.js.ini | 72 +++++++++ ...n-deactivate.tentative.https.window.js.ini | 3 +- .../document-state.https.html.ini | 5 +- .../navigateToNew.window.js.ini | 3 + .../navigation-bfcache.window.js.ini | 3 +- .../navigation-helpers.window.js.ini | 3 +- .../navigation-same-document.window.js.ini | 3 + ...load-main-frame-cross-origin.window.js.ini | 3 + ...nload-main-frame-same-origin.window.js.ini | 3 + .../history-state-after-bfcache.window.js.ini | 3 +- ...-timing-attributes.tentative.window.js.ini | 3 +- ...cache-reasons-stay.tentative.window.js.ini | 3 +- ...ion-timing-bfcache.tentative.window.js.ini | 3 +- ...oss-origin-bfcache.tentative.window.js.ini | 3 +- ...ation-timing-fetch.tentative.window.js.ini | 3 +- ...iming-not-bfcached.tentative.window.js.ini | 3 +- ...edirect-on-history.tentative.window.js.ini | 3 +- ...tion-timing-reload.tentative.window.js.ini | 3 +- ...ame-origin-bfcache.tentative.window.js.ini | 3 +- .../wasm/webapi/abort.any.js.ini | 13 ++ ...document-destroyed.tentative.window.js.ini | 2 +- ...et-connection-ccns.tentative.window.js.ini | 3 +- ...-closed-websocket-connection.window.js.ini | 3 +- ...et-connection-ccns.tentative.window.js.ini | 3 +- ...th-open-websocket-connection.window.js.ini | 3 +- .../dom/abort/abort-signal-any.any.js.ini | 61 +------- tests/wpt/meta/dom/abort/event.any.js.ini | 60 ++++++++ .../AddEventListenerOptions-signal.any.js.ini | 54 +++++++ tests/wpt/meta/dom/idlharness.any.js.ini | 114 ++++++++++++++ tests/wpt/meta/dom/idlharness.window.js.ini | 114 ++++++++++++++ tests/wpt/meta/dom/interface-objects.html.ini | 6 + .../api/abort/destroyed-context.html.ini | 2 + .../meta/fetch/api/abort/general.any.js.ini | 110 +++++++++++--- .../meta/fetch/api/abort/keepalive.html.ini | 7 +- .../meta/fetch/api/abort/request.any.js.ini | 72 +++++++++ ...n-deactivate.tentative.https.window.js.ini | 3 +- .../document-state.https.html.ini | 5 +- .../empty-iframe-load-event.html.ini | 6 - ...eshow-events-iframe-contentWindow.html.ini | 2 +- .../navigateToNew.window.js.ini | 3 + .../navigation-bfcache.window.js.ini | 3 +- .../navigation-helpers.window.js.ini | 3 +- .../navigation-same-document.window.js.ini | 3 + ...load-main-frame-cross-origin.window.js.ini | 3 + ...nload-main-frame-same-origin.window.js.ini | 3 + .../history-state-after-bfcache.window.js.ini | 3 +- ...-timing-attributes.tentative.window.js.ini | 3 +- ...cache-reasons-stay.tentative.window.js.ini | 3 +- ...ion-timing-bfcache.tentative.window.js.ini | 3 +- ...oss-origin-bfcache.tentative.window.js.ini | 3 +- ...ation-timing-fetch.tentative.window.js.ini | 3 +- ...iming-not-bfcached.tentative.window.js.ini | 3 +- ...edirect-on-history.tentative.window.js.ini | 3 +- ...tion-timing-reload.tentative.window.js.ini | 3 +- ...ame-origin-bfcache.tentative.window.js.ini | 3 +- ...ame-origin-replace.tentative.window.js.ini | 3 +- tests/wpt/meta/wasm/webapi/abort.any.js.ini | 12 ++ ...document-destroyed.tentative.window.js.ini | 2 +- ...et-connection-ccns.tentative.window.js.ini | 3 +- ...-closed-websocket-connection.window.js.ini | 3 +- ...et-connection-ccns.tentative.window.js.ini | 3 +- ...th-open-websocket-connection.window.js.ini | 3 +- tests/wpt/mozilla/meta/MANIFEST.json | 4 +- .../wpt/mozilla/tests/mozilla/interfaces.html | 2 - .../tests/mozilla/interfaces.worker.js | 2 - 86 files changed, 1193 insertions(+), 517 deletions(-) delete mode 100644 components/script/dom/abortcontroller.rs delete mode 100644 components/script/dom/abortsignal.rs delete mode 100644 components/script/dom/webidls/AbortController.webidl delete mode 100644 components/script/dom/webidls/AbortSignal.webidl create mode 100644 tests/wpt/meta-legacy-layout/dom/interface-objects.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigateToNew.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-same-document.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-cross-origin.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-same-origin.window.js.ini create mode 100644 tests/wpt/meta/dom/interface-objects.html.ini create mode 100644 tests/wpt/meta/fetch/api/abort/destroyed-context.html.ini delete mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini create mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/remote-context-helper-tests/navigateToNew.window.js.ini create mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-same-document.window.js.ini create mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-cross-origin.window.js.ini create mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-same-origin.window.js.ini diff --git a/components/script/dom/abortcontroller.rs b/components/script/dom/abortcontroller.rs deleted file mode 100644 index beaeaece49f..00000000000 --- a/components/script/dom/abortcontroller.rs +++ /dev/null @@ -1,59 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -use dom_struct::dom_struct; -use js::jsapi::Value; -use js::rust::{Handle, HandleObject}; - -use crate::dom::abortsignal::AbortSignal; -use crate::dom::bindings::codegen::Bindings::AbortControllerBinding::AbortControllerMethods; -use crate::dom::bindings::reflector::{reflect_dom_object_with_proto, Reflector}; -use crate::dom::bindings::root::{Dom, DomRoot}; -use crate::dom::globalscope::GlobalScope; -use crate::script_runtime::JSContext; - -#[dom_struct] -pub struct AbortController { - reflector_: Reflector, - signal: Dom, -} - -impl AbortController { - pub fn new_inherited(signal: &AbortSignal) -> AbortController { - AbortController { - reflector_: Reflector::new(), - signal: Dom::from_ref(signal), - } - } - - fn new_with_proto( - global: &GlobalScope, - proto: Option, - ) -> DomRoot { - reflect_dom_object_with_proto( - Box::new(AbortController::new_inherited(&AbortSignal::new(global))), - global, - proto, - ) - } - - #[allow(non_snake_case)] - pub fn Constructor( - global: &GlobalScope, - proto: Option, - ) -> DomRoot { - AbortController::new_with_proto(global, proto) - } -} - -impl AbortControllerMethods for AbortController { - /// - fn Signal(&self) -> DomRoot { - DomRoot::from_ref(&self.signal) - } - /// - fn Abort(&self, _cx: JSContext, reason: Handle<'_, Value>) { - self.signal.signal_abort(reason); - } -} diff --git a/components/script/dom/abortsignal.rs b/components/script/dom/abortsignal.rs deleted file mode 100644 index 75a7568559c..00000000000 --- a/components/script/dom/abortsignal.rs +++ /dev/null @@ -1,139 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -use std::rc::Rc; - -use dom_struct::dom_struct; -use js::conversions::ToJSValConvertible; -use js::jsapi::{ExceptionStackBehavior, Heap, JS_IsExceptionPending}; -use js::jsval::{JSVal, UndefinedValue}; -use js::rust::wrappers::JS_SetPendingException; -use js::rust::HandleValue; - -use crate::dom::bindings::cell::DomRefCell; -use crate::dom::bindings::codegen::Bindings::AbortSignalBinding::AbortSignalMethods; -use crate::dom::bindings::codegen::Bindings::EventListenerBinding::EventListener; -use crate::dom::bindings::codegen::Bindings::EventTargetBinding::EventListenerOptions; -use crate::dom::bindings::inheritance::Castable; -use crate::dom::bindings::reflector::{reflect_dom_object, DomObject}; -use crate::dom::bindings::root::DomRoot; -use crate::dom::bindings::str::DOMString; -use crate::dom::domexception::DOMErrorName; -use crate::dom::event::{Event, EventBubbles, EventCancelable}; -use crate::dom::eventtarget::EventTarget; -use crate::dom::globalscope::GlobalScope; -use crate::dom::types::DOMException; -use crate::script_runtime::JSContext; - -#[derive(JSTraceable, MallocSizeOf)] -pub enum AbortAlgorithm { - RemoveEventListener( - DomRoot, - DOMString, - #[ignore_malloc_size_of = "Rc"] Rc, - #[ignore_malloc_size_of = "generated"] EventListenerOptions, - ), -} -impl AbortAlgorithm { - fn exec(self) { - match self { - Self::RemoveEventListener(target, ty, listener, options) => { - target.remove_event_listener(ty, Some(listener), options) - }, - } - } -} - -#[dom_struct] -pub struct AbortSignal { - event_target: EventTarget, - #[ignore_malloc_size_of = "Defined in rust-mozjs"] - reason: Heap, - abort_algorithms: DomRefCell>, -} - -impl AbortSignal { - pub fn new_inherited() -> Self { - Self { - event_target: EventTarget::new_inherited(), - reason: Heap::default(), - abort_algorithms: DomRefCell::default(), - } - } - pub fn new(global: &GlobalScope) -> DomRoot { - reflect_dom_object(Box::new(Self::new_inherited()), global) - } - /// - pub fn add_abort_algorithm(&self, alg: AbortAlgorithm) { - if !self.Aborted() { - self.abort_algorithms.borrow_mut().push(alg); - } - } - /// - #[allow(unsafe_code)] - pub fn signal_abort(&self, reason: HandleValue) { - // 1. If signal is aborted, then return. - if self.Aborted() { - return; - } - // 2. Set signal’s abort reason to reason if it is given; otherwise to a new "AbortError" DOMException. - let cx = *GlobalScope::get_cx(); - rooted!(in(cx) let mut new_reason = UndefinedValue()); - let reason = if reason.is_undefined() { - let exception = DOMException::new(&self.global(), DOMErrorName::AbortError); - unsafe { - exception.to_jsval(cx, new_reason.handle_mut()); - }; - new_reason.handle() - } else { - reason - }; - self.reason.set(reason.get()); - - // 3. For each algorithm of signal’s abort algorithms: run algorithm. - // 4. Empty signal’s abort algorithms. - for algorithm in self.abort_algorithms.borrow_mut().drain(..) { - algorithm.exec(); - } - - // 5. Fire an event named abort at signal. - let event = Event::new( - &self.global(), - atom!("abort"), - EventBubbles::DoesNotBubble, - EventCancelable::Cancelable, - ); - event.fire(self.upcast()); - // 6. For each dependentSignal of signal’s dependent signals, - // signal abort on dependentSignal with signal’s abort reason. - // TODO - } -} - -impl AbortSignalMethods for AbortSignal { - // https://dom.spec.whatwg.org/#dom-abortsignal-onabort - event_handler!(Abort, GetOnabort, SetOnabort); - /// - fn Aborted(&self) -> bool { - !self.reason.get().is_undefined() - } - /// - fn Reason(&self, _cx: JSContext) -> JSVal { - self.reason.get() - } - #[allow(unsafe_code)] - /// - fn ThrowIfAborted(&self) { - let reason = self.reason.get(); - if !reason.is_undefined() { - let cx = *GlobalScope::get_cx(); - unsafe { - assert!(!JS_IsExceptionPending(cx)); - rooted!(in(cx) let mut thrown = UndefinedValue()); - reason.to_jsval(cx, thrown.handle_mut()); - JS_SetPendingException(cx, thrown.handle(), ExceptionStackBehavior::Capture); - } - } - } -} diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index f9a7b2f5aaa..891f24f95ac 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2167,8 +2167,7 @@ class CGImports(CGWrapper): """ Generates the appropriate import/use statements. """ - def __init__(self, child, descriptors, callbacks, dictionaries, enums, typedefs, imports, config, - current_name=None): + def __init__(self, child, descriptors, callbacks, dictionaries, enums, typedefs, imports, config): """ Adds a set of imports. """ @@ -2270,8 +2269,7 @@ class CGImports(CGWrapper): parentName = descriptor.getParentName() while parentName: descriptor = descriptorProvider.getDescriptor(parentName) - if current_name != descriptor.ifaceName: - extras += [descriptor.path, descriptor.bindingPath] + extras += [descriptor.path, descriptor.bindingPath] parentName = descriptor.getParentName() elif t.isType() and t.isRecord(): extras += ['crate::dom::bindings::record::Record'] @@ -6892,7 +6890,7 @@ class CGBindingRoot(CGThing): DomRoot codegen class for binding generation. Instantiate the class, and call declare or define to generate header or cpp code (respectively). """ - def __init__(self, config, prefix, webIDLFile, name): + def __init__(self, config, prefix, webIDLFile): descriptors = config.getDescriptors(webIDLFile=webIDLFile, hasInterfaceObject=True) # We also want descriptors that have an interface prototype object @@ -6960,7 +6958,7 @@ class CGBindingRoot(CGThing): # These are the global imports (outside of the generated module) curr = CGImports(curr, descriptors=callbackDescriptors, callbacks=mainCallbacks, dictionaries=dictionaries, enums=enums, typedefs=typedefs, - imports=['crate::dom::bindings::import::base::*'], config=config, current_name=name) + imports=['crate::dom::bindings::import::base::*'], config=config) # Add the auto-generated comment. curr = CGWrapper(curr, pre=AUTOGENERATED_WARNING_COMMENT + ALLOWED_WARNINGS) diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index d96106a26dd..e49afb42b67 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -232,7 +232,6 @@ class Descriptor(DescriptorProvider): self.register = desc.get('register', True) self.path = desc.get('path', pathDefault) self.inRealmMethods = [name for name in desc.get('inRealms', [])] - self.ifaceName = ifaceName self.bindingPath = f"crate::dom::bindings::codegen::Bindings::{ifaceName}Binding::{ifaceName}_Binding" self.outerObjectHook = desc.get('outerObjectHook', 'None') self.proxy = False diff --git a/components/script/dom/bindings/codegen/run.py b/components/script/dom/bindings/codegen/run.py index 28e12989771..a632abc1d9b 100644 --- a/components/script/dom/bindings/codegen/run.py +++ b/components/script/dom/bindings/codegen/run.py @@ -52,9 +52,8 @@ def main(): for webidl in webidls: filename = os.path.join(webidls_dir, webidl) - name = webidl[:-len(".webidl")] - prefix = "Bindings/%sBinding" % name - module = CGBindingRoot(config, prefix, filename, name).define() + prefix = "Bindings/%sBinding" % webidl[:-len(".webidl")] + module = CGBindingRoot(config, prefix, filename).define() if module: with open(os.path.join(out_dir, prefix + ".rs"), "wb") as f: f.write(module.encode("utf-8")) diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index 165167751cc..e3a4844dc2a 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -23,7 +23,6 @@ use servo_atoms::Atom; use servo_url::ServoUrl; use super::bindings::trace::HashMapTracedValues; -use crate::dom::abortsignal::AbortAlgorithm; use crate::dom::beforeunloadevent::BeforeUnloadEvent; use crate::dom::bindings::callback::{CallbackContainer, CallbackFunction, ExceptionHandling}; use crate::dom::bindings::cell::DomRefCell; @@ -705,7 +704,7 @@ impl EventTarget { None => return, }; let mut handlers = self.handlers.borrow_mut(); - let entry = match handlers.entry(Atom::from(ty.clone())) { + let entry = match handlers.entry(Atom::from(ty)) { Occupied(entry) => entry.into_mut(), Vacant(entry) => entry.insert(EventListeners(vec![])), }; @@ -717,20 +716,12 @@ impl EventTarget { }; let new_entry = EventListenerEntry { phase, - listener: EventListenerType::Additive(Rc::clone(&listener)), + listener: EventListenerType::Additive(listener), once: options.once, }; if !entry.contains(&new_entry) { entry.push(new_entry); } - if let Some(signal) = options.signal { - signal.add_abort_algorithm(AbortAlgorithm::RemoveEventListener( - DomRoot::from_ref(&self), - ty, - listener, - options.parent, - )); - }; } // https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener @@ -810,7 +801,6 @@ impl From for AddEventListenerOptions { AddEventListenerOptionsOrBoolean::Boolean(capture) => Self { parent: EventListenerOptions { capture }, once: false, - signal: None, }, } } diff --git a/components/script/dom/mediaquerylist.rs b/components/script/dom/mediaquerylist.rs index 86331d72e08..685e66f0390 100644 --- a/components/script/dom/mediaquerylist.rs +++ b/components/script/dom/mediaquerylist.rs @@ -100,7 +100,6 @@ impl MediaQueryListMethods for MediaQueryList { AddEventListenerOptions { parent: EventListenerOptions { capture: false }, once: false, - signal: None, }, ); } diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index 569f7056c3d..3c738b52d3b 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -209,8 +209,6 @@ pub mod types { include!(concat!(env!("OUT_DIR"), "/InterfaceTypes.rs")); } -pub mod abortcontroller; -pub mod abortsignal; pub mod abstractrange; pub mod abstractworker; pub mod abstractworkerglobalscope; diff --git a/components/script/dom/webidls/AbortController.webidl b/components/script/dom/webidls/AbortController.webidl deleted file mode 100644 index f3b9636d650..00000000000 --- a/components/script/dom/webidls/AbortController.webidl +++ /dev/null @@ -1,13 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -// https://dom.spec.whatwg.org/#interface-abortcontroller -[Exposed=*] -interface AbortController { - constructor(); - - [SameObject] readonly attribute AbortSignal signal; - - undefined abort(optional any reason); -}; diff --git a/components/script/dom/webidls/AbortSignal.webidl b/components/script/dom/webidls/AbortSignal.webidl deleted file mode 100644 index 30a2a29e5e6..00000000000 --- a/components/script/dom/webidls/AbortSignal.webidl +++ /dev/null @@ -1,17 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -// https://dom.spec.whatwg.org/#interface-AbortSignal -[Exposed=*] -interface AbortSignal : EventTarget { - // [NewObject] static AbortSignal abort(optional any reason); - // [Exposed=(Window,Worker), NewObject] static AbortSignal timeout([EnforceRange] unsigned long long milliseconds); - // [NewObject] static AbortSignal _any(sequence signals); - - readonly attribute boolean aborted; - readonly attribute any reason; - undefined throwIfAborted(); - - attribute EventHandler onabort; -}; diff --git a/components/script/dom/webidls/EventTarget.webidl b/components/script/dom/webidls/EventTarget.webidl index 3ef976222cd..82e8c967483 100644 --- a/components/script/dom/webidls/EventTarget.webidl +++ b/components/script/dom/webidls/EventTarget.webidl @@ -31,5 +31,4 @@ dictionary EventListenerOptions { dictionary AddEventListenerOptions : EventListenerOptions { // boolean passive = false; boolean once = false; - AbortSignal signal; }; diff --git a/tests/wpt/meta-legacy-layout/dom/abort/abort-signal-any.any.js.ini b/tests/wpt/meta-legacy-layout/dom/abort/abort-signal-any.any.js.ini index acf2ed0c7f0..f1013fd736d 100644 --- a/tests/wpt/meta-legacy-layout/dom/abort/abort-signal-any.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/abort/abort-signal-any.any.js.ini @@ -1,62 +1,5 @@ [abort-signal-any.any.worker.html] - [AbortSignal.any() works with an empty array of signals] - expected: FAIL - - [AbortSignal.any() follows a single signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() follows multiple signals (using AbortController)] - expected: FAIL - - [AbortSignal.any() returns an aborted signal if passed an aborted signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() can be passed the same signal more than once (using AbortController)] - expected: FAIL - - [AbortSignal.any() uses the first instance of a duplicate signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() signals are composable (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with signals returned by AbortSignal.timeout() (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with intermediate signals (using AbortController)] - expected: FAIL - - [Abort events for AbortSignal.any() signals fire in the right order (using AbortController)] - expected: FAIL - + expected: ERROR [abort-signal-any.any.html] - [AbortSignal.any() works with an empty array of signals] - expected: FAIL - - [AbortSignal.any() follows a single signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() follows multiple signals (using AbortController)] - expected: FAIL - - [AbortSignal.any() returns an aborted signal if passed an aborted signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() can be passed the same signal more than once (using AbortController)] - expected: FAIL - - [AbortSignal.any() uses the first instance of a duplicate signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() signals are composable (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with signals returned by AbortSignal.timeout() (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with intermediate signals (using AbortController)] - expected: FAIL - - [Abort events for AbortSignal.any() signals fire in the right order (using AbortController)] - expected: FAIL + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini b/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini index 2b8152719d8..d232779c742 100644 --- a/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini @@ -3,9 +3,33 @@ [AbortController() basics] expected: FAIL + [AbortController abort() should fire event synchronously] + expected: FAIL + + [controller.signal should always return the same object] + expected: FAIL + [controller.abort() should do nothing the second time it is called] expected: FAIL + [event handler should not be called if added after controller.abort()] + expected: FAIL + + [the abort event should have the right properties] + expected: FAIL + + [AbortController abort(reason) should set signal.reason] + expected: FAIL + + [aborting AbortController without reason creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(undefined) creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(null) should set signal.reason] + expected: FAIL + [static aborting signal should have right properties] expected: FAIL @@ -18,18 +42,48 @@ [throwIfAborted() should throw primitive abort.reason if signal aborted] expected: FAIL + [throwIfAborted() should not throw if signal not aborted] + expected: FAIL + [AbortSignal.reason returns the same DOMException] expected: FAIL + [AbortController.signal.reason returns the same DOMException] + expected: FAIL + [event.any.worker.html] type: testharness [AbortController() basics] expected: FAIL + [AbortController abort() should fire event synchronously] + expected: FAIL + + [controller.signal should always return the same object] + expected: FAIL + [controller.abort() should do nothing the second time it is called] expected: FAIL + [event handler should not be called if added after controller.abort()] + expected: FAIL + + [the abort event should have the right properties] + expected: FAIL + + [AbortController abort(reason) should set signal.reason] + expected: FAIL + + [aborting AbortController without reason creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(undefined) creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(null) should set signal.reason] + expected: FAIL + [static aborting signal should have right properties] expected: FAIL @@ -42,5 +96,11 @@ [throwIfAborted() should throw primitive abort.reason if signal aborted] expected: FAIL + [throwIfAborted() should not throw if signal not aborted] + expected: FAIL + [AbortSignal.reason returns the same DOMException] expected: FAIL + + [AbortController.signal.reason returns the same DOMException] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/events/AddEventListenerOptions-signal.any.js.ini b/tests/wpt/meta-legacy-layout/dom/events/AddEventListenerOptions-signal.any.js.ini index a7194da1b36..a21bffac131 100644 --- a/tests/wpt/meta-legacy-layout/dom/events/AddEventListenerOptions-signal.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/events/AddEventListenerOptions-signal.any.js.ini @@ -1,14 +1,68 @@ [AddEventListenerOptions-signal.any.html] + [Passing an AbortSignal to addEventListener works with the once flag] + expected: FAIL + + [Adding then aborting a listener in another listener does not call it] + expected: FAIL + + [Passing an AbortSignal to addEventListener works with the capture flag] + expected: FAIL + [Aborting from a listener does not call future listeners] expected: FAIL + [Passing an AbortSignal to multiple listeners] + expected: FAIL + + [Passing an AbortSignal to addEventListener does not prevent removeEventListener] + expected: FAIL + + [Aborting from a nested listener should remove it] + expected: FAIL + + [Removing a once listener works with a passed signal] + expected: FAIL + [Passing an AbortSignal to addEventListener options should allow removing a listener] expected: FAIL + [Passing null as the signal should throw] + expected: FAIL + + [Passing null as the signal should throw (listener is also null)] + expected: FAIL + [AddEventListenerOptions-signal.any.worker.html] + [Passing an AbortSignal to addEventListener works with the once flag] + expected: FAIL + + [Adding then aborting a listener in another listener does not call it] + expected: FAIL + + [Passing an AbortSignal to addEventListener works with the capture flag] + expected: FAIL + [Aborting from a listener does not call future listeners] expected: FAIL + [Passing an AbortSignal to multiple listeners] + expected: FAIL + + [Passing an AbortSignal to addEventListener does not prevent removeEventListener] + expected: FAIL + + [Aborting from a nested listener should remove it] + expected: FAIL + + [Removing a once listener works with a passed signal] + expected: FAIL + [Passing an AbortSignal to addEventListener options should allow removing a listener] expected: FAIL + + [Passing null as the signal should throw] + expected: FAIL + + [Passing null as the signal should throw (listener is also null)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/idlharness.any.js.ini b/tests/wpt/meta-legacy-layout/dom/idlharness.any.js.ini index 7bac85d76c9..d8a3e1f25dd 100644 --- a/tests/wpt/meta-legacy-layout/dom/idlharness.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/idlharness.any.js.ini @@ -1,58 +1,172 @@ [idlharness.any.worker.html] + [AbortController interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + [Event interface: new Event("foo") must inherit property "composed" with the proper type] expected: FAIL [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] expected: FAIL + [AbortSignal must be primary interface of new AbortController().signal] + expected: FAIL + + [AbortController interface object name] + expected: FAIL + [Event interface: attribute composed] expected: FAIL + [AbortSignal interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object] + expected: FAIL + + [Stringification of new AbortController().signal] + expected: FAIL + + [AbortSignal interface: existence and properties of interface object] + expected: FAIL + [CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any)] expected: FAIL [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] expected: FAIL + [EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type] + expected: FAIL + [EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type] + expected: FAIL + + [AbortSignal interface object name] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object] + expected: FAIL + [Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type] expected: FAIL + [Stringification of new AbortController()] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "signal" with the proper type] + expected: FAIL + [AbortController interface: operation abort()] expected: FAIL + [AbortController interface: existence and properties of interface object] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + [AbortController interface: new AbortController() must inherit property "abort()" with the proper type] expected: FAIL + [AbortSignal interface: attribute aborted] + expected: FAIL + + [AbortController interface: attribute signal] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + [EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: attribute onabort] + expected: FAIL + + [AbortController interface object length] + expected: FAIL + + [AbortSignal interface object length] + expected: FAIL + + [EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [AbortController must be primary interface of new AbortController()] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))" with the proper type] + expected: FAIL + + [EventTarget interface: calling removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + [CustomEvent interface: operation initCustomEvent(DOMString, optional boolean, optional boolean, optional any)] expected: FAIL + [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))" with the proper type] + expected: FAIL + + [EventTarget interface: calling addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + [AbortSignal interface: operation abort()] expected: FAIL [AbortSignal interface: new AbortController().signal must inherit property "abort()" with the proper type] expected: FAIL + [AbortController interface: operation abort(optional any)] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "abort(optional any)" with the proper type] + expected: FAIL + + [AbortController interface: calling abort(optional any) on new AbortController() with too few arguments must throw TypeError] + expected: FAIL + [AbortSignal interface: operation abort(optional any)] expected: FAIL + [AbortSignal interface: attribute reason] + expected: FAIL + + [AbortSignal interface: operation throwIfAborted()] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "abort(optional any)" with the proper type] + expected: FAIL + [AbortSignal interface: calling abort(optional any) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "reason" with the proper type] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "throwIfAborted()" with the proper type] + expected: FAIL + [AbortSignal interface: operation timeout(unsigned long long)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "timeout(unsigned long long)" with the proper type] + expected: FAIL + [AbortSignal interface: calling timeout(unsigned long long) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL [AbortSignal interface: operation any(sequence)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "any(sequence)" with the proper type] + expected: FAIL + [AbortSignal interface: calling any(sequence) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini b/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini index 2c2c86f2e9b..44af306d92c 100644 --- a/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini @@ -5,9 +5,15 @@ [Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type] expected: FAIL + [AbortSignal must be primary interface of new AbortController().signal] + expected: FAIL + [Element interface: element must inherit property "assignedSlot" with the proper type] expected: FAIL + [AbortController interface object name] + expected: FAIL + [Event interface: attribute composed] expected: FAIL @@ -17,9 +23,15 @@ [Text interface: attribute assignedSlot] expected: FAIL + [AbortSignal interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + [Document interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL + [AbortSignal interface: existence and properties of interface object] + expected: FAIL + [Element interface: attribute shadowRoot] expected: FAIL @@ -35,9 +47,15 @@ [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] expected: FAIL + [EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type] + expected: FAIL + [EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface object name] + expected: FAIL + [Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type] expected: FAIL @@ -47,9 +65,15 @@ [AbortController interface: operation abort()] expected: FAIL + [AbortController interface: existence and properties of interface object] + expected: FAIL + [CharacterData interface: operation replaceWith([object Object\],[object Object\])] expected: FAIL + [AbortController interface: attribute signal] + expected: FAIL + [Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError] expected: FAIL @@ -59,6 +83,15 @@ [DocumentType interface: operation replaceWith([object Object\],[object Object\])] expected: FAIL + [AbortSignal interface: attribute aborted] + expected: FAIL + + [AbortController must be primary interface of new AbortController()] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + [CharacterData interface: operation remove()] expected: FAIL @@ -71,9 +104,15 @@ [Element interface: element must inherit property "slot" with the proper type] expected: FAIL + [AbortController interface: new AbortController() must inherit property "signal" with the proper type] + expected: FAIL + [DocumentType interface: operation before([object Object\],[object Object\])] expected: FAIL + [AbortSignal interface object length] + expected: FAIL + [AbortController interface: new AbortController() must inherit property "abort()" with the proper type] expected: FAIL @@ -83,9 +122,18 @@ [DocumentType interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL + [AbortController interface object length] + expected: FAIL + [Element interface: operation before([object Object\],[object Object\])] expected: FAIL + [EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object] + expected: FAIL + [CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any)] expected: FAIL @@ -95,15 +143,33 @@ [DocumentFragment interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type] + expected: FAIL + [Element interface: operation prepend([object Object\],[object Object\])] expected: FAIL [DocumentType interface: operation after([object Object\],[object Object\])] expected: FAIL + [AbortSignal interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + [Document interface: xmlDoc must inherit property "origin" with the proper type] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [AbortSignal interface: attribute onabort] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object] + expected: FAIL + [Event interface: new Event("foo") must inherit property "composed" with the proper type] expected: FAIL @@ -116,6 +182,9 @@ [Element interface: operation remove()] expected: FAIL + [Stringification of new AbortController().signal] + expected: FAIL + [DocumentFragment interface: operation prepend([object Object\],[object Object\])] expected: FAIL @@ -125,6 +194,9 @@ [CharacterData interface: operation before([object Object\],[object Object\])] expected: FAIL + [Stringification of new AbortController()] + expected: FAIL + [CharacterData interface: operation after([object Object\],[object Object\])] expected: FAIL @@ -458,6 +530,15 @@ [Document interface: operation prepend((Node or DOMString)...)] expected: FAIL + [EventTarget interface: calling removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))" with the proper type] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))" with the proper type] + expected: FAIL + [XPathEvaluator interface: operation createExpression(DOMString, optional XPathNSResolver?)] expected: FAIL @@ -503,6 +584,9 @@ [DocumentType interface: operation before((Node or DOMString)...)] expected: FAIL + [EventTarget interface: calling addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + [Document interface: calling createExpression(DOMString, optional XPathNSResolver?) on xmlDoc with too few arguments must throw TypeError] expected: FAIL @@ -674,18 +758,45 @@ [XSLTProcessor interface: new XSLTProcessor() must inherit property "reset()" with the proper type] expected: FAIL + [AbortController interface: operation abort(optional any)] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "abort(optional any)" with the proper type] + expected: FAIL + + [AbortController interface: calling abort(optional any) on new AbortController() with too few arguments must throw TypeError] + expected: FAIL + [AbortSignal interface: operation abort(optional any)] expected: FAIL + [AbortSignal interface: attribute reason] + expected: FAIL + + [AbortSignal interface: operation throwIfAborted()] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "abort(optional any)" with the proper type] + expected: FAIL + [AbortSignal interface: calling abort(optional any) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "reason" with the proper type] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "throwIfAborted()" with the proper type] + expected: FAIL + [idl_test setup] expected: FAIL [AbortSignal interface: operation timeout(unsigned long long)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "timeout(unsigned long long)" with the proper type] + expected: FAIL + [AbortSignal interface: calling timeout(unsigned long long) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL @@ -722,6 +833,9 @@ [AbortSignal interface: operation any(sequence)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "any(sequence)" with the proper type] + expected: FAIL + [AbortSignal interface: calling any(sequence) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/interface-objects.html.ini b/tests/wpt/meta-legacy-layout/dom/interface-objects.html.ini new file mode 100644 index 00000000000..d36a5594af1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/interface-objects.html.ini @@ -0,0 +1,8 @@ +[interface-objects.html] + type: testharness + [Should be able to delete AbortController.] + expected: FAIL + + [Should be able to delete AbortSignal.] + expected: FAIL + diff --git a/tests/wpt/meta-legacy-layout/dom/nodes/Document-createElement-namespace.html.ini b/tests/wpt/meta-legacy-layout/dom/nodes/Document-createElement-namespace.html.ini index da459c39d3e..8e411d9a60a 100644 --- a/tests/wpt/meta-legacy-layout/dom/nodes/Document-createElement-namespace.html.ini +++ b/tests/wpt/meta-legacy-layout/dom/nodes/Document-createElement-namespace.html.ini @@ -1,35 +1,93 @@ [Document-createElement-namespace.html] disabled: extremely frequent intermittent crash type: testharness + [Created element's namespace in empty.xhtml] + expected: FAIL + + [Created element's namespace in empty.xml] + expected: FAIL + [Created element's namespace in empty.svg] expected: FAIL + [Created element's namespace in minimal_html.xhtml] + expected: FAIL + + [Created element's namespace in minimal_html.xml] + expected: FAIL + [Created element's namespace in minimal_html.svg] expected: FAIL + [Created element's namespace in xhtml.xhtml] + expected: FAIL + + [Created element's namespace in xhtml.xml] + expected: FAIL + [Created element's namespace in xhtml.svg] expected: FAIL + [Created element's namespace in svg.xhtml] + expected: FAIL + + [Created element's namespace in svg.xml] + expected: FAIL + [Created element's namespace in svg.svg] expected: FAIL + [Created element's namespace in mathml.xhtml] + expected: FAIL + + [Created element's namespace in mathml.xml] + expected: FAIL + [Created element's namespace in mathml.svg] expected: FAIL + [Created element's namespace in bare_xhtml.xhtml] + expected: FAIL + + [Created element's namespace in bare_xhtml.xml] + expected: FAIL + [Created element's namespace in bare_xhtml.svg] expected: FAIL + [Created element's namespace in bare_svg.xhtml] + expected: FAIL + + [Created element's namespace in bare_svg.xml] + expected: FAIL + [Created element's namespace in bare_svg.svg] expected: FAIL + [Created element's namespace in bare_mathml.xhtml] + expected: FAIL + + [Created element's namespace in bare_mathml.xml] + expected: FAIL + [Created element's namespace in bare_mathml.svg] expected: FAIL + [Created element's namespace in xhtml_ns_removed.xhtml] + expected: FAIL + + [Created element's namespace in xhtml_ns_removed.xml] + expected: FAIL + [Created element's namespace in xhtml_ns_removed.svg] expected: FAIL + [Created element's namespace in xhtml_ns_changed.xhtml] + expected: FAIL + + [Created element's namespace in xhtml_ns_changed.xml] + expected: FAIL + [Created element's namespace in xhtml_ns_changed.svg] expected: FAIL - [Created element's namespace in created SVG document by DOMParser ('image/svg+xml')] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/api/abort/destroyed-context.html.ini b/tests/wpt/meta-legacy-layout/fetch/api/abort/destroyed-context.html.ini index f5368501034..88d469f589b 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/abort/destroyed-context.html.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/abort/destroyed-context.html.ini @@ -1,3 +1,5 @@ [destroyed-context.html] + expected: ERROR [destroyed-context] expected: FAIL + diff --git a/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini index 41b5df5bdf9..1e20bc6ed8e 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini @@ -1,6 +1,5 @@ [general.any.worker.html] type: testharness - expected: TIMEOUT [Untitled] expected: FAIL @@ -13,6 +12,36 @@ [Aborting rejects with AbortError - no-cors] expected: FAIL + [TypeError from request constructor takes priority - RequestInit's window is not null] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL is not valid] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL has credentials] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is navigate] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's referrer is invalid] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's method is forbidden] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is no-cors and method is not simple] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's cache mode is only-if-cached and mode is not same-origin] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode cors] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode no-cors] + expected: FAIL + [TypeError from request constructor takes priority - Bad referrerPolicy init parameter value] expected: FAIL @@ -46,6 +75,9 @@ [Signal retained after unrelated properties are overridden by fetch] expected: FAIL + [Signal removed by setting to null] + expected: FAIL + [Already aborted signal rejects immediately] expected: FAIL @@ -83,31 +115,31 @@ expected: FAIL [Fetch aborted & connection closed when aborted after calling response.arrayBuffer()] - expected: TIMEOUT + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.blob()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.formData()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.json()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.text()] - expected: NOTRUN + expected: FAIL [Stream errors once aborted. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream errors once aborted, after reading. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream will not error if body is empty. It's closed with an empty queue before it errors.] - expected: NOTRUN + expected: FAIL [Readable stream synchronously cancels with AbortError if aborted before reading] - expected: NOTRUN + expected: FAIL [Signal state is cloned] expected: FAIL @@ -115,6 +147,9 @@ [Clone aborts with original controller] expected: FAIL + [TypeError from request constructor takes priority - RequestInit's method is invalid] + expected: FAIL + [Call text() twice on aborted response] expected: FAIL @@ -127,7 +162,6 @@ [general.any.html] type: testharness - expected: TIMEOUT [Untitled] expected: FAIL @@ -140,6 +174,36 @@ [Aborting rejects with AbortError - no-cors] expected: FAIL + [TypeError from request constructor takes priority - RequestInit's window is not null] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL is not valid] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL has credentials] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is navigate] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's referrer is invalid] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's method is forbidden] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is no-cors and method is not simple] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's cache mode is only-if-cached and mode is not same-origin] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode cors] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode no-cors] + expected: FAIL + [TypeError from request constructor takes priority - Bad referrerPolicy init parameter value] expected: FAIL @@ -155,6 +219,9 @@ [TypeError from request constructor takes priority - Bad redirect init parameter value] expected: FAIL + [TypeError from request constructor takes priority - RequestInit's method is invalid] + expected: FAIL + [Request objects have a signal property] expected: FAIL @@ -173,6 +240,9 @@ [Signal retained after unrelated properties are overridden by fetch] expected: FAIL + [Signal removed by setting to null] + expected: FAIL + [Already aborted signal rejects immediately] expected: FAIL @@ -210,31 +280,31 @@ expected: FAIL [Fetch aborted & connection closed when aborted after calling response.arrayBuffer()] - expected: TIMEOUT + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.blob()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.formData()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.json()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.text()] - expected: NOTRUN + expected: FAIL [Stream errors once aborted. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream errors once aborted, after reading. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream will not error if body is empty. It's closed with an empty queue before it errors.] - expected: NOTRUN + expected: FAIL [Readable stream synchronously cancels with AbortError if aborted before reading] - expected: NOTRUN + expected: FAIL [Signal state is cloned] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/api/abort/keepalive.html.ini b/tests/wpt/meta-legacy-layout/fetch/api/abort/keepalive.html.ini index cf0db05c01a..31d9009742b 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/abort/keepalive.html.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/abort/keepalive.html.ini @@ -1,10 +1,5 @@ [keepalive.html] - expected: TIMEOUT + expected: ERROR [keepalive] expected: FAIL - [aborting a keepalive fetch should work] - expected: TIMEOUT - - [aborting a detached keepalive fetch should not do anything] - expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/fetch/api/abort/request.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/abort/request.any.js.ini index bb0e02500d4..809d45f7918 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/abort/request.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/abort/request.any.js.ini @@ -2,9 +2,27 @@ expected: ERROR [request.any.worker.html] + [Calling arrayBuffer() on an aborted request] + expected: FAIL + + [Aborting a request after calling arrayBuffer()] + expected: FAIL + + [Calling arrayBuffer() on an aborted consumed empty request] + expected: FAIL + [Calling arrayBuffer() on an aborted consumed nonempty request] expected: FAIL + [Calling blob() on an aborted request] + expected: FAIL + + [Aborting a request after calling blob()] + expected: FAIL + + [Calling blob() on an aborted consumed empty request] + expected: FAIL + [Calling blob() on an aborted consumed nonempty request] expected: FAIL @@ -14,17 +32,53 @@ [Aborting a request after calling formData()] expected: FAIL + [Calling formData() on an aborted consumed nonempty request] + expected: FAIL + + [Calling json() on an aborted request] + expected: FAIL + + [Aborting a request after calling json()] + expected: FAIL + [Calling json() on an aborted consumed nonempty request] expected: FAIL + [Calling text() on an aborted request] + expected: FAIL + + [Aborting a request after calling text()] + expected: FAIL + + [Calling text() on an aborted consumed empty request] + expected: FAIL + [Calling text() on an aborted consumed nonempty request] expected: FAIL [request.any.html] + [Calling arrayBuffer() on an aborted request] + expected: FAIL + + [Aborting a request after calling arrayBuffer()] + expected: FAIL + + [Calling arrayBuffer() on an aborted consumed empty request] + expected: FAIL + [Calling arrayBuffer() on an aborted consumed nonempty request] expected: FAIL + [Calling blob() on an aborted request] + expected: FAIL + + [Aborting a request after calling blob()] + expected: FAIL + + [Calling blob() on an aborted consumed empty request] + expected: FAIL + [Calling blob() on an aborted consumed nonempty request] expected: FAIL @@ -34,9 +88,27 @@ [Aborting a request after calling formData()] expected: FAIL + [Calling formData() on an aborted consumed nonempty request] + expected: FAIL + + [Calling json() on an aborted request] + expected: FAIL + + [Aborting a request after calling json()] + expected: FAIL + [Calling json() on an aborted consumed nonempty request] expected: FAIL + [Calling text() on an aborted request] + expected: FAIL + + [Aborting a request after calling text()] + expected: FAIL + + [Calling text() on an aborted consumed empty request] + expected: FAIL + [Calling text() on an aborted consumed nonempty request] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini index b846dbfb782..ab5ccba6560 100644 --- a/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini @@ -1,10 +1,9 @@ [send-on-deactivate.tentative.https.window.html] - expected: TIMEOUT [fetchLater() sends on page entering BFCache if BackgroundSync is off.] expected: FAIL [Call fetchLater() when BFCached with activateAfter=0 sends immediately.] - expected: TIMEOUT + expected: FAIL [fetchLater() sends on navigating away a page w/o BFCache.] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini index dbbf7b19da6..2f7885994ac 100644 --- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini @@ -1,7 +1,6 @@ [document-state.https.html] - expected: TIMEOUT [A navigation's initiator origin and referrer are stored in the document state and used in the document repopulation case] - expected: TIMEOUT + expected: FAIL [A navigation's initiator origin and referrer are stored in the document state and used on location.reload()] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigateToNew.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigateToNew.window.js.ini new file mode 100644 index 00000000000..998096a995b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigateToNew.window.js.ini @@ -0,0 +1,3 @@ +[navigateToNew.window.html] + [RemoteContextWrapper navigateToNew] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-bfcache.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-bfcache.window.js.ini index b419ae85ffe..c879ccacb05 100644 --- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-bfcache.window.js.ini +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-bfcache.window.js.ini @@ -1,4 +1,3 @@ [navigation-bfcache.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-helpers.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-helpers.window.js.ini index c6fb23dac85..c487fbea6f9 100644 --- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-helpers.window.js.ini +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-helpers.window.js.ini @@ -1,4 +1,3 @@ [navigation-helpers.window.html] - expected: TIMEOUT [RemoteContextHelper navigation helpers] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-same-document.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-same-document.window.js.ini new file mode 100644 index 00000000000..319da97d542 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/navigation-same-document.window.js.ini @@ -0,0 +1,3 @@ +[navigation-same-document.window.html] + [RemoteContextHelper navigation using BFCache] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-cross-origin.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-cross-origin.window.js.ini new file mode 100644 index 00000000000..c5da400f937 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-cross-origin.window.js.ini @@ -0,0 +1,3 @@ +[unload-main-frame-cross-origin.window.html] + [Unload runs in main frame when navigating cross-origin.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-same-origin.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-same-origin.window.js.ini new file mode 100644 index 00000000000..b1fd74990dc --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/unloading-documents/unload/unload-main-frame-same-origin.window.js.ini @@ -0,0 +1,3 @@ +[unload-main-frame-same-origin.window.html] + [Unload runs in main frame when navigating same-origin.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/history-state-after-bfcache.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/history-state-after-bfcache.window.js.ini index ae1339be926..23780f8ffc7 100644 --- a/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/history-state-after-bfcache.window.js.ini +++ b/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/history-state-after-bfcache.window.js.ini @@ -1,4 +1,3 @@ [history-state-after-bfcache.window.html] - expected: TIMEOUT [Navigating back to a bfcached page does not reset history.state] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-attributes.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-attributes.tentative.window.js.ini index 6b15e0cd684..d1e2fdf757d 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-attributes.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-attributes.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-attributes.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache-reasons-stay.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache-reasons-stay.tentative.window.js.ini index 30842333fdb..092f09c6acc 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache-reasons-stay.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache-reasons-stay.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-bfcache-reasons-stay.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache.tentative.window.js.ini index 873c9b7ef5b..f547a22caf3 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-bfcache.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-cross-origin-bfcache.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-cross-origin-bfcache.tentative.window.js.ini index 09d3ff5a249..5bf9480fc38 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-cross-origin-bfcache.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-cross-origin-bfcache.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-cross-origin-bfcache.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-fetch.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-fetch.tentative.window.js.ini index 7793131cb27..876710cd31f 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-fetch.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-fetch.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-fetch.tentative.window.html] - expected: TIMEOUT [Ensure that ongoing fetch upon entering bfcache blocks bfcache and recorded.] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-not-bfcached.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-not-bfcached.tentative.window.js.ini index 55d58cc0f03..4021b520a8e 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-not-bfcached.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-not-bfcached.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-not-bfcached.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-redirect-on-history.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-redirect-on-history.tentative.window.js.ini index 37f562e68cf..08bdc7a2a4f 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-redirect-on-history.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-redirect-on-history.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-redirect-on-history.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-reload.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-reload.tentative.window.js.ini index 3694a65e93d..9548dd69ac9 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-reload.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-reload.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-reload.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-same-origin-bfcache.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-same-origin-bfcache.tentative.window.js.ini index 295066ea109..223b2dcdeed 100644 --- a/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-same-origin-bfcache.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/performance-timeline/not-restored-reasons/performance-navigation-timing-same-origin-bfcache.tentative.window.js.ini @@ -1,4 +1,3 @@ [performance-navigation-timing-same-origin-bfcache.tentative.window.html] - expected: TIMEOUT [RemoteContextHelper navigation using BFCache] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/wasm/webapi/abort.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/webapi/abort.any.js.ini index aed1f355b93..87102ca31d1 100644 --- a/tests/wpt/meta-legacy-layout/wasm/webapi/abort.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/webapi/abort.any.js.ini @@ -11,6 +11,12 @@ [compileStreaming() synchronously followed by abort should reject with AbortError] expected: FAIL + [compileStreaming() asynchronously racing with abort should succeed or reject with AbortError] + expected: FAIL + + [instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError] + expected: FAIL + [abort.any.html] [instantiateStreaming() on an already-aborted request should reject with AbortError] @@ -24,3 +30,10 @@ [compileStreaming() synchronously followed by abort should reject with AbortError] expected: FAIL + + [compileStreaming() asynchronously racing with abort should succeed or reject with AbortError] + expected: FAIL + + [instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError] + expected: FAIL + diff --git a/tests/wpt/meta-legacy-layout/webmessaging/message-channels/close-event/document-destroyed.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/webmessaging/message-channels/close-event/document-destroyed.tentative.window.js.ini index d8283da007b..730f1a634dd 100644 --- a/tests/wpt/meta-legacy-layout/webmessaging/message-channels/close-event/document-destroyed.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/webmessaging/message-channels/close-event/document-destroyed.tentative.window.js.ini @@ -1,5 +1,5 @@ [document-destroyed.tentative.window.html] - expected: TIMEOUT + expected: ERROR [The context is navigated to a new document and a close event is fired.] expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection-ccns.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection-ccns.tentative.window.js.ini index d72062aa31c..8c33d0c153f 100644 --- a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection-ccns.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection-ccns.tentative.window.js.ini @@ -1,4 +1,3 @@ [back-forward-cache-with-closed-websocket-connection-ccns.tentative.window.html] - expected: TIMEOUT [Testing BFCache support for page with closed WebSocket connection and "Cache-Control: no-store" header.] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection.window.js.ini b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection.window.js.ini index 51d0d8e40fc..55462bf5691 100644 --- a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection.window.js.ini +++ b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-closed-websocket-connection.window.js.ini @@ -1,4 +1,3 @@ [back-forward-cache-with-closed-websocket-connection.window.html] - expected: TIMEOUT [Testing BFCache support for page with closed WebSocket connection.] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection-ccns.tentative.window.js.ini b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection-ccns.tentative.window.js.ini index f960509daad..55898fcbc73 100644 --- a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection-ccns.tentative.window.js.ini +++ b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection-ccns.tentative.window.js.ini @@ -1,4 +1,3 @@ [back-forward-cache-with-open-websocket-connection-ccns.tentative.window.html] - expected: TIMEOUT [Testing BFCache support for page with open WebSocket connection and "Cache-Control: no-store" header.] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection.window.js.ini b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection.window.js.ini index e264ea40343..7b4e24160b9 100644 --- a/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection.window.js.ini +++ b/tests/wpt/meta-legacy-layout/websockets/back-forward-cache-with-open-websocket-connection.window.js.ini @@ -1,4 +1,3 @@ [back-forward-cache-with-open-websocket-connection.window.html] - expected: TIMEOUT [Testing BFCache support for page with open WebSocket connection.] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/dom/abort/abort-signal-any.any.js.ini b/tests/wpt/meta/dom/abort/abort-signal-any.any.js.ini index acf2ed0c7f0..f1013fd736d 100644 --- a/tests/wpt/meta/dom/abort/abort-signal-any.any.js.ini +++ b/tests/wpt/meta/dom/abort/abort-signal-any.any.js.ini @@ -1,62 +1,5 @@ [abort-signal-any.any.worker.html] - [AbortSignal.any() works with an empty array of signals] - expected: FAIL - - [AbortSignal.any() follows a single signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() follows multiple signals (using AbortController)] - expected: FAIL - - [AbortSignal.any() returns an aborted signal if passed an aborted signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() can be passed the same signal more than once (using AbortController)] - expected: FAIL - - [AbortSignal.any() uses the first instance of a duplicate signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() signals are composable (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with signals returned by AbortSignal.timeout() (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with intermediate signals (using AbortController)] - expected: FAIL - - [Abort events for AbortSignal.any() signals fire in the right order (using AbortController)] - expected: FAIL - + expected: ERROR [abort-signal-any.any.html] - [AbortSignal.any() works with an empty array of signals] - expected: FAIL - - [AbortSignal.any() follows a single signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() follows multiple signals (using AbortController)] - expected: FAIL - - [AbortSignal.any() returns an aborted signal if passed an aborted signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() can be passed the same signal more than once (using AbortController)] - expected: FAIL - - [AbortSignal.any() uses the first instance of a duplicate signal (using AbortController)] - expected: FAIL - - [AbortSignal.any() signals are composable (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with signals returned by AbortSignal.timeout() (using AbortController)] - expected: FAIL - - [AbortSignal.any() works with intermediate signals (using AbortController)] - expected: FAIL - - [Abort events for AbortSignal.any() signals fire in the right order (using AbortController)] - expected: FAIL + expected: ERROR diff --git a/tests/wpt/meta/dom/abort/event.any.js.ini b/tests/wpt/meta/dom/abort/event.any.js.ini index b2774494d6f..b7fdb742a6e 100644 --- a/tests/wpt/meta/dom/abort/event.any.js.ini +++ b/tests/wpt/meta/dom/abort/event.any.js.ini @@ -1,7 +1,31 @@ [event.any.html] + [AbortController abort() should fire event synchronously] + expected: FAIL + + [controller.signal should always return the same object] + expected: FAIL + [controller.abort() should do nothing the second time it is called] expected: FAIL + [event handler should not be called if added after controller.abort()] + expected: FAIL + + [the abort event should have the right properties] + expected: FAIL + + [AbortController abort(reason) should set signal.reason] + expected: FAIL + + [aborting AbortController without reason creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(undefined) creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(null) should set signal.reason] + expected: FAIL + [static aborting signal should have right properties] expected: FAIL @@ -14,14 +38,44 @@ [throwIfAborted() should throw primitive abort.reason if signal aborted] expected: FAIL + [throwIfAborted() should not throw if signal not aborted] + expected: FAIL + [AbortSignal.reason returns the same DOMException] expected: FAIL + [AbortController.signal.reason returns the same DOMException] + expected: FAIL + [event.any.worker.html] + [AbortController abort() should fire event synchronously] + expected: FAIL + + [controller.signal should always return the same object] + expected: FAIL + [controller.abort() should do nothing the second time it is called] expected: FAIL + [event handler should not be called if added after controller.abort()] + expected: FAIL + + [the abort event should have the right properties] + expected: FAIL + + [AbortController abort(reason) should set signal.reason] + expected: FAIL + + [aborting AbortController without reason creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(undefined) creates an "AbortError" DOMException] + expected: FAIL + + [AbortController abort(null) should set signal.reason] + expected: FAIL + [static aborting signal should have right properties] expected: FAIL @@ -34,5 +88,11 @@ [throwIfAborted() should throw primitive abort.reason if signal aborted] expected: FAIL + [throwIfAborted() should not throw if signal not aborted] + expected: FAIL + [AbortSignal.reason returns the same DOMException] expected: FAIL + + [AbortController.signal.reason returns the same DOMException] + expected: FAIL diff --git a/tests/wpt/meta/dom/events/AddEventListenerOptions-signal.any.js.ini b/tests/wpt/meta/dom/events/AddEventListenerOptions-signal.any.js.ini index a7194da1b36..a21bffac131 100644 --- a/tests/wpt/meta/dom/events/AddEventListenerOptions-signal.any.js.ini +++ b/tests/wpt/meta/dom/events/AddEventListenerOptions-signal.any.js.ini @@ -1,14 +1,68 @@ [AddEventListenerOptions-signal.any.html] + [Passing an AbortSignal to addEventListener works with the once flag] + expected: FAIL + + [Adding then aborting a listener in another listener does not call it] + expected: FAIL + + [Passing an AbortSignal to addEventListener works with the capture flag] + expected: FAIL + [Aborting from a listener does not call future listeners] expected: FAIL + [Passing an AbortSignal to multiple listeners] + expected: FAIL + + [Passing an AbortSignal to addEventListener does not prevent removeEventListener] + expected: FAIL + + [Aborting from a nested listener should remove it] + expected: FAIL + + [Removing a once listener works with a passed signal] + expected: FAIL + [Passing an AbortSignal to addEventListener options should allow removing a listener] expected: FAIL + [Passing null as the signal should throw] + expected: FAIL + + [Passing null as the signal should throw (listener is also null)] + expected: FAIL + [AddEventListenerOptions-signal.any.worker.html] + [Passing an AbortSignal to addEventListener works with the once flag] + expected: FAIL + + [Adding then aborting a listener in another listener does not call it] + expected: FAIL + + [Passing an AbortSignal to addEventListener works with the capture flag] + expected: FAIL + [Aborting from a listener does not call future listeners] expected: FAIL + [Passing an AbortSignal to multiple listeners] + expected: FAIL + + [Passing an AbortSignal to addEventListener does not prevent removeEventListener] + expected: FAIL + + [Aborting from a nested listener should remove it] + expected: FAIL + + [Removing a once listener works with a passed signal] + expected: FAIL + [Passing an AbortSignal to addEventListener options should allow removing a listener] expected: FAIL + + [Passing null as the signal should throw] + expected: FAIL + + [Passing null as the signal should throw (listener is also null)] + expected: FAIL diff --git a/tests/wpt/meta/dom/idlharness.any.js.ini b/tests/wpt/meta/dom/idlharness.any.js.ini index 571e2a1b294..6424f8a1253 100644 --- a/tests/wpt/meta/dom/idlharness.any.js.ini +++ b/tests/wpt/meta/dom/idlharness.any.js.ini @@ -17,32 +17,146 @@ [Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type] expected: FAIL + [AbortController interface: existence and properties of interface object] + expected: FAIL + + [AbortController interface object length] + expected: FAIL + + [AbortController interface object name] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [AbortController interface: attribute signal] + expected: FAIL + [AbortController interface: operation abort()] expected: FAIL + [AbortController must be primary interface of new AbortController()] + expected: FAIL + + [Stringification of new AbortController()] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "signal" with the proper type] + expected: FAIL + [AbortController interface: new AbortController() must inherit property "abort()" with the proper type] expected: FAIL + [AbortSignal interface: existence and properties of interface object] + expected: FAIL + + [AbortSignal interface object length] + expected: FAIL + + [AbortSignal interface object name] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + [AbortSignal interface: operation abort()] expected: FAIL + [AbortSignal interface: attribute aborted] + expected: FAIL + + [AbortSignal interface: attribute onabort] + expected: FAIL + + [AbortSignal must be primary interface of new AbortController().signal] + expected: FAIL + + [Stringification of new AbortController().signal] + expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "abort()" with the proper type] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))" with the proper type] + expected: FAIL + + [EventTarget interface: calling addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))" with the proper type] + expected: FAIL + + [EventTarget interface: calling removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type] + expected: FAIL + + [EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [AbortController interface: operation abort(optional any)] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "abort(optional any)" with the proper type] + expected: FAIL + + [AbortController interface: calling abort(optional any) on new AbortController() with too few arguments must throw TypeError] + expected: FAIL + [AbortSignal interface: operation abort(optional any)] expected: FAIL + [AbortSignal interface: attribute reason] + expected: FAIL + + [AbortSignal interface: operation throwIfAborted()] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "abort(optional any)" with the proper type] + expected: FAIL + [AbortSignal interface: calling abort(optional any) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "reason" with the proper type] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "throwIfAborted()" with the proper type] + expected: FAIL + [AbortSignal interface: operation timeout(unsigned long long)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "timeout(unsigned long long)" with the proper type] + expected: FAIL + [AbortSignal interface: calling timeout(unsigned long long) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL [AbortSignal interface: operation any(sequence)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "any(sequence)" with the proper type] + expected: FAIL + [AbortSignal interface: calling any(sequence) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL diff --git a/tests/wpt/meta/dom/idlharness.window.js.ini b/tests/wpt/meta/dom/idlharness.window.js.ini index 33041de5be5..3f173557cc7 100644 --- a/tests/wpt/meta/dom/idlharness.window.js.ini +++ b/tests/wpt/meta/dom/idlharness.window.js.ini @@ -28,12 +28,18 @@ [XPathEvaluator interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL + [AbortSignal must be primary interface of new AbortController().signal] + expected: FAIL + [XPathResult interface: constant NUMBER_TYPE on interface object] expected: FAIL [Element interface: element must inherit property "assignedSlot" with the proper type] expected: FAIL + [AbortController interface object name] + expected: FAIL + [Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type] expected: FAIL @@ -46,9 +52,15 @@ [Text interface: attribute assignedSlot] expected: FAIL + [AbortSignal interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + [Document interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL + [AbortSignal interface: existence and properties of interface object] + expected: FAIL + [XPathResult interface: constant STRING_TYPE on interface prototype object] expected: FAIL @@ -58,12 +70,27 @@ [XPathResult interface: document.evaluate("//*", document.body) must inherit property "ORDERED_NODE_ITERATOR_TYPE" with the proper type] expected: FAIL + [EventTarget interface: calling removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))" with the proper type] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type] + expected: FAIL + + [AbortSignal interface object name] + expected: FAIL + [Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type] expected: FAIL [XPathResult interface: document.evaluate("//*", document.body) must inherit property "UNORDERED_NODE_ITERATOR_TYPE" with the proper type] expected: FAIL + [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))" with the proper type] + expected: FAIL + [Element interface: operation attachShadow(ShadowRootInit)] expected: FAIL @@ -79,6 +106,9 @@ [AbortController interface: operation abort()] expected: FAIL + [AbortController interface: existence and properties of interface object] + expected: FAIL + [XPathResult interface: constant UNORDERED_NODE_ITERATOR_TYPE on interface prototype object] expected: FAIL @@ -88,6 +118,9 @@ [XPathResult interface: document.evaluate("//*", document.body) must inherit property "ANY_UNORDERED_NODE_TYPE" with the proper type] expected: FAIL + [AbortController interface: attribute signal] + expected: FAIL + [XPathResult interface: constant UNORDERED_NODE_SNAPSHOT_TYPE on interface prototype object] expected: FAIL @@ -103,6 +136,9 @@ [CharacterData interface: operation before((Node or DOMString)...)] expected: FAIL + [AbortSignal interface: attribute aborted] + expected: FAIL + [XPathResult interface: operation snapshotItem(unsigned long)] expected: FAIL @@ -118,6 +154,12 @@ [Element interface: operation after((Node or DOMString)...)] expected: FAIL + [AbortController must be primary interface of new AbortController()] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + [Element interface: attribute assignedSlot] expected: FAIL @@ -163,6 +205,9 @@ [XPathExpression interface: operation evaluate(Node, optional unsigned short, optional XPathResult?)] expected: FAIL + [AbortController interface: new AbortController() must inherit property "signal" with the proper type] + expected: FAIL + [XPathResult interface: document.evaluate("//*", document.body) must inherit property "iterateNext()" with the proper type] expected: FAIL @@ -187,6 +232,9 @@ [Document interface: calling evaluate(DOMString, Node, optional XPathNSResolver?, optional unsigned short, optional XPathResult?) on new Document() with too few arguments must throw TypeError] expected: FAIL + [AbortController interface object length] + expected: FAIL + [XPathExpression interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL @@ -217,9 +265,15 @@ [DocumentType interface: operation replaceWith((Node or DOMString)...)] expected: FAIL + [EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + [XPathResult interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL + [AbortController interface: existence and properties of interface prototype object] + expected: FAIL + [Document interface: new Document() must inherit property "createNSResolver(Node)" with the proper type] expected: FAIL @@ -256,6 +310,12 @@ [XPathResult interface: constant ORDERED_NODE_SNAPSHOT_TYPE on interface prototype object] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type] + expected: FAIL + + [EventTarget interface: calling addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + [Document interface: calling createExpression(DOMString, optional XPathNSResolver?) on xmlDoc with too few arguments must throw TypeError] expected: FAIL @@ -271,24 +331,36 @@ [XPathEvaluator interface object length] expected: FAIL + [AbortSignal interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + [XPathEvaluator interface: new XPathEvaluator() must inherit property "evaluate(DOMString, Node, optional XPathNSResolver?, optional unsigned short, optional XPathResult?)" with the proper type] expected: FAIL [XPathEvaluator interface: calling evaluate(DOMString, Node, optional XPathNSResolver?, optional unsigned short, optional XPathResult?) on new XPathEvaluator() with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type] + expected: FAIL + [Document interface: calling evaluate(DOMString, Node, optional XPathNSResolver?, optional unsigned short, optional XPathResult?) on xmlDoc with too few arguments must throw TypeError] expected: FAIL [XPathResult interface: constant UNORDERED_NODE_SNAPSHOT_TYPE on interface object] expected: FAIL + [AbortController interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + [XPathResult interface: document.evaluate("//*", document.body) must inherit property "stringValue" with the proper type] expected: FAIL [XPathResult interface: attribute invalidIteratorState] expected: FAIL + [AbortSignal interface: attribute onabort] + expected: FAIL + [Document interface: operation evaluate(DOMString, Node, optional XPathNSResolver?, optional unsigned short, optional XPathResult?)] expected: FAIL @@ -298,9 +370,15 @@ [Document interface: operation createExpression(DOMString, optional XPathNSResolver?)] expected: FAIL + [AbortSignal interface object length] + expected: FAIL + [XPathEvaluator interface: calling createNSResolver(Node) on new XPathEvaluator() with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: existence and properties of interface prototype object] + expected: FAIL + [XPathResult interface: attribute numberValue] expected: FAIL @@ -352,6 +430,9 @@ [XPathResult interface: document.evaluate("//*", document.body) must inherit property "ORDERED_NODE_SNAPSHOT_TYPE" with the proper type] expected: FAIL + [Stringification of new AbortController().signal] + expected: FAIL + [XPathResult interface: constant ANY_UNORDERED_NODE_TYPE on interface prototype object] expected: FAIL @@ -388,6 +469,9 @@ [XPathResult interface: document.evaluate("//*", document.body) must inherit property "FIRST_ORDERED_NODE_TYPE" with the proper type] expected: FAIL + [Stringification of new AbortController()] + expected: FAIL + [XPathExpression interface: calling evaluate(Node, optional unsigned short, optional XPathResult?) on document.createExpression("//*") with too few arguments must throw TypeError] expected: FAIL @@ -553,18 +637,45 @@ [XSLTProcessor interface: new XSLTProcessor() must inherit property "reset()" with the proper type] expected: FAIL + [AbortController interface: operation abort(optional any)] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "abort(optional any)" with the proper type] + expected: FAIL + + [AbortController interface: calling abort(optional any) on new AbortController() with too few arguments must throw TypeError] + expected: FAIL + [AbortSignal interface: operation abort(optional any)] expected: FAIL + [AbortSignal interface: attribute reason] + expected: FAIL + + [AbortSignal interface: operation throwIfAborted()] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "abort(optional any)" with the proper type] + expected: FAIL + [AbortSignal interface: calling abort(optional any) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "reason" with the proper type] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "throwIfAborted()" with the proper type] + expected: FAIL + [idl_test setup] expected: FAIL [AbortSignal interface: operation timeout(unsigned long long)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "timeout(unsigned long long)" with the proper type] + expected: FAIL + [AbortSignal interface: calling timeout(unsigned long long) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL @@ -601,6 +712,9 @@ [AbortSignal interface: operation any(sequence)] expected: FAIL + [AbortSignal interface: new AbortController().signal must inherit property "any(sequence)" with the proper type] + expected: FAIL + [AbortSignal interface: calling any(sequence) on new AbortController().signal with too few arguments must throw TypeError] expected: FAIL diff --git a/tests/wpt/meta/dom/interface-objects.html.ini b/tests/wpt/meta/dom/interface-objects.html.ini new file mode 100644 index 00000000000..57c5a4fb7da --- /dev/null +++ b/tests/wpt/meta/dom/interface-objects.html.ini @@ -0,0 +1,6 @@ +[interface-objects.html] + [Should be able to delete AbortController.] + expected: FAIL + + [Should be able to delete AbortSignal.] + expected: FAIL diff --git a/tests/wpt/meta/fetch/api/abort/destroyed-context.html.ini b/tests/wpt/meta/fetch/api/abort/destroyed-context.html.ini new file mode 100644 index 00000000000..94ac9e3e33e --- /dev/null +++ b/tests/wpt/meta/fetch/api/abort/destroyed-context.html.ini @@ -0,0 +1,2 @@ +[destroyed-context.html] + expected: ERROR diff --git a/tests/wpt/meta/fetch/api/abort/general.any.js.ini b/tests/wpt/meta/fetch/api/abort/general.any.js.ini index e1d17392e46..a15d01c1f53 100644 --- a/tests/wpt/meta/fetch/api/abort/general.any.js.ini +++ b/tests/wpt/meta/fetch/api/abort/general.any.js.ini @@ -5,13 +5,45 @@ expected: ERROR [general.any.html] - expected: TIMEOUT [Aborting rejects with AbortError] expected: FAIL [Aborting rejects with AbortError - no-cors] expected: FAIL + [TypeError from request constructor takes priority - RequestInit's window is not null] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL is not valid] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL has credentials] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is navigate] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's referrer is invalid] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's method is invalid] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's method is forbidden] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is no-cors and method is not simple] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's cache mode is only-if-cached and mode is not same-origin] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode cors] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode no-cors] + expected: FAIL + [TypeError from request constructor takes priority - Bad referrerPolicy init parameter value] expected: FAIL @@ -45,6 +77,9 @@ [Signal retained after unrelated properties are overridden by fetch] expected: FAIL + [Signal removed by setting to null] + expected: FAIL + [Already aborted signal rejects immediately] expected: FAIL @@ -85,31 +120,31 @@ expected: FAIL [Fetch aborted & connection closed when aborted after calling response.arrayBuffer()] - expected: TIMEOUT + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.blob()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.formData()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.json()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.text()] - expected: NOTRUN + expected: FAIL [Stream errors once aborted. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream errors once aborted, after reading. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream will not error if body is empty. It's closed with an empty queue before it errors.] - expected: NOTRUN + expected: FAIL [Readable stream synchronously cancels with AbortError if aborted before reading] - expected: NOTRUN + expected: FAIL [Signal state is cloned] expected: FAIL @@ -125,13 +160,45 @@ [general.any.worker.html] - expected: TIMEOUT [Aborting rejects with AbortError] expected: FAIL [Aborting rejects with AbortError - no-cors] expected: FAIL + [TypeError from request constructor takes priority - RequestInit's window is not null] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL is not valid] + expected: FAIL + + [TypeError from request constructor takes priority - Input URL has credentials] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is navigate] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's referrer is invalid] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's method is invalid] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's method is forbidden] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's mode is no-cors and method is not simple] + expected: FAIL + + [TypeError from request constructor takes priority - RequestInit's cache mode is only-if-cached and mode is not same-origin] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode cors] + expected: FAIL + + [TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode no-cors] + expected: FAIL + [TypeError from request constructor takes priority - Bad referrerPolicy init parameter value] expected: FAIL @@ -165,6 +232,9 @@ [Signal retained after unrelated properties are overridden by fetch] expected: FAIL + [Signal removed by setting to null] + expected: FAIL + [Already aborted signal rejects immediately] expected: FAIL @@ -205,31 +275,31 @@ expected: FAIL [Fetch aborted & connection closed when aborted after calling response.arrayBuffer()] - expected: TIMEOUT + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.blob()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.formData()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.json()] - expected: NOTRUN + expected: FAIL [Fetch aborted & connection closed when aborted after calling response.text()] - expected: NOTRUN + expected: FAIL [Stream errors once aborted. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream errors once aborted, after reading. Underlying connection closed.] - expected: NOTRUN + expected: FAIL [Stream will not error if body is empty. It's closed with an empty queue before it errors.] - expected: NOTRUN + expected: FAIL [Readable stream synchronously cancels with AbortError if aborted before reading] - expected: NOTRUN + expected: FAIL [Signal state is cloned] expected: FAIL diff --git a/tests/wpt/meta/fetch/api/abort/keepalive.html.ini b/tests/wpt/meta/fetch/api/abort/keepalive.html.ini index 46b5a14febd..a96fc65ae90 100644 --- a/tests/wpt/meta/fetch/api/abort/keepalive.html.ini +++ b/tests/wpt/meta/fetch/api/abort/keepalive.html.ini @@ -1,7 +1,2 @@ [keepalive.html] - expected: TIMEOUT - [aborting a keepalive fetch should work] - expected: TIMEOUT - - [aborting a detached keepalive fetch should not do anything] - expected: NOTRUN + expected: ERROR diff --git a/tests/wpt/meta/fetch/api/abort/request.any.js.ini b/tests/wpt/meta/fetch/api/abort/request.any.js.ini index 5d7ed4a13cf..a39255f79d7 100644 --- a/tests/wpt/meta/fetch/api/abort/request.any.js.ini +++ b/tests/wpt/meta/fetch/api/abort/request.any.js.ini @@ -1,7 +1,25 @@ [request.any.html] + [Calling arrayBuffer() on an aborted request] + expected: FAIL + + [Aborting a request after calling arrayBuffer()] + expected: FAIL + + [Calling arrayBuffer() on an aborted consumed empty request] + expected: FAIL + [Calling arrayBuffer() on an aborted consumed nonempty request] expected: FAIL + [Calling blob() on an aborted request] + expected: FAIL + + [Aborting a request after calling blob()] + expected: FAIL + + [Calling blob() on an aborted consumed empty request] + expected: FAIL + [Calling blob() on an aborted consumed nonempty request] expected: FAIL @@ -11,9 +29,27 @@ [Aborting a request after calling formData()] expected: FAIL + [Calling formData() on an aborted consumed nonempty request] + expected: FAIL + + [Calling json() on an aborted request] + expected: FAIL + + [Aborting a request after calling json()] + expected: FAIL + [Calling json() on an aborted consumed nonempty request] expected: FAIL + [Calling text() on an aborted request] + expected: FAIL + + [Aborting a request after calling text()] + expected: FAIL + + [Calling text() on an aborted consumed empty request] + expected: FAIL + [Calling text() on an aborted consumed nonempty request] expected: FAIL @@ -25,9 +61,27 @@ expected: ERROR [request.any.worker.html] + [Calling arrayBuffer() on an aborted request] + expected: FAIL + + [Aborting a request after calling arrayBuffer()] + expected: FAIL + + [Calling arrayBuffer() on an aborted consumed empty request] + expected: FAIL + [Calling arrayBuffer() on an aborted consumed nonempty request] expected: FAIL + [Calling blob() on an aborted request] + expected: FAIL + + [Aborting a request after calling blob()] + expected: FAIL + + [Calling blob() on an aborted consumed empty request] + expected: FAIL + [Calling blob() on an aborted consumed nonempty request] expected: FAIL @@ -37,8 +91,26 @@ [Aborting a request after calling formData()] expected: FAIL + [Calling formData() on an aborted consumed nonempty request] + expected: FAIL + + [Calling json() on an aborted request] + expected: FAIL + + [Aborting a request after calling json()] + expected: FAIL + [Calling json() on an aborted consumed nonempty request] expected: FAIL + [Calling text() on an aborted request] + expected: FAIL + + [Aborting a request after calling text()] + expected: FAIL + + [Calling text() on an aborted consumed empty request] + expected: FAIL + [Calling text() on an aborted consumed nonempty request] expected: FAIL diff --git a/tests/wpt/meta/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini b/tests/wpt/meta/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini index b846dbfb782..ab5ccba6560 100644 --- a/tests/wpt/meta/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini +++ b/tests/wpt/meta/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini @@ -1,10 +1,9 @@ [send-on-deactivate.tentative.https.window.html] - expected: TIMEOUT [fetchLater() sends on page entering BFCache if BackgroundSync is off.] expected: FAIL [Call fetchLater() when BFCached with activateAfter=0 sends immediately.] - expected: TIMEOUT + expected: FAIL [fetchLater() sends on navigating away a page w/o BFCache.] expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini index dbbf7b19da6..2f7885994ac 100644 --- a/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini +++ b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/document-state.https.html.ini @@ -1,7 +1,6 @@ [document-state.https.html] - expected: TIMEOUT [A navigation's initiator origin and referrer are stored in the document state and used in the document repopulation case] - expected: TIMEOUT + expected: FAIL [A navigation's initiator origin and referrer are stored in the document state and used on location.reload()] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini deleted file mode 100644 index 3e07e6b7d1f..00000000000 --- a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[empty-iframe-load-event.html] - [Check execution order from nested timeout] - expected: FAIL - - [Check execution order on load handler] - expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini index ea94ff1ac83..43ceb1d77a6 100644 --- a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini +++ b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini @@ -8,7 +8,7 @@ [load & pageshow events do not fire on contentWindow of