diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs index 9ca2b758bff..80214a67a99 100644 --- a/components/constellation/constellation.rs +++ b/components/constellation/constellation.rs @@ -1279,8 +1279,13 @@ where warn!("constellation got set final url message for dead pipeline"); } }, - FromScriptMsg::PostMessage(browsing_context_id, origin, data) => { - self.handle_post_message_msg(browsing_context_id, origin, data); + FromScriptMsg::PostMessage { + target: browsing_context_id, + source: source_pipeline_id, + target_origin: origin, + data, + } => { + self.handle_post_message_msg(browsing_context_id, source_pipeline_id, origin, data); }, FromScriptMsg::Focus => { self.handle_focus_msg(source_pipeline_id); @@ -2844,6 +2849,7 @@ where fn handle_post_message_msg( &mut self, browsing_context_id: BrowsingContextId, + source_pipeline: PipelineId, origin: Option, data: Vec, ) { @@ -2856,7 +2862,17 @@ where }, Some(browsing_context) => browsing_context.pipeline_id, }; - let msg = ConstellationControlMsg::PostMessage(pipeline_id, origin, data); + let source_browsing_context = match self.pipelines.get(&source_pipeline) { + Some(pipeline) => pipeline.top_level_browsing_context_id, + None => return warn!("PostMessage from closed pipeline {:?}", source_pipeline), + }; + let msg = ConstellationControlMsg::PostMessage { + target: pipeline_id, + source: source_pipeline, + source_browsing_context: source_browsing_context, + target_origin: origin, + data, + }; let result = match self.pipelines.get(&pipeline_id) { Some(pipeline) => pipeline.event_loop.send(msg), None => return warn!("postMessage to closed pipeline {}.", pipeline_id), diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index edcb07cd4a1..92e26bad353 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -424,7 +424,7 @@ impl DedicatedWorkerGlobalScope { JSAutoCompartment::new(scope.get_cx(), scope.reflector().get_jsobject().get()); rooted!(in(scope.get_cx()) let mut message = UndefinedValue()); data.read(scope.upcast(), message.handle_mut()); - MessageEvent::dispatch_jsval(target, scope.upcast(), message.handle(), None); + MessageEvent::dispatch_jsval(target, scope.upcast(), message.handle(), None, None); }, WorkerScriptMsg::Common(msg) => { self.upcast::().process_event(msg); diff --git a/components/script/dom/dissimilaroriginwindow.rs b/components/script/dom/dissimilaroriginwindow.rs index 662b65b8ef5..4814862881a 100644 --- a/components/script/dom/dissimilaroriginwindow.rs +++ b/components/script/dom/dissimilaroriginwindow.rs @@ -203,11 +203,12 @@ impl DissimilarOriginWindow { None => return warn!("postMessage called with no incumbent global"), Some(incumbent) => incumbent, }; - let msg = ScriptMsg::PostMessage( - self.window_proxy.browsing_context_id(), - origin, - data.move_to_arraybuffer(), - ); + let msg = ScriptMsg::PostMessage { + target: self.window_proxy.browsing_context_id(), + source: incumbent.pipeline_id(), + target_origin: origin, + data: data.move_to_arraybuffer(), + }; let _ = incumbent.script_to_constellation_chan().send(msg); } } diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs index 10c912fb8e4..5daaf3a5f7b 100644 --- a/components/script/dom/eventsource.rs +++ b/components/script/dom/eventsource.rs @@ -238,6 +238,7 @@ impl EventSourceContext { false, data.handle(), DOMString::from(self.origin.clone()), + None, event_source.last_event_id.borrow().clone(), ) }; diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs index 65c8203913a..edde48f95e6 100644 --- a/components/script/dom/messageevent.rs +++ b/components/script/dom/messageevent.rs @@ -7,24 +7,27 @@ use crate::dom::bindings::codegen::Bindings::MessageEventBinding; use crate::dom::bindings::codegen::Bindings::MessageEventBinding::MessageEventMethods; use crate::dom::bindings::error::Fallible; use crate::dom::bindings::inheritance::Castable; -use crate::dom::bindings::reflector::reflect_dom_object; -use crate::dom::bindings::root::DomRoot; +use crate::dom::bindings::reflector::{reflect_dom_object, DomObject}; +use crate::dom::bindings::root::{Dom, DomRoot}; use crate::dom::bindings::str::DOMString; use crate::dom::bindings::trace::RootedTraceableBox; use crate::dom::event::Event; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; +use crate::dom::windowproxy::WindowProxy; use dom_struct::dom_struct; -use js::jsapi::{Heap, JSContext}; +use js::jsapi::{Heap, JSContext, JSObject}; use js::jsval::JSVal; use js::rust::HandleValue; use servo_atoms::Atom; +use std::ptr::NonNull; #[dom_struct] pub struct MessageEvent { event: Event, data: Heap, origin: DOMString, + source: Option>, lastEventId: DOMString, } @@ -34,6 +37,7 @@ impl MessageEvent { global, HandleValue::undefined(), DOMString::new(), + None, DOMString::new(), ) } @@ -42,12 +46,14 @@ impl MessageEvent { global: &GlobalScope, data: HandleValue, origin: DOMString, + source: Option<&WindowProxy>, lastEventId: DOMString, ) -> DomRoot { let ev = Box::new(MessageEvent { event: Event::new_inherited(), data: Heap::default(), origin: origin, + source: source.map(Dom::from_ref), lastEventId: lastEventId, }); let ev = reflect_dom_object(ev, global, MessageEventBinding::Wrap); @@ -63,9 +69,10 @@ impl MessageEvent { cancelable: bool, data: HandleValue, origin: DOMString, + source: Option<&WindowProxy>, lastEventId: DOMString, ) -> DomRoot { - let ev = MessageEvent::new_initialized(global, data, origin, lastEventId); + let ev = MessageEvent::new_initialized(global, data, origin, source, lastEventId); { let event = ev.upcast::(); event.init_event(type_, bubbles, cancelable); @@ -78,6 +85,10 @@ impl MessageEvent { type_: DOMString, init: RootedTraceableBox, ) -> Fallible> { + let source = init + .source + .as_ref() + .and_then(|inner| inner.as_ref().map(|source| source.window_proxy())); let ev = MessageEvent::new( global, Atom::from(type_), @@ -85,6 +96,7 @@ impl MessageEvent { init.parent.cancelable, init.data.handle(), init.origin.clone(), + source.as_ref().map(|source| &**source), init.lastEventId.clone(), ); Ok(ev) @@ -97,6 +109,7 @@ impl MessageEvent { scope: &GlobalScope, message: HandleValue, origin: Option<&str>, + source: Option<&WindowProxy>, ) { let messageevent = MessageEvent::new( scope, @@ -105,6 +118,7 @@ impl MessageEvent { false, message, DOMString::from(origin.unwrap_or("")), + source, DOMString::new(), ); messageevent.upcast::().fire(target); @@ -123,6 +137,14 @@ impl MessageEventMethods for MessageEvent { self.origin.clone() } + // https://html.spec.whatwg.org/multipage/#dom-messageevent-source + #[allow(unsafe_code)] + unsafe fn GetSource(&self, _cx: *mut JSContext) -> Option> { + self.source + .as_ref() + .and_then(|source| NonNull::new(source.reflector().get_jsobject().get())) + } + // https://html.spec.whatwg.org/multipage/#dom-messageevent-lasteventid fn LastEventId(&self) -> DOMString { self.lastEventId.clone() diff --git a/components/script/dom/webidls/MessageEvent.webidl b/components/script/dom/webidls/MessageEvent.webidl index 1fa4c924901..c2ef9732096 100644 --- a/components/script/dom/webidls/MessageEvent.webidl +++ b/components/script/dom/webidls/MessageEvent.webidl @@ -8,6 +8,8 @@ interface MessageEvent : Event { readonly attribute any data; readonly attribute DOMString origin; readonly attribute DOMString lastEventId; + // FIXME(#22617): WindowProxy is not exposed in Worker globals + readonly attribute object? source; //readonly attribute (WindowProxy or MessagePort)? source; //readonly attribute MessagePort[]? ports; }; @@ -17,6 +19,7 @@ dictionary MessageEventInit : EventInit { DOMString origin = ""; DOMString lastEventId = ""; //DOMString channel; + Window? source; //(WindowProxy or MessagePort)? source; //sequence ports; }; diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 4344078a017..d03e168e3a1 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -599,6 +599,7 @@ impl TaskOnce for MessageReceivedTask { &global, message.handle(), Some(&ws.origin().ascii_serialization()), + None, ); } } diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 2993a95456a..bcda545a8cb 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -859,14 +859,13 @@ impl WindowMethods for Window { message: HandleValue, origin: DOMString, ) -> ErrorResult { + let source_global = GlobalScope::incumbent().expect("no incumbent global??"); + let source = source_global.as_window(); + // Step 3-5. let origin = match &origin[..] { "*" => None, - "/" => { - // TODO(#12715): Should be the origin of the incumbent settings - // object, not self's. - Some(self.Document().origin().immutable().clone()) - }, + "/" => Some(source.Document().origin().immutable().clone()), url => match ServoUrl::parse(&url) { Ok(url) => Some(url.origin().clone()), Err(_) => return Err(Error::Syntax), @@ -878,7 +877,7 @@ impl WindowMethods for Window { let data = StructuredCloneData::write(cx, message)?; // Step 9. - self.post_message(origin, data); + self.post_message(origin, &*source.window_proxy(), data); Ok(()) } @@ -2194,11 +2193,14 @@ impl Window { pub fn post_message( &self, target_origin: Option, + source: &WindowProxy, serialize_with_transfer_result: StructuredCloneData, ) { let this = Trusted::new(self); + let source = Trusted::new(source); let task = task!(post_serialised_message: move || { let this = this.root(); + let source = source.root(); // Step 7.1. if let Some(target_origin) = target_origin { @@ -2226,7 +2228,8 @@ impl Window { this.upcast(), this.upcast(), message_clone.handle(), - None + None, + Some(&*source), ); }); // FIXME(nox): Why are errors silenced here? diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index 7135e969c0e..aeabbeb2645 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -140,7 +140,7 @@ impl Worker { let _ac = JSAutoCompartment::new(global.get_cx(), target.reflector().get_jsobject().get()); rooted!(in(global.get_cx()) let mut message = UndefinedValue()); data.read(&global, message.handle_mut()); - MessageEvent::dispatch_jsval(target, &global, message.handle(), None); + MessageEvent::dispatch_jsval(target, &global, message.handle(), None, None); } pub fn dispatch_simple_error(address: TrustedWorkerAddress) { diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 6114e353d97..9247ca6afba 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -1419,7 +1419,7 @@ impl ScriptThread { ChangeFrameVisibilityStatus(id, ..) => Some(id), NotifyVisibilityChange(id, ..) => Some(id), Navigate(id, ..) => Some(id), - PostMessage(id, ..) => Some(id), + PostMessage { target: id, .. } => Some(id), UpdatePipelineId(_, _, id, _) => Some(id), UpdateHistoryState(id, ..) => Some(id), RemoveHistoryStates(id, ..) => Some(id), @@ -1592,9 +1592,19 @@ impl ScriptThread { browsing_context_id, visible, ), - ConstellationControlMsg::PostMessage(pipeline_id, origin, data) => { - self.handle_post_message_msg(pipeline_id, origin, data) - }, + ConstellationControlMsg::PostMessage { + target: target_pipeline_id, + source: source_pipeline_id, + source_browsing_context, + target_origin: origin, + data, + } => self.handle_post_message_msg( + target_pipeline_id, + source_pipeline_id, + source_browsing_context, + origin, + data, + ), ConstellationControlMsg::UpdatePipelineId( parent_pipeline_id, browsing_context_id, @@ -2080,12 +2090,33 @@ impl ScriptThread { fn handle_post_message_msg( &self, pipeline_id: PipelineId, + source_pipeline_id: PipelineId, + source_browsing_context: TopLevelBrowsingContextId, origin: Option, data: Vec, ) { match { self.documents.borrow().find_window(pipeline_id) } { - None => return warn!("postMessage after pipeline {} closed.", pipeline_id), - Some(window) => window.post_message(origin, StructuredCloneData::Vector(data)), + None => return warn!("postMessage after target pipeline {} closed.", pipeline_id), + Some(window) => { + // FIXME: synchronously talks to constellation. + // send the required info as part of postmessage instead. + let source = match self.remote_window_proxy( + &*window.global(), + source_browsing_context, + source_pipeline_id, + None, + ) { + None => { + return warn!( + "postMessage after source pipeline {} closed.", + source_pipeline_id, + ); + }, + Some(source) => source, + }; + // FIXME(#22512): enqueues a task; unnecessary delay. + window.post_message(origin, &*source, StructuredCloneData::Vector(data)) + }, } } @@ -2820,6 +2851,21 @@ impl ScriptThread { window.init_document(&document); + // For any similar-origin iframe, ensure that the contentWindow/contentDocument + // APIs resolve to the new window/document as soon as parsing starts. + if let Some(frame) = window_proxy + .frame_element() + .and_then(|e| e.downcast::()) + { + let parent_pipeline = frame.global().pipeline_id(); + self.handle_update_pipeline_id( + parent_pipeline, + window_proxy.browsing_context_id(), + incomplete.pipeline_id, + UpdatePipelineIdReason::Navigation, + ); + } + self.script_sender .send((incomplete.pipeline_id, ScriptMsg::ActivateDocument)) .unwrap(); diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 788a206b63f..b97544f9223 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -284,7 +284,18 @@ pub enum ConstellationControlMsg { /// PipelineId is for the parent, BrowsingContextId is for the nested browsing context Navigate(PipelineId, BrowsingContextId, LoadData, bool), /// Post a message to a given window. - PostMessage(PipelineId, Option, Vec), + PostMessage { + /// The target of the message. + target: PipelineId, + /// The source of the message. + source: PipelineId, + /// The top level browsing context associated with the source pipeline. + source_browsing_context: TopLevelBrowsingContextId, + /// The expected origin of the target. + target_origin: Option, + /// The data to be posted. + data: Vec, + }, /// Updates the current pipeline ID of a given iframe. /// First PipelineId is for the parent, second is the new PipelineId for the frame. UpdatePipelineId( @@ -358,7 +369,7 @@ impl fmt::Debug for ConstellationControlMsg { ChangeFrameVisibilityStatus(..) => "ChangeFrameVisibilityStatus", NotifyVisibilityChange(..) => "NotifyVisibilityChange", Navigate(..) => "Navigate", - PostMessage(..) => "PostMessage", + PostMessage { .. } => "PostMessage", UpdatePipelineId(..) => "UpdatePipelineId", UpdateHistoryState(..) => "UpdateHistoryState", RemoveHistoryStates(..) => "RemoveHistoryStates", diff --git a/components/script_traits/script_msg.rs b/components/script_traits/script_msg.rs index 54b52fb33d0..a63462fd83f 100644 --- a/components/script_traits/script_msg.rs +++ b/components/script_traits/script_msg.rs @@ -134,7 +134,16 @@ pub enum ScriptMsg { /// Abort loading after sending a LoadUrl message. AbortLoadUrl, /// Post a message to the currently active window of a given browsing context. - PostMessage(BrowsingContextId, Option, Vec), + PostMessage { + /// The target of the posted message. + target: BrowsingContextId, + /// The source of the posted message. + source: PipelineId, + /// The expected origin of the target. + target_origin: Option, + /// The data to be posted. + data: Vec, + }, /// Inform the constellation that a fragment was navigated to and whether or not it was a replacement navigation. NavigatedToFragment(ServoUrl, bool), /// HTMLIFrameElement Forward or Back traversal. @@ -209,7 +218,7 @@ impl fmt::Debug for ScriptMsg { LoadComplete => "LoadComplete", LoadUrl(..) => "LoadUrl", AbortLoadUrl => "AbortLoadUrl", - PostMessage(..) => "PostMessage", + PostMessage { .. } => "PostMessage", NavigatedToFragment(..) => "NavigatedToFragment", TraverseHistory(..) => "TraverseHistory", PushHistoryState(..) => "PushHistoryState", diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini index 5eed5ef7070..5a33f9d66d1 100644 --- a/tests/wpt/include.ini +++ b/tests/wpt/include.ini @@ -4,7 +4,7 @@ skip: true [mozilla] skip: false [referrer-policy] - skip: true + skip: false [_webgl] skip: false [2dcontext] @@ -106,7 +106,7 @@ skip: true [quirks] skip: false [referrer-policy] - skip: true + skip: false [resource-timing] skip: false [subresource-integrity] diff --git a/tests/wpt/metadata/FileAPI/url/cross-global-revoke.sub.html.ini b/tests/wpt/metadata/FileAPI/url/cross-global-revoke.sub.html.ini deleted file mode 100644 index 3a23d6ab73f..00000000000 --- a/tests/wpt/metadata/FileAPI/url/cross-global-revoke.sub.html.ini +++ /dev/null @@ -1,8 +0,0 @@ -[cross-global-revoke.sub.html] - expected: TIMEOUT - [It is possible to revoke same-origin blob URLs from different frames.] - expected: TIMEOUT - - [It is not possible to revoke cross-origin blob URLs.] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/FileAPI/url/unicode-origin.sub.html.ini b/tests/wpt/metadata/FileAPI/url/unicode-origin.sub.html.ini index c1a1d86ee47..05e435db569 100644 --- a/tests/wpt/metadata/FileAPI/url/unicode-origin.sub.html.ini +++ b/tests/wpt/metadata/FileAPI/url/unicode-origin.sub.html.ini @@ -1,5 +1,4 @@ [unicode-origin.sub.html] - expected: TIMEOUT [Verify serialization of non-ascii origin in Blob URLs] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/FileAPI/url/url-lifetime.html.ini b/tests/wpt/metadata/FileAPI/url/url-lifetime.html.ini index 394324d9fea..0d9250b9741 100644 --- a/tests/wpt/metadata/FileAPI/url/url-lifetime.html.ini +++ b/tests/wpt/metadata/FileAPI/url/url-lifetime.html.ini @@ -1,8 +1,7 @@ [url-lifetime.html] - expected: TIMEOUT [Terminating worker revokes its URLs] expected: FAIL [Removing an iframe revokes its URLs] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 2341518ad75..c6994498d11 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -650092,67 +650092,67 @@ "support" ], "referrer-policy/css-integration/child-css/external-import-stylesheet.html": [ - "a2d3e8ced0412b97422847d4d81c1403cf9ae52c", + "40f4234ad48d19162cefae933fd0f53a72ff0c19", "testharness" ], "referrer-policy/css-integration/child-css/internal-import-stylesheet.html": [ - "aebf5031484b799989d6b6a9dd72a5bc28575214", + "30c5ea2903094af38dea9a7a565255d178069178", "testharness" ], "referrer-policy/css-integration/child-css/processing-instruction.html": [ - "b6333e2c7b248c3f3b863bd06f1c99abd472f162", + "52a0ded42a185ed5ff6f449879e0ce50f8255868", "testharness" ], "referrer-policy/css-integration/css-test-helper.js": [ - "f5886dbbcbe358438dfbac45c5a0127e9e990ad4", + "788df16a456b83a23de662b710c200042a1e7254", "support" ], "referrer-policy/css-integration/font-face/external-import-stylesheet.html": [ - "c344c56c5bf322f35e8d8c74427d80391e6637d3", + "80e3587ad62f040f2cfb28645437fcbc0e66b415", "testharness" ], "referrer-policy/css-integration/font-face/external-stylesheet.html": [ - "24e4bb99900a556cb0b44144a25c9f8249224eb7", + "a91eb3fe758299229040466deb2d1b0263f77197", "testharness" ], "referrer-policy/css-integration/font-face/internal-import-stylesheet.html": [ - "54e2383423cab8679635d05c256c32e27a94c024", + "a637082a4ce7dff612b223fc8a4c2195db300013", "testharness" ], "referrer-policy/css-integration/font-face/internal-stylesheet.html": [ - "b3869bcebdcdadea3e50d7e8713c853d46ba4816", + "eebd864bc56725b79c1f29c0597466574e2af091", "testharness" ], "referrer-policy/css-integration/font-face/processing-instruction.html": [ - "89ee918e24e14b8ea5d35a7dfaf09610eb89ee11", + "bfc42d9fcbe355514c7bf72ac087d7159439824e", "testharness" ], "referrer-policy/css-integration/image/external-import-stylesheet.html": [ - "0023af31b17ee883e6e9fe6cdd8f09b8eacf83d1", + "80c71b0e215b547d664aee8757d70188c012a9c0", "testharness" ], "referrer-policy/css-integration/image/external-stylesheet.html": [ - "d14769db4a1221bb6e220aa594c4a3b6bab97aa1", + "ba7497b97de6911c149b423bf25305123e97150e", "testharness" ], "referrer-policy/css-integration/image/inline-style.html": [ - "42128ae062093c0e8feb5d90ab62a6cb281cf8e9", + "758b6d91852f67d4e47726815804a5e366fe534d", "testharness" ], "referrer-policy/css-integration/image/internal-import-stylesheet.html": [ - "90003547f4d4e2048cc33f7125d756d42507140d", + "24aa1858304a2130624589b0a64c6f9ec9cac5a1", "testharness" ], "referrer-policy/css-integration/image/internal-stylesheet.html": [ - "943108d66e4b273a6d3be30b2ea8a0edb0490c7b", + "f4567885e1f1e215487a11f1023d117517cd88b8", "testharness" ], "referrer-policy/css-integration/image/presentation-attribute.html": [ - "78401d3ec16866f1e51618bdb5cb028f5eea8490", + "d0a4d96f84c8e48ea5daf5699c7b04bbc877ba86", "testharness" ], "referrer-policy/css-integration/image/processing-instruction.html": [ - "1ca18547dd54c4707250f400999a041f16f77ddf", + "926147be489a85164758dcf644c715e4a5c02de6", "testharness" ], "referrer-policy/css-integration/svg/external-stylesheet.html": [ @@ -650176,7 +650176,7 @@ "testharness" ], "referrer-policy/generic/common.js": [ - "f9bbe42b914c46822ec8b74aacd849789723dd72", + "a16691bccb2543ad68b81e9a16fa261d3cce6a9f", "support" ], "referrer-policy/generic/iframe-inheritance.html": [ @@ -650228,11 +650228,11 @@ "support" ], "referrer-policy/generic/referrer-policy-test-case.js": [ - "4641683cd850da86279dcd062aaf868d346aa2bd", + "2385cc2a1c4e51a2855299e42b69ac12362cd699", "support" ], "referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html": [ - "8fee77f836378ec137c3bf0d554f4def83a5caba", + "1b2b12bf6910e075338462de577dc4228f52a21f", "testharness" ], "referrer-policy/generic/sanity-checker.js": [ @@ -650240,7 +650240,7 @@ "support" ], "referrer-policy/generic/subresource-test/area-navigate.html": [ - "bca7e479fa2ca41505bc73cf74c6e518efa7e947", + "3eb824521b7801c518a7b36218075eb3d74bd639", "testharness" ], "referrer-policy/generic/subresource-test/attr-referrer-invalid-value.html": [ @@ -650248,31 +650248,31 @@ "testharness" ], "referrer-policy/generic/subresource-test/fetch-messaging.html": [ - "046b29e9a3e94753c1a552732b0f44d2883a011d", + "edb159d9eb1cf5eed6af249a40f70d9ecd079d68", "testharness" ], "referrer-policy/generic/subresource-test/iframe-messaging.html": [ - "a3e55707c26f95624baaa54b8778d641cd756d72", + "606e18b281f6c3498573dc9bfaefefca1390026a", "testharness" ], "referrer-policy/generic/subresource-test/image-decoding.html": [ - "448f12b1348fa77aaaebd52b2c3ee6ae9c73a5f6", + "9c50ea6619389dad8ad81c4c2afbeb8030b176db", "testharness" ], "referrer-policy/generic/subresource-test/link-navigate.html": [ - "45e502004d4b640d0b2194e48d060b8d3cc3f120", + "95582f65bac8a3b478cc8cd4fe9b883fb507237f", "testharness" ], "referrer-policy/generic/subresource-test/script-messaging.html": [ - "09c5db6193fed52c60edc2526609c3d501c45da8", + "f73f4406df20694480f82570ed8674fe283ea375", "testharness" ], "referrer-policy/generic/subresource-test/worker-messaging.html": [ - "6d34366b943ad2b3b15f08179a58ef5227c675d0", + "fd7591882e91e7265fd740b9018248d21f13b5b9", "testharness" ], "referrer-policy/generic/subresource-test/xhr-messaging.html": [ - "09f69140098a16bd66a117cf6187fedc862d9233", + "6ef4a9cfd4b98c3562fe7ef6e04eb931073166de", "testharness" ], "referrer-policy/generic/subresource/__init__.py": [ @@ -650400,7 +650400,7 @@ "support" ], "referrer-policy/generic/unsupported-csp-referrer-directive.html": [ - "9627d16559903b5202f842f3c3355a2e7005f65c", + "475efa55091778e747fa36030f7b422b89d6d4b9", "testharness" ], "referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html": [ diff --git a/tests/wpt/metadata/css/CSS2/floats/floats-in-table-caption-001.html.ini b/tests/wpt/metadata/css/CSS2/floats/floats-in-table-caption-001.html.ini deleted file mode 100644 index 86715ffc9c2..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/floats-in-table-caption-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[floats-in-table-caption-001.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/visudet/line-height-204.html.ini b/tests/wpt/metadata/css/CSS2/visudet/line-height-204.html.ini new file mode 100644 index 00000000000..3d28990c283 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/visudet/line-height-204.html.ini @@ -0,0 +1,2 @@ +[line-height-204.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/compositing/mix-blend-mode/mix-blend-mode-paragraph.html.ini b/tests/wpt/metadata/css/compositing/mix-blend-mode/mix-blend-mode-paragraph.html.ini new file mode 100644 index 00000000000..fb5b6fd0006 --- /dev/null +++ b/tests/wpt/metadata/css/compositing/mix-blend-mode/mix-blend-mode-paragraph.html.ini @@ -0,0 +1,2 @@ +[mix-blend-mode-paragraph.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-round-roundup.xht.ini b/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-round-roundup.xht.ini new file mode 100644 index 00000000000..f20284a5396 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-round-roundup.xht.ini @@ -0,0 +1,2 @@ +[background-repeat-round-roundup.xht] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/line-break/line-break-normal-018.xht.ini b/tests/wpt/metadata/css/css-text/line-break/line-break-normal-018.xht.ini deleted file mode 100644 index 693999d7f9d..00000000000 --- a/tests/wpt/metadata/css/css-text/line-break/line-break-normal-018.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[line-break-normal-018.xht] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/line-break/line-break-strict-018.xht.ini b/tests/wpt/metadata/css/css-text/line-break/line-break-strict-018.xht.ini deleted file mode 100644 index bd79bd226f9..00000000000 --- a/tests/wpt/metadata/css/css-text/line-break/line-break-strict-018.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[line-break-strict-018.xht] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-001.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-001.html.ini deleted file mode 100644 index ded993140eb..00000000000 --- a/tests/wpt/metadata/css/css-text/text-transform/text-transform-full-size-kana-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[text-transform-full-size-kana-001.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/trailing-ideographic-space-004.html.ini b/tests/wpt/metadata/css/css-text/white-space/trailing-ideographic-space-004.html.ini deleted file mode 100644 index 240d1283c3a..00000000000 --- a/tests/wpt/metadata/css/css-text/white-space/trailing-ideographic-space-004.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[trailing-ideographic-space-004.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/word-break/word-break-keep-all-006.html.ini b/tests/wpt/metadata/css/css-text/word-break/word-break-keep-all-006.html.ini new file mode 100644 index 00000000000..3a512b4a124 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/word-break/word-break-keep-all-006.html.ini @@ -0,0 +1,2 @@ +[word-break-keep-all-006.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini deleted file mode 100644 index 4c79907309b..00000000000 --- a/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[CaretPosition-001.html] - [Element at (400, 100)] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini index 23f053f4f4a..6f0664e678f 100644 --- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -2,3 +2,6 @@ [The root element is the last element returned for valid queries] expected: FAIL + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini index b49624917df..b6001e8bba9 100644 --- a/tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini +++ b/tests/wpt/metadata/custom-elements/parser/parser-sets-attributes-and-children.html.ini @@ -1,2 +1,2 @@ [parser-sets-attributes-and-children.html] - expected: TIMEOUT + expected: CRASH diff --git a/tests/wpt/metadata/fetch/sec-metadata/iframe.tentative.https.sub.html.ini b/tests/wpt/metadata/fetch/sec-metadata/iframe.tentative.https.sub.html.ini index e54c3f843dc..79dbd81b457 100644 --- a/tests/wpt/metadata/fetch/sec-metadata/iframe.tentative.https.sub.html.ini +++ b/tests/wpt/metadata/fetch/sec-metadata/iframe.tentative.https.sub.html.ini @@ -1,11 +1,10 @@ [iframe.tentative.https.sub.html] - expected: TIMEOUT [Same-origin iframe] - expected: TIMEOUT + expected: FAIL [Same-site iframe] - expected: TIMEOUT + expected: FAIL [Cross-site iframe] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/fetch/sec-metadata/xslt.tentative.https.sub.html.ini b/tests/wpt/metadata/fetch/sec-metadata/xslt.tentative.https.sub.html.ini index 569ed0b3546..c07bd4dac16 100644 --- a/tests/wpt/metadata/fetch/sec-metadata/xslt.tentative.https.sub.html.ini +++ b/tests/wpt/metadata/fetch/sec-metadata/xslt.tentative.https.sub.html.ini @@ -1,2 +1,10 @@ [xslt.tentative.https.sub.html] - expected: TIMEOUT + [Same-Origin xslt] + expected: FAIL + + [Cross-site xslt] + expected: FAIL + + [Same-site xslt] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini index e0e97f1c6b1..f5118b7d9f5 100644 --- a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini +++ b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini @@ -8,7 +8,7 @@ expected: FAIL [Embedded credentials are treated as network errors in new windows.] - expected: TIMEOUT + expected: FAIL [Embedded credentials matching the top-level are not treated as network errors for relative URLs.] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/006.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/006.html.ini new file mode 100644 index 00000000000..c8544361068 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/006.html.ini @@ -0,0 +1,4 @@ +[006.html] + [Link with onclick form submit and href navigation ] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_feature_policy.tentative.sub.html.ini b/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_feature_policy.tentative.sub.html.ini index 310f1af3ccf..fc9081cad22 100644 --- a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_feature_policy.tentative.sub.html.ini +++ b/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_feature_policy.tentative.sub.html.ini @@ -1,11 +1,4 @@ [document_domain_feature_policy.tentative.sub.html] - expected: TIMEOUT - [Default "document-domain" feature policy ["*"\] allows cross-origin iframes.] - expected: TIMEOUT - - [Default "document-domain" feature policy ["*"\] allows same-origin iframes.] - expected: TIMEOUT - [Feature policy "document-domain" can be disabled in cross-origin iframes using "allow" attribute.] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html.ini b/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html.ini index da01e02fc55..64ca3ef9d8d 100644 --- a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html.ini +++ b/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html.ini @@ -1,15 +1,14 @@ [document_domain_setter_null.tentative.html] type: testharness - expected: TIMEOUT [Access allowed with no 'document.domain' modification. (Sanity check)] - expected: TIMEOUT + expected: FAIL [No access when frame sets a `null` 'document.domain'.] - expected: NOTRUN + expected: FAIL [No access when parent sets a `null` 'document.domain'.] - expected: NOTRUN + expected: FAIL [No access when both sides set a `null` 'document.domain'.] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini index 14e2d7593e4..a70e9dbad4d 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for feature `height`] expected: FAIL + [features "height=405*3" should set "height=405"] + expected: FAIL + + [features "height=405.32" should set "height=405"] + expected: FAIL + + [features "height=405e1" should set "height=405"] + expected: FAIL + + [features "height=405/5" should set "height=405"] + expected: FAIL + + [features "height=405^4" should set "height=405"] + expected: FAIL + + [features "height=405.5" should set "height=405"] + expected: FAIL + + [features "height=405e-1" should set "height=405"] + expected: FAIL + + [features "height=405 " should set "height=405"] + expected: FAIL + + [features "height=405LLl" should set "height=405"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini index fed8fba4a3d..779531b4a98 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for legacy feature `innerheight`] expected: FAIL + [features "innerheight=405e-1" should set "height=405"] + expected: FAIL + + [features "innerheight=405LLl" should set "height=405"] + expected: FAIL + + [features "innerheight=405^4" should set "height=405"] + expected: FAIL + + [features "innerheight=405e1" should set "height=405"] + expected: FAIL + + [features "innerheight=405 " should set "height=405"] + expected: FAIL + + [features "innerheight=405/5" should set "height=405"] + expected: FAIL + + [features "innerheight=405.32" should set "height=405"] + expected: FAIL + + [features "innerheight=405.5" should set "height=405"] + expected: FAIL + + [features "innerheight=405*3" should set "height=405"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini index 8b35ad53d15..7a1b258d52e 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for legacy feature `innerwidth`] expected: FAIL + [features "innerwidth=405e-1" should set "width=405"] + expected: FAIL + + [features "innerwidth=405*3" should set "width=405"] + expected: FAIL + + [features "innerwidth=405.5" should set "width=405"] + expected: FAIL + + [features "innerwidth=405e1" should set "width=405"] + expected: FAIL + + [features "innerwidth=405.32" should set "width=405"] + expected: FAIL + + [features "innerwidth=405 " should set "width=405"] + expected: FAIL + + [features "innerwidth=405LLl" should set "width=405"] + expected: FAIL + + [features "innerwidth=405/5" should set "width=405"] + expected: FAIL + + [features "innerwidth=405^4" should set "width=405"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini index 64bf0a8d345..caba4124f0b 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for feature `left`] expected: FAIL + [features "left=105e1" should set "left=105"] + expected: FAIL + + [features "left=105 " should set "left=105"] + expected: FAIL + + [features "left=105/5" should set "left=105"] + expected: FAIL + + [features "left=105e-1" should set "left=105"] + expected: FAIL + + [features "left=105^4" should set "left=105"] + expected: FAIL + + [features "left=105LLl" should set "left=105"] + expected: FAIL + + [features "left=105.32" should set "left=105"] + expected: FAIL + + [features "left=105*3" should set "left=105"] + expected: FAIL + + [features "left=105.5" should set "left=105"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini index d6c76d5a550..9ace8a4cbdb 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for legacy feature `screenx`] expected: FAIL + [features "screenx=105.5" should set "left=105"] + expected: FAIL + + [features "screenx=105e1" should set "left=105"] + expected: FAIL + + [features "screenx=105 " should set "left=105"] + expected: FAIL + + [features "screenx=105*3" should set "left=105"] + expected: FAIL + + [features "screenx=105e-1" should set "left=105"] + expected: FAIL + + [features "screenx=105^4" should set "left=105"] + expected: FAIL + + [features "screenx=105LLl" should set "left=105"] + expected: FAIL + + [features "screenx=105/5" should set "left=105"] + expected: FAIL + + [features "screenx=105.32" should set "left=105"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini index bf6d1eb3fed..a82bd0f981a 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for legacy feature `screeny`] expected: FAIL + [features "screeny=405^4" should set "height=405"] + expected: FAIL + + [features "screeny=405e-1" should set "height=405"] + expected: FAIL + + [features "screeny=405LLl" should set "height=405"] + expected: FAIL + + [features "screeny=405e1" should set "height=405"] + expected: FAIL + + [features "screeny=405 " should set "height=405"] + expected: FAIL + + [features "screeny=405/5" should set "height=405"] + expected: FAIL + + [features "screeny=405*3" should set "height=405"] + expected: FAIL + + [features "screeny=405.32" should set "height=405"] + expected: FAIL + + [features "screeny=405.5" should set "height=405"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini index 252d8d53363..10f617db69e 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for feature `top`] expected: FAIL + [features "top=105/5" should set "top=105"] + expected: FAIL + + [features "top=105*3" should set "top=105"] + expected: FAIL + + [features "top=105LLl" should set "top=105"] + expected: FAIL + + [features "top=105e-1" should set "top=105"] + expected: FAIL + + [features "top=105.32" should set "top=105"] + expected: FAIL + + [features "top=105e1" should set "top=105"] + expected: FAIL + + [features "top=105 " should set "top=105"] + expected: FAIL + + [features "top=105^4" should set "top=105"] + expected: FAIL + + [features "top=105.5" should set "top=105"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini index 3cdeaa95031..28f93ee71b5 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini @@ -3,3 +3,30 @@ [HTML: window.open `features`: non-integer values for feature `width`] expected: FAIL + [features "width=405^4" should set "width=405"] + expected: FAIL + + [features "width=405.5" should set "width=405"] + expected: FAIL + + [features "width=405e1" should set "width=405"] + expected: FAIL + + [features "width=405 " should set "width=405"] + expected: FAIL + + [features "width=405.32" should set "width=405"] + expected: FAIL + + [features "width=405LLl" should set "width=405"] + expected: FAIL + + [features "width=405*3" should set "width=405"] + expected: FAIL + + [features "width=405e-1" should set "width=405"] + expected: FAIL + + [features "width=405/5" should set "width=405"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html.ini b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html.ini index be860915fb5..8bdf0f7bd08 100644 --- a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html.ini +++ b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html.ini @@ -1,11 +1,7 @@ [frameElement.sub.html] - expected: TIMEOUT [The window's frameElement attribute must return its container element if it is a nested browsing context] expected: FAIL [The SecurityError must be thrown if the window accesses to frameElement attribute of a Window which does not have the same effective script origin] expected: FAIL - [The window's frameElement attribute must return null if the container's document does not have the same effective script origin] - expected: NOTRUN - diff --git a/tests/wpt/metadata/html/browsers/windows/targeting-with-embedded-null-in-target.html.ini b/tests/wpt/metadata/html/browsers/windows/targeting-with-embedded-null-in-target.html.ini deleted file mode 100644 index ddddc94574b..00000000000 --- a/tests/wpt/metadata/html/browsers/windows/targeting-with-embedded-null-in-target.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[targeting-with-embedded-null-in-target.html] - [Targeting with embedded null in target] - expected: FAIL - diff --git a/tests/wpt/metadata/html/dom/interfaces.https.html.ini b/tests/wpt/metadata/html/dom/interfaces.https.html.ini index 18d6ddab4c4..e3cb5d2775d 100644 --- a/tests/wpt/metadata/html/dom/interfaces.https.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.https.html.ini @@ -6792,9 +6792,6 @@ [HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type] expected: FAIL - [HTMLMediaElement interface: document.createElement("video") must inherit property "volume" with the proper type] - expected: PASS - [HTMLMediaElement interface: document.createElement("video") must inherit property "muted" with the proper type] expected: FAIL @@ -6837,9 +6834,6 @@ [HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type] expected: FAIL - [HTMLMediaElement interface: document.createElement("audio") must inherit property "volume" with the proper type] - expected: PASS - [HTMLMediaElement interface: document.createElement("audio") must inherit property "muted" with the proper type] expected: FAIL @@ -6882,9 +6876,6 @@ [HTMLMediaElement interface: new Audio() must inherit property "controls" with the proper type] expected: FAIL - [HTMLMediaElement interface: new Audio() must inherit property "volume" with the proper type] - expected: PASS - [HTMLMediaElement interface: new Audio() must inherit property "muted" with the proper type] expected: FAIL @@ -7005,9 +6996,6 @@ [HTMLMediaElement interface: attribute controls] expected: FAIL - [HTMLMediaElement interface: attribute volume] - expected: PASS - [HTMLMediaElement interface: attribute muted] expected: FAIL @@ -10730,9 +10718,6 @@ [ImageBitmap interface: operation close()] expected: FAIL - [MessageEvent interface: attribute source] - expected: FAIL - [MessageEvent interface: attribute ports] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html.ini index 438eaaa18bd..f5edfc06313 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html.ini @@ -3,6 +3,3 @@ [Check that sandboxed iframe cannot perform navigation on the top\n frame when allow-top-navigation is not set] expected: FAIL - [Frames without `allow-top-navigation` should not be able to navigate the top frame.] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index f42f518d257..fc37df7e3fa 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,5 +1,6 @@ [iframe_sandbox_popups_escaping-1.html] type: testharness + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index 2cda2cc95ad..c6f45be1eb2 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_escaping-2.html] - type: testharness + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index 3f7e3e9544f..9df1ac56f2a 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,5 +1,6 @@ [iframe_sandbox_popups_nonescaping-1.html] type: testharness + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini deleted file mode 100644 index 8cc42056d34..00000000000 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini +++ /dev/null @@ -1,10 +0,0 @@ -[non-active-document.html] - [DOMParser] - expected: FAIL - - [createHTMLDocument] - expected: FAIL - - [