diff options
34 files changed, 454 insertions, 904 deletions
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs index 8cb82a5cdd5..19e70c90bfc 100644 --- a/components/constellation/constellation.rs +++ b/components/constellation/constellation.rs @@ -42,7 +42,7 @@ use rand::{Rng, SeedableRng, StdRng, random}; use script_traits::{AnimationState, AnimationTickType, CompositorEvent}; use script_traits::{ConstellationControlMsg, ConstellationMsg as FromCompositorMsg}; use script_traits::{DocumentState, LayoutControlMsg, LoadData}; -use script_traits::{IFrameLoadInfo, IFrameSandboxState, TimerEventRequest}; +use script_traits::{IFrameLoadInfo, IFrameLoadInfoWithData, IFrameSandboxState, TimerEventRequest}; use script_traits::{LayoutMsg as FromLayoutMsg, ScriptMsg as FromScriptMsg, ScriptThreadFactory}; use script_traits::{LogEntry, ServiceWorkerMsg, webdriver_msg}; use script_traits::{MozBrowserErrorType, MozBrowserEvent, WebDriverCommandMsg, WindowSizeData}; @@ -914,11 +914,17 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF> } FromScriptMsg::ScriptLoadedURLInIFrame(load_info) => { debug!("constellation got iframe URL load message {:?} {:?} {:?}", - load_info.parent_pipeline_id, + load_info.info.parent_pipeline_id, load_info.old_pipeline_id, - load_info.new_pipeline_id); + load_info.info.new_pipeline_id); self.handle_script_loaded_url_in_iframe_msg(load_info); } + FromScriptMsg::ScriptLoadedAboutBlankInIFrame(load_info, lc) => { + debug!("constellation got loaded `about:blank` in iframe message {:?} {:?}", + load_info.parent_pipeline_id, + load_info.new_pipeline_id); + self.handle_script_loaded_about_blank_in_iframe_msg(load_info, lc); + } FromScriptMsg::ChangeRunningAnimationsState(pipeline_id, animation_state) => { self.handle_change_running_animations_state(pipeline_id, animation_state) } @@ -1363,14 +1369,14 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF> // will result in a new pipeline being spawned and a frame tree being added to // parent_pipeline_id's frame tree's children. This message is never the result of a // page navigation. - fn handle_script_loaded_url_in_iframe_msg(&mut self, load_info: IFrameLoadInfo) { + fn handle_script_loaded_url_in_iframe_msg(&mut self, load_info: IFrameLoadInfoWithData) { let (load_data, window_size, is_private) = { let old_pipeline = load_info.old_pipeline_id .and_then(|old_pipeline_id| self.pipelines.get(&old_pipeline_id)); - let source_pipeline = match self.pipelines.get(&load_info.parent_pipeline_id) { + let source_pipeline = match self.pipelines.get(&load_info.info.parent_pipeline_id) { Some(source_pipeline) => source_pipeline, - None => return warn!("Script loaded url in closed iframe {}.", load_info.parent_pipeline_id), + None => return warn!("Script loaded url in closed iframe {}.", load_info.info.parent_pipeline_id), }; // If no url is specified, reload. @@ -1384,7 +1390,7 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF> LoadData::new(url, None, None) }); - let is_private = load_info.is_private || source_pipeline.is_private; + let is_private = load_info.info.is_private || source_pipeline.is_private; let window_size = old_pipeline.and_then(|old_pipeline| old_pipeline.size); @@ -1396,20 +1402,65 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF> }; // Create the new pipeline, attached to the parent and push to pending frames - self.new_pipeline(load_info.new_pipeline_id, - load_info.frame_id, - Some((load_info.parent_pipeline_id, load_info.frame_type)), + self.new_pipeline(load_info.info.new_pipeline_id, + load_info.info.frame_id, + Some((load_info.info.parent_pipeline_id, load_info.info.frame_type)), window_size, load_data, load_info.sandbox, is_private); self.pending_frames.push(FrameChange { - frame_id: load_info.frame_id, + frame_id: load_info.info.frame_id, old_pipeline_id: load_info.old_pipeline_id, - new_pipeline_id: load_info.new_pipeline_id, + new_pipeline_id: load_info.info.new_pipeline_id, + document_ready: false, + replace: load_info.info.replace, + }); + } + + fn handle_script_loaded_about_blank_in_iframe_msg(&mut self, + load_info: IFrameLoadInfo, + layout_sender: IpcSender<LayoutControlMsg>) { + let IFrameLoadInfo { + parent_pipeline_id, + new_pipeline_id, + frame_type, + replace, + frame_id, + is_private, + } = load_info; + + let pipeline = { + let parent_pipeline = match self.pipelines.get(&parent_pipeline_id) { + Some(parent_pipeline) => parent_pipeline, + None => return warn!("Script loaded url in closed iframe {}.", parent_pipeline_id), + }; + + let script_sender = parent_pipeline.script_chan.clone(); + + let url = ServoUrl::parse("about:blank").expect("infallible"); + Pipeline::new(new_pipeline_id, + frame_id, + Some((parent_pipeline_id, frame_type)), + script_sender, + layout_sender, + self.compositor_proxy.clone_compositor_proxy(), + is_private || parent_pipeline.is_private, + url, + None, + parent_pipeline.visible) + }; + + assert!(!self.pipelines.contains_key(&new_pipeline_id)); + self.pipelines.insert(new_pipeline_id, pipeline); + + self.pending_frames.push(FrameChange { + frame_id: frame_id, + old_pipeline_id: None, + new_pipeline_id: new_pipeline_id, document_ready: false, - replace: load_info.replace, + replace: replace, }); } diff --git a/components/constellation/pipeline.rs b/components/constellation/pipeline.rs index 53c2a58e091..890476e5010 100644 --- a/components/constellation/pipeline.rs +++ b/components/constellation/pipeline.rs @@ -256,17 +256,19 @@ impl Pipeline { Ok((pipeline, child_process)) } - fn new(id: PipelineId, - frame_id: FrameId, - parent_info: Option<(PipelineId, FrameType)>, - script_chan: Rc<ScriptChan>, - layout_chan: IpcSender<LayoutControlMsg>, - compositor_proxy: Box<CompositorProxy + 'static + Send>, - is_private: bool, - url: ServoUrl, - size: Option<TypedSize2D<f32, PagePx>>, - visible: bool) - -> Pipeline { + /// Creates a new `Pipeline`, after the script and layout threads have been + /// spawned. + pub fn new(id: PipelineId, + frame_id: FrameId, + parent_info: Option<(PipelineId, FrameType)>, + script_chan: Rc<ScriptChan>, + layout_chan: IpcSender<LayoutControlMsg>, + compositor_proxy: Box<CompositorProxy + 'static + Send>, + is_private: bool, + url: ServoUrl, + size: Option<TypedSize2D<f32, PagePx>>, + visible: bool) + -> Pipeline { let pipeline = Pipeline { id: id, frame_id: frame_id, diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index a31baa9f045..c322b96a555 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -20,6 +20,7 @@ use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::inheritance::Castable; use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root}; +use dom::bindings::refcounted::Trusted; use dom::bindings::reflector::Reflectable; use dom::bindings::str::DOMString; use dom::browsingcontext::BrowsingContext; @@ -42,14 +43,16 @@ use js::jsval::{NullValue, UndefinedValue}; use msg::constellation_msg::{FrameType, FrameId, PipelineId, TraversalDirection}; use net_traits::response::HttpsState; use script_layout_interface::message::ReflowQueryType; -use script_thread::ScriptThread; -use script_traits::{IFrameLoadInfo, LoadData, MozBrowserEvent, ScriptMsg as ConstellationMsg}; +use script_thread::{ScriptThread, Runnable}; +use script_traits::{IFrameLoadInfo, IFrameLoadInfoWithData, LoadData}; +use script_traits::{MozBrowserEvent, NewLayoutInfo, ScriptMsg as ConstellationMsg}; use script_traits::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed}; use servo_atoms::Atom; use servo_url::ServoUrl; use std::cell::Cell; use style::attr::{AttrValue, LengthOrPercentageOrAuto}; use style::context::ReflowGoal; +use task_source::TaskSource; use util::prefs::PREFS; use util::servo_version; @@ -66,6 +69,12 @@ bitflags! { } } +#[derive(PartialEq)] +enum ProcessingMode { + FirstTime, + NotFirstTime, +} + #[dom_struct] pub struct HTMLIFrameElement { htmlelement: HTMLElement, @@ -131,20 +140,46 @@ impl HTMLIFrameElement { let global_scope = window.upcast::<GlobalScope>(); let load_info = IFrameLoadInfo { - load_data: load_data, parent_pipeline_id: global_scope.pipeline_id(), frame_id: self.frame_id, - old_pipeline_id: old_pipeline_id, new_pipeline_id: new_pipeline_id, - sandbox: sandboxed, is_private: private_iframe, frame_type: frame_type, replace: replace, }; - global_scope - .constellation_chan() - .send(ConstellationMsg::ScriptLoadedURLInIFrame(load_info)) - .unwrap(); + + if load_data.as_ref().map_or(false, |d| d.url.as_str() == "about:blank") { + let (pipeline_sender, pipeline_receiver) = ipc::channel().unwrap(); + + global_scope + .constellation_chan() + .send(ConstellationMsg::ScriptLoadedAboutBlankInIFrame(load_info, pipeline_sender)) + .unwrap(); + + let new_layout_info = NewLayoutInfo { + parent_info: Some((global_scope.pipeline_id(), frame_type)), + new_pipeline_id: new_pipeline_id, + frame_id: self.frame_id, + load_data: load_data.unwrap(), + pipeline_port: pipeline_receiver, + content_process_shutdown_chan: None, + window_size: None, + layout_threads: PREFS.get("layout.threads").as_u64().expect("count") as usize, + }; + + ScriptThread::process_attach_layout(new_layout_info); + } else { + let load_info = IFrameLoadInfoWithData { + info: load_info, + load_data: load_data, + old_pipeline_id: old_pipeline_id, + sandbox: sandboxed, + }; + global_scope + .constellation_chan() + .send(ConstellationMsg::ScriptLoadedURLInIFrame(load_info)) + .unwrap(); + } if PREFS.is_mozbrowser_enabled() { // https://developer.mozilla.org/en-US/docs/Web/Events/mozbrowserloadstart @@ -152,9 +187,23 @@ impl HTMLIFrameElement { } } - pub fn process_the_iframe_attributes(&self) { + /// https://html.spec.whatwg.org/multipage/#process-the-iframe-attributes + fn process_the_iframe_attributes(&self, mode: ProcessingMode) { + // TODO: srcdoc + + // https://github.com/whatwg/html/issues/490 + if mode == ProcessingMode::FirstTime && !self.upcast::<Element>().has_attribute(&local_name!("src")) { + let window = window_from_node(self); + let event_loop = window.dom_manipulation_task_source(); + let _ = event_loop.queue(box IframeLoadEventSteps::new(self), + window.upcast()); + return; + } + let url = self.get_url(); + // TODO: check ancestor browsing contexts for same URL + let document = document_from_node(self); self.navigate_or_reload_child_browsing_context( Some(LoadData::new(url, document.get_referrer_policy(), Some(document.url()))), false); @@ -171,6 +220,16 @@ impl HTMLIFrameElement { } } + fn create_nested_browsing_context(&self) { + // Synchronously create a new context and navigate it to about:blank. + let url = ServoUrl::parse("about:blank").unwrap(); + let document = document_from_node(self); + let load_data = LoadData::new(url, + document.get_referrer_policy(), + Some(document.url().clone())); + self.navigate_or_reload_child_browsing_context(Some(load_data), false); + } + pub fn update_pipeline_id(&self, new_pipeline_id: PipelineId) { self.pipeline_id.set(Some(new_pipeline_id)); @@ -272,7 +331,11 @@ impl HTMLIFrameElement { self.pipeline_id.get() .and_then(|pipeline_id| ScriptThread::find_document(pipeline_id)) .and_then(|document| { - if self.global().get_url().origin() == document.global().get_url().origin() { + // FIXME(#10964): this should use the Document's origin and the + // origin of the incumbent settings object. + let contained_url = document.global().get_url(); + if self.global().get_url().origin() == contained_url.origin() || + contained_url.as_str() == "about:blank" { Some(Root::from_ref(document.window())) } else { None @@ -458,18 +521,7 @@ impl HTMLIFrameElementMethods for HTMLIFrameElement { // https://html.spec.whatwg.org/multipage/#dom-iframe-contentdocument fn GetContentDocument(&self) -> Option<Root<Document>> { - self.get_content_window().and_then(|window| { - // FIXME(#10964): this should use the Document's origin and the - // origin of the incumbent settings object. - let self_url = self.get_url(); - let win_url = window_from_node(self).get_url(); - - if UrlHelper::SameOrigin(&self_url, &win_url) { - Some(window.Document()) - } else { - None - } - }) + self.get_content_window().map(|window| window.Document()) } // Experimental mozbrowser implementation is based on the webidl @@ -601,19 +653,17 @@ impl VirtualMethods for HTMLIFrameElement { })); }, &local_name!("src") => { - if let AttributeMutation::Set(_) = mutation { - // https://html.spec.whatwg.org/multipage/#the-iframe-element - // "Similarly, whenever an iframe element with a non-null nested browsing context - // but with no srcdoc attribute specified has its src attribute set, changed, or removed, - // the user agent must process the iframe attributes," - // but we can't check that directly, since the child browsing context - // may be in a different script thread. Instread, we check to see if the parent - // is in a document tree and has a browsing context, which is what causes - // the child browsing context to be created. - if self.upcast::<Node>().is_in_doc_with_browsing_context() { - debug!("iframe {} src set while in browsing context.", self.frame_id); - self.process_the_iframe_attributes(); - } + // https://html.spec.whatwg.org/multipage/#the-iframe-element + // "Similarly, whenever an iframe element with a non-null nested browsing context + // but with no srcdoc attribute specified has its src attribute set, changed, or removed, + // the user agent must process the iframe attributes," + // but we can't check that directly, since the child browsing context + // may be in a different script thread. Instread, we check to see if the parent + // is in a document tree and has a browsing context, which is what causes + // the child browsing context to be created. + if self.upcast::<Node>().is_in_doc_with_browsing_context() { + debug!("iframe {} src set while in browsing context.", self.frame_id); + self.process_the_iframe_attributes(ProcessingMode::NotFirstTime); } }, _ => {}, @@ -642,7 +692,8 @@ impl VirtualMethods for HTMLIFrameElement { // iframe attributes for the "first time"." if self.upcast::<Node>().is_in_doc_with_browsing_context() { debug!("iframe {} bound to browsing context.", self.frame_id); - self.process_the_iframe_attributes(); + self.create_nested_browsing_context(); + self.process_the_iframe_attributes(ProcessingMode::FirstTime); } } @@ -667,7 +718,7 @@ impl VirtualMethods for HTMLIFrameElement { // HTMLIFrameElement::contentDocument. let self_url = self.get_url(); let win_url = window_from_node(self).get_url(); - UrlHelper::SameOrigin(&self_url, &win_url) + UrlHelper::SameOrigin(&self_url, &win_url) || self_url.as_str() == "about:blank" }; let (sender, receiver) = if same_origin { (None, None) @@ -690,3 +741,24 @@ impl VirtualMethods for HTMLIFrameElement { } } } + +struct IframeLoadEventSteps { + frame_element: Trusted<HTMLIFrameElement>, + pipeline_id: PipelineId, +} + +impl IframeLoadEventSteps { + fn new(frame_element: &HTMLIFrameElement) -> IframeLoadEventSteps { + IframeLoadEventSteps { + frame_element: Trusted::new(frame_element), + pipeline_id: frame_element.pipeline_id().unwrap(), + } + } +} + +impl Runnable for IframeLoadEventSteps { + fn handler(self: Box<IframeLoadEventSteps>) { + let this = self.frame_element.root(); + this.iframe_load_event_steps(self.pipeline_id); + } +} diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index e7a1f95ec9d..140d57ec754 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -71,7 +71,8 @@ use js::rust::Runtime; use layout_wrapper::ServoLayoutNode; use mem::heap_size_of_self_and_children; use msg::constellation_msg::{FrameId, FrameType, PipelineId, PipelineNamespace}; -use net_traits::{CoreResourceMsg, IpcSend, Metadata, ReferrerPolicy, ResourceThreads}; +use net_traits::{CoreResourceMsg, FetchMetadata, FetchResponseListener}; +use net_traits::{IpcSend, Metadata, ReferrerPolicy, ResourceThreads}; use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheResult, ImageCacheThread}; use net_traits::request::{CredentialsMode, Destination, RequestInit}; use net_traits::storage_thread::StorageType; @@ -605,6 +606,17 @@ impl ScriptThread { }); } + pub fn process_attach_layout(new_layout_info: NewLayoutInfo) { + SCRIPT_THREAD_ROOT.with(|root| { + if let Some(script_thread) = root.get() { + let script_thread = unsafe { &*script_thread }; + script_thread.profile_event(ScriptThreadEventCategory::AttachLayout, || { + script_thread.handle_new_layout(new_layout_info); + }) + } + }); + } + pub fn find_document(id: PipelineId) -> Option<Root<Document>> { SCRIPT_THREAD_ROOT.with(|root| root.get().and_then(|script_thread| { let script_thread = unsafe { &*script_thread }; @@ -1219,7 +1231,11 @@ impl ScriptThread { let new_load = InProgressLoad::new(new_pipeline_id, frame_id, parent_info, layout_chan, window_size, load_data.url.clone()); - self.start_page_load(new_load, load_data); + if load_data.url.as_str() == "about:blank" { + self.start_page_load_about_blank(new_load); + } else { + self.start_page_load(new_load, load_data); + } } fn handle_loads_complete(&self, pipeline: PipelineId) { @@ -1645,7 +1661,8 @@ impl ScriptThread { /// Notify the containing document of a child frame that has completed loading. fn handle_frame_load_event(&self, parent_id: PipelineId, frame_id: FrameId, child_id: PipelineId) { - match self.documents.borrow().find_iframe(parent_id, frame_id) { + let iframe = self.documents.borrow().find_iframe(parent_id, frame_id); + match iframe { Some(iframe) => iframe.iframe_load_event_steps(child_id), None => warn!("Message sent to closed pipeline {}.", parent_id), } @@ -2018,7 +2035,8 @@ impl ScriptThread { replace: bool) { match frame_id { Some(frame_id) => { - if let Some(iframe) = self.documents.borrow().find_iframe(parent_pipeline_id, frame_id) { + let iframe = self.documents.borrow().find_iframe(parent_pipeline_id, frame_id); + if let Some(iframe) = iframe { iframe.navigate_or_reload_child_browsing_context(Some(load_data), replace); } } @@ -2096,6 +2114,23 @@ impl ScriptThread { self.incomplete_loads.borrow_mut().push(incomplete); } + /// Synchronously fetch `about:blank`. Stores the `InProgressLoad` + /// argument until a notification is received that the fetch is complete. + fn start_page_load_about_blank(&self, incomplete: InProgressLoad) { + let id = incomplete.pipeline_id; + + self.incomplete_loads.borrow_mut().push(incomplete); + + let url = ServoUrl::parse("about:blank").unwrap(); + let mut context = ParserContext::new(id, url.clone()); + + let mut meta = Metadata::default(url); + meta.set_content_type(Some(&mime!(Text / Html))); + context.process_response(Ok(FetchMetadata::Unfiltered(meta))); + context.process_response_chunk(vec![]); + context.process_response_eof(Ok(())); + } + fn handle_parsing_complete(&self, id: PipelineId) { let document = match self.documents.borrow().find_document(id) { Some(document) => document, diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 8c51aa22841..0494f44c70d 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -492,21 +492,15 @@ pub enum IFrameSandboxState { IFrameUnsandboxed } -/// Specifies the information required to load a URL in an iframe. +/// Specifies the information required to load an iframe. #[derive(Deserialize, Serialize)] pub struct IFrameLoadInfo { - /// Load data containing the url to load - pub load_data: Option<LoadData>, /// Pipeline ID of the parent of this iframe pub parent_pipeline_id: PipelineId, /// The ID for this iframe. pub frame_id: FrameId, - /// The old pipeline ID for this iframe, if a page was previously loaded. - pub old_pipeline_id: Option<PipelineId>, /// The new pipeline ID that the iframe has generated. pub new_pipeline_id: PipelineId, - /// Sandbox type of this iframe - pub sandbox: IFrameSandboxState, /// Whether this iframe should be considered private pub is_private: bool, /// Whether this iframe is a mozbrowser iframe @@ -516,6 +510,19 @@ pub struct IFrameLoadInfo { pub replace: bool, } +/// Specifies the information required to load a URL in an iframe. +#[derive(Deserialize, Serialize)] +pub struct IFrameLoadInfoWithData { + /// The information required to load an iframe. + pub info: IFrameLoadInfo, + /// Load data containing the url to load + pub load_data: Option<LoadData>, + /// The old pipeline ID for this iframe, if a page was previously loaded. + pub old_pipeline_id: Option<PipelineId>, + /// Sandbox type of this iframe + pub sandbox: IFrameSandboxState, +} + // https://developer.mozilla.org/en-US/docs/Web/API/Using_the_Browser_API#Events /// The events fired in a Browser API context (`<iframe mozbrowser>`) #[derive(Deserialize, Serialize)] diff --git a/components/script_traits/script_msg.rs b/components/script_traits/script_msg.rs index d4a9fc7442b..7ef20af9fbc 100644 --- a/components/script_traits/script_msg.rs +++ b/components/script_traits/script_msg.rs @@ -6,6 +6,8 @@ use AnimationState; use CompositorEvent; use DocumentState; use IFrameLoadInfo; +use IFrameLoadInfoWithData; +use LayoutControlMsg; use LoadData; use MozBrowserEvent; use WorkerGlobalScopeInit; @@ -105,7 +107,9 @@ pub enum ScriptMsg { /// Notifies constellation that an iframe's visibility has been changed. VisibilityChangeComplete(PipelineId, bool), /// A load has been requested in an IFrame. - ScriptLoadedURLInIFrame(IFrameLoadInfo), + ScriptLoadedURLInIFrame(IFrameLoadInfoWithData), + /// A load of `about:blank` has been completed in an IFrame. + ScriptLoadedAboutBlankInIFrame(IFrameLoadInfo, IpcSender<LayoutControlMsg>), /// Requests that the constellation set the contents of the clipboard SetClipboardContents(String), /// Mark a new document as active diff --git a/tests/wpt/metadata-css/cssom-1_dev/xhtml1print/cssimportrule.xht.ini b/tests/wpt/metadata-css/cssom-1_dev/xhtml1print/cssimportrule.xht.ini index ae9991fd13c..a3d9d7beaa4 100644 --- a/tests/wpt/metadata-css/cssom-1_dev/xhtml1print/cssimportrule.xht.ini +++ b/tests/wpt/metadata-css/cssom-1_dev/xhtml1print/cssimportrule.xht.ini @@ -1,3 +1,9 @@ [cssimportrule.xht] type: testharness expected: TIMEOUT + [Basic sanity-checking] + expected: FAIL + + [Only whitelisted properties are accessible cross-origin] + expected: FAIL + diff --git a/tests/wpt/metadata/WebIDL/ecmascript-binding/es-exceptions/exceptions.html.ini b/tests/wpt/metadata/WebIDL/ecmascript-binding/es-exceptions/exceptions.html.ini index 4e691734e3e..5dc6276d371 100644 --- a/tests/wpt/metadata/WebIDL/ecmascript-binding/es-exceptions/exceptions.html.ini +++ b/tests/wpt/metadata/WebIDL/ecmascript-binding/es-exceptions/exceptions.html.ini @@ -12,27 +12,15 @@ [Object.getOwnPropertyDescriptor(exception, "code")] expected: FAIL - [In iframe: Object.getPrototypeOf(exception) === DOMException.prototype] - expected: FAIL - [In iframe: exception.hasOwnProperty("name")] expected: FAIL - [In iframe: exception.name === "HierarchyRequestError"] - expected: FAIL - [In iframe: Object.getOwnPropertyDescriptor(exception, "name")] expected: FAIL - [In iframe: Object.getOwnPropertyDescriptor(exception, "message")] - expected: FAIL - - [In iframe: Object.prototype.toString.call(exception) === "[object DOMException\]"] - expected: FAIL - - [In iframe: exception.code === DOMException.HIERARCHY_REQUEST_ERR] + [In iframe: Object.getOwnPropertyDescriptor(exception, "code")] expected: FAIL - [In iframe: Object.getOwnPropertyDescriptor(exception, "code")] + [In iframe: typeof exception.message === "string"] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/Comment-constructor.html.ini b/tests/wpt/metadata/dom/nodes/Comment-constructor.html.ini deleted file mode 100644 index b822f365486..00000000000 --- a/tests/wpt/metadata/dom/nodes/Comment-constructor.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[Comment-constructor.html] - type: testharness - [new Comment() should get the correct ownerDocument across globals] - expected: FAIL - diff --git a/tests/wpt/metadata/dom/nodes/Text-constructor.html.ini b/tests/wpt/metadata/dom/nodes/Text-constructor.html.ini deleted file mode 100644 index 253d0a219c0..00000000000 --- a/tests/wpt/metadata/dom/nodes/Text-constructor.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[Text-constructor.html] - type: testharness - [new Text() should get the correct ownerDocument across globals] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-function-parent.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-function-parent.html.ini index 3335be3418f..29adbc194e9 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-function-parent.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-function-parent.html.ini @@ -1,3 +1,5 @@ [navigate-child-function-parent.html] type: testharness - expected: ERROR + [Set location from a parent] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-src-about-blank.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-src-about-blank.html.ini index 84796af9188..b8ec0f9662e 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-src-about-blank.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-src-about-blank.html.ini @@ -1,3 +1,5 @@ [navigate-child-src-about-blank.html] type: testharness - expected: ERROR + [Set the src attribute to about:blank and check referrer] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini index 5ebe00f1029..07f5904fa46 100644 --- a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini +++ b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini @@ -1,3 +1,3 @@ [cross-origin-objects.html] type: testharness - expected: ERROR + disabled: https://github.com/servo/servo/issues/10964 diff --git a/tests/wpt/metadata/html/browsers/windows/browsing-context-first-created.xhtml.ini b/tests/wpt/metadata/html/browsers/windows/browsing-context-first-created.xhtml.ini index 13ca91e5b37..e6cbaba3e17 100644 --- a/tests/wpt/metadata/html/browsers/windows/browsing-context-first-created.xhtml.ini +++ b/tests/wpt/metadata/html/browsers/windows/browsing-context-first-created.xhtml.ini @@ -1,14 +1,8 @@ [browsing-context-first-created.xhtml] type: testharness - [Check the history.length of the first created browsing context] - expected: FAIL - [Check the document's meta data] expected: FAIL [Check the document's status] expected: FAIL - [Check the document's content] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/window-top-001.html.ini b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/window-top-001.html.ini deleted file mode 100644 index a56c0a1b608..00000000000 --- a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/window-top-001.html.ini +++ /dev/null @@ -1,8 +0,0 @@ -[window-top-001.html] - type: testharness - [One nested iframe] - expected: FAIL - - [Two nested iframes] - expected: FAIL - diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index 5b80ab2bad1..e7aa48a31cd 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -69,27 +69,9 @@ [Document interface: attribute onsort] expected: FAIL - [Stringification of iframe.contentDocument] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "implementation" with the proper type (0)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "URL" with the proper type (1)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "documentURI" with the proper type (2)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "origin" with the proper type (3)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "compatMode" with the proper type (4)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "characterSet" with the proper type (5)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "inputEncoding" with the proper type (6)] expected: FAIL @@ -105,99 +87,54 @@ [Document interface: iframe.contentDocument must inherit property "getElementsByTagName" with the proper type (10)] expected: FAIL - [Document interface: calling getElementsByTagName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "getElementsByTagNameNS" with the proper type (11)] expected: FAIL - [Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "getElementsByClassName" with the proper type (12)] expected: FAIL - [Document interface: calling getElementsByClassName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createElement" with the proper type (13)] expected: FAIL - [Document interface: calling createElement(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createElementNS" with the proper type (14)] expected: FAIL - [Document interface: calling createElementNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createDocumentFragment" with the proper type (15)] expected: FAIL [Document interface: iframe.contentDocument must inherit property "createTextNode" with the proper type (16)] expected: FAIL - [Document interface: calling createTextNode(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createComment" with the proper type (17)] expected: FAIL - [Document interface: calling createComment(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createProcessingInstruction" with the proper type (18)] expected: FAIL - [Document interface: calling createProcessingInstruction(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "importNode" with the proper type (19)] expected: FAIL - [Document interface: calling importNode(Node,boolean) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "adoptNode" with the proper type (20)] expected: FAIL - [Document interface: calling adoptNode(Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createAttribute" with the proper type (21)] expected: FAIL - [Document interface: calling createAttribute(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createAttributeNS" with the proper type (22)] expected: FAIL - [Document interface: calling createAttributeNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createEvent" with the proper type (23)] expected: FAIL - [Document interface: calling createEvent(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createRange" with the proper type (24)] expected: FAIL [Document interface: iframe.contentDocument must inherit property "createNodeIterator" with the proper type (25)] expected: FAIL - [Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createTreeWalker" with the proper type (26)] expected: FAIL - [Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "styleSheets" with the proper type (27)] expected: FAIL @@ -270,9 +207,6 @@ [Document interface: iframe.contentDocument must inherit property "getElementsByName" with the proper type (50)] expected: FAIL - [Document interface: calling getElementsByName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "getItems" with the proper type (51)] expected: FAIL @@ -282,9 +216,6 @@ [Document interface: iframe.contentDocument must inherit property "cssElementMap" with the proper type (52)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "currentScript" with the proper type (53)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "open" with the proper type (54)] expected: FAIL @@ -300,27 +231,6 @@ [Document interface: iframe.contentDocument must inherit property "close" with the proper type (56)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "write" with the proper type (57)] - expected: FAIL - - [Document interface: calling write(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "writeln" with the proper type (58)] - expected: FAIL - - [Document interface: calling writeln(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "defaultView" with the proper type (59)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "activeElement" with the proper type (60)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "hasFocus" with the proper type (61)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "designMode" with the proper type (62)] expected: FAIL @@ -402,9 +312,6 @@ [Document interface: iframe.contentDocument must inherit property "getElementById" with the proper type (82)] expected: FAIL - [Document interface: calling getElementById(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "children" with the proper type (83)] expected: FAIL @@ -420,15 +327,9 @@ [Document interface: iframe.contentDocument must inherit property "prepend" with the proper type (87)] expected: FAIL - [Document interface: calling prepend([object Object\],[object Object\]) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "append" with the proper type (88)] expected: FAIL - [Document interface: calling append([object Object\],[object Object\]) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "query" with the proper type (89)] expected: FAIL @@ -444,15 +345,9 @@ [Document interface: iframe.contentDocument must inherit property "querySelector" with the proper type (91)] expected: FAIL - [Document interface: calling querySelector(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "querySelectorAll" with the proper type (92)] expected: FAIL - [Document interface: calling querySelectorAll(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "onabort" with the proper type (93)] expected: FAIL @@ -642,189 +537,6 @@ [Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type (155)] expected: FAIL - [Node interface: iframe.contentDocument must inherit property "ELEMENT_NODE" with the proper type (0)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "ATTRIBUTE_NODE" with the proper type (1)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "TEXT_NODE" with the proper type (2)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "CDATA_SECTION_NODE" with the proper type (3)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "ENTITY_NODE" with the proper type (5)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "COMMENT_NODE" with the proper type (7)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_NODE" with the proper type (8)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "NOTATION_NODE" with the proper type (11)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "nodeType" with the proper type (12)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "nodeName" with the proper type (13)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "baseURI" with the proper type (14)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "ownerDocument" with the proper type (15)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "parentNode" with the proper type (16)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "parentElement" with the proper type (17)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "hasChildNodes" with the proper type (18)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "childNodes" with the proper type (19)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "firstChild" with the proper type (20)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "lastChild" with the proper type (21)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "previousSibling" with the proper type (22)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "nextSibling" with the proper type (23)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "nodeValue" with the proper type (24)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "textContent" with the proper type (25)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "normalize" with the proper type (26)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "cloneNode" with the proper type (27)] - expected: FAIL - - [Node interface: calling cloneNode(boolean) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "isEqualNode" with the proper type (28)] - expected: FAIL - - [Node interface: calling isEqualNode(Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (32)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (33)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34)] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "compareDocumentPosition" with the proper type (35)] - expected: FAIL - - [Node interface: calling compareDocumentPosition(Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "contains" with the proper type (36)] - expected: FAIL - - [Node interface: calling contains(Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "lookupPrefix" with the proper type (37)] - expected: FAIL - - [Node interface: calling lookupPrefix(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "lookupNamespaceURI" with the proper type (38)] - expected: FAIL - - [Node interface: calling lookupNamespaceURI(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "isDefaultNamespace" with the proper type (39)] - expected: FAIL - - [Node interface: calling isDefaultNamespace(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "insertBefore" with the proper type (40)] - expected: FAIL - - [Node interface: calling insertBefore(Node,Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "appendChild" with the proper type (41)] - expected: FAIL - - [Node interface: calling appendChild(Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "replaceChild" with the proper type (42)] - expected: FAIL - - [Node interface: calling replaceChild(Node,Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [Node interface: iframe.contentDocument must inherit property "removeChild" with the proper type (43)] - expected: FAIL - - [Node interface: calling removeChild(Node) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [EventTarget interface: iframe.contentDocument must inherit property "addEventListener" with the proper type (0)] - expected: FAIL - - [EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [EventTarget interface: iframe.contentDocument must inherit property "removeEventListener" with the proper type (1)] - expected: FAIL - - [EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - - [EventTarget interface: iframe.contentDocument must inherit property "dispatchEvent" with the proper type (2)] - expected: FAIL - - [EventTarget interface: calling dispatchEvent(Event) on iframe.contentDocument with too few arguments must throw TypeError] - expected: FAIL - [XMLDocument interface: operation load(DOMString)] expected: FAIL @@ -5652,42 +5364,6 @@ [HTMLOptionElement interface: new Option() must inherit property "index" with the proper type (7)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "charset" with the proper type (6)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "inputEncoding" with the proper type (7)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "contentType" with the proper type (8)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "doctype" with the proper type (9)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "documentElement" with the proper type (10)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "getElementsByTagName" with the proper type (11)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "getElementsByTagNameNS" with the proper type (12)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "getElementsByClassName" with the proper type (13)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createElement" with the proper type (14)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createElementNS" with the proper type (15)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createDocumentFragment" with the proper type (16)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createTextNode" with the proper type (17)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createComment" with the proper type (18)] expected: FAIL @@ -8697,39 +8373,6 @@ [Document interface: calling createCDATASection(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "createComment" with the proper type (19)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createProcessingInstruction" with the proper type (20)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "importNode" with the proper type (21)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "adoptNode" with the proper type (22)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createAttribute" with the proper type (23)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createAttributeNS" with the proper type (24)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createEvent" with the proper type (25)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createRange" with the proper type (26)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createNodeIterator" with the proper type (27)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "createTreeWalker" with the proper type (28)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "styleSheets" with the proper type (29)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "selectedStyleSheetSet" with the proper type (30)] expected: FAIL @@ -8745,63 +8388,12 @@ [Document interface: iframe.contentDocument must inherit property "enableStyleSheetsForSet" with the proper type (34)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "domain" with the proper type (36)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "referrer" with the proper type (37)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "cookie" with the proper type (38)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "lastModified" with the proper type (39)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "readyState" with the proper type (40)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "title" with the proper type (42)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "dir" with the proper type (43)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "body" with the proper type (44)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "head" with the proper type (45)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "images" with the proper type (46)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "embeds" with the proper type (47)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "plugins" with the proper type (48)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "links" with the proper type (49)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "forms" with the proper type (50)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "scripts" with the proper type (51)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "getElementsByName" with the proper type (52)] - expected: FAIL - [Document interface: calling open(USVString,DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "onreadystatechange" with the proper type (69)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "fgColor" with the proper type (70)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "linkColor" with the proper type (71)] expected: FAIL @@ -8811,243 +8403,12 @@ [Document interface: iframe.contentDocument must inherit property "alinkColor" with the proper type (73)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "bgColor" with the proper type (74)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "anchors" with the proper type (75)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "applets" with the proper type (76)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "clear" with the proper type (77)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "captureEvents" with the proper type (78)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "releaseEvents" with the proper type (79)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "all" with the proper type (80)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "getElementById" with the proper type (81)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "children" with the proper type (82)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "firstElementChild" with the proper type (83)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "lastElementChild" with the proper type (84)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "childElementCount" with the proper type (85)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "prepend" with the proper type (86)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "append" with the proper type (87)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "querySelector" with the proper type (88)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "querySelectorAll" with the proper type (89)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onabort" with the proper type (90)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onblur" with the proper type (91)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type (92)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oncanplay" with the proper type (93)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oncanplaythrough" with the proper type (94)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onchange" with the proper type (95)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onclick" with the proper type (96)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onclose" with the proper type (97)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oncontextmenu" with the proper type (98)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type (99)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondblclick" with the proper type (100)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondrag" with the proper type (101)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondragend" with the proper type (102)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondragenter" with the proper type (103)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondragexit" with the proper type (104)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondragleave" with the proper type (105)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondragover" with the proper type (106)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondragstart" with the proper type (107)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondrop" with the proper type (108)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ondurationchange" with the proper type (109)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onemptied" with the proper type (110)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onended" with the proper type (111)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onerror" with the proper type (112)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onfocus" with the proper type (113)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oninput" with the proper type (114)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oninvalid" with the proper type (115)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onkeydown" with the proper type (116)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onkeypress" with the proper type (117)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onkeyup" with the proper type (118)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onload" with the proper type (119)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onloadeddata" with the proper type (120)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onloadedmetadata" with the proper type (121)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onloadstart" with the proper type (122)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onmousedown" with the proper type (123)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onmouseenter" with the proper type (124)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onmouseleave" with the proper type (125)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onmousemove" with the proper type (126)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onmouseout" with the proper type (127)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onmouseover" with the proper type (128)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onmouseup" with the proper type (129)] - expected: FAIL - [Document interface: iframe.contentDocument must inherit property "onmousewheel" with the proper type (130)] expected: FAIL - [Document interface: iframe.contentDocument must inherit property "onpause" with the proper type (131)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onplay" with the proper type (132)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onplaying" with the proper type (133)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onprogress" with the proper type (134)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onratechange" with the proper type (135)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onreset" with the proper type (136)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onresize" with the proper type (137)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onscroll" with the proper type (138)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onseeked" with the proper type (139)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onseeking" with the proper type (140)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onselect" with the proper type (141)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onshow" with the proper type (142)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onstalled" with the proper type (143)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onsubmit" with the proper type (144)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onsuspend" with the proper type (145)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ontimeupdate" with the proper type (146)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "ontoggle" with the proper type (147)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onvolumechange" with the proper type (148)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type (149)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oncopy" with the proper type (150)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "oncut" with the proper type (151)] - expected: FAIL - - [Document interface: iframe.contentDocument must inherit property "onpaste" with the proper type (152)] - expected: FAIL - [Document interface: new Document() must inherit property "createCDATASection" with the proper type (18)] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe.html.ini deleted file mode 100644 index d0b2b6edd3d..00000000000 --- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[resource-selection-invoke-insert-into-iframe.html] - type: testharness - [NOT invoking resource selection by inserting into other document with src set] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html.ini deleted file mode 100644 index 020a3ceebaa..00000000000 --- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[pause-move-to-other-document.html] - type: testharness - [paused state when moving to other document] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-append-to-child-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-append-to-child-document.html.ini index 4e30edb2bbd..ad2cf9dee6b 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-append-to-child-document.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-append-to-child-document.html.ini @@ -1,5 +1,3 @@ [iframe-append-to-child-document.html] type: testharness - [Append iframe element to its own child document] - expected: FAIL - + disabled: https://github.com/servo/servo/issues/14411 diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-load-event.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-load-event.html.ini index d3ae34278df..92316d4d4a7 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-load-event.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-load-event.html.ini @@ -3,6 +3,3 @@ [load event of blob URL] expected: FAIL - [load event of initial about:blank] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html.ini deleted file mode 100644 index b7bccb267f9..00000000000 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[move_iframe_in_dom_01.html] - type: testharness - expected: ERROR diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini index fbc2f10b2d3..12b76472074 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini @@ -1,13 +1,6 @@ [viewport-change.html] type: testharness - disabled: unsupported feature and prone to intermittent incorrect results - bug: 9560 - [img (no src), onload, narrow] - expected: FAIL - - [img (empty src), onload, narrow] - expected: FAIL - + expected: TIMEOUT [img (src only) broken image, onload, narrow] expected: FAIL @@ -24,35 +17,29 @@ expected: FAIL [picture: source (max-width:500px) broken image, img broken image, resize to wide] - expected: FAIL + expected: TIMEOUT [picture: source (max-width:500px) broken image, img valid image, onload, narrow] expected: FAIL [picture: source (max-width:500px) broken image, img valid image, resize to wide] - expected: FAIL + expected: TIMEOUT [picture: source (max-width:500px) valid image, img broken image, onload, narrow] expected: FAIL [picture: source (max-width:500px) valid image, img broken image, resize to wide] - expected: FAIL + expected: TIMEOUT [picture: source (max-width:500px) valid image, img valid image, onload, narrow] expected: FAIL [picture: source (max-width:500px) valid image, img valid image, resize to wide] - expected: FAIL + expected: TIMEOUT [picture: same URL in source (max-width:500px) and img, onload, narrow] expected: FAIL - [img (no src), onload, wide] - expected: FAIL - - [img (empty src), onload, wide] - expected: FAIL - [img (src only) broken image, onload, wide] expected: FAIL @@ -69,41 +56,26 @@ expected: FAIL [picture: source (max-width:500px) broken image, img broken image, resize to narrow] - expected: FAIL + expected: TIMEOUT [picture: source (max-width:500px) broken image, img valid image, onload, wide] expected: FAIL [picture: source (max-width:500px) broken image, img valid image, resize to narrow] - expected: FAIL + expected: TIMEOUT [picture: source (max-width:500px) valid image, img broken image, onload, wide] expected: FAIL [picture: source (max-width:500px) valid image, img broken image, resize to narrow] - expected: FAIL + expected: TIMEOUT [picture: source (max-width:500px) valid image, img valid image, onload, wide] expected: FAIL [picture: source (max-width:500px) valid image, img valid image, resize to narrow] - expected: FAIL + expected: TIMEOUT [picture: same URL in source (max-width:500px) and img, onload, wide] expected: FAIL - [img (empty src), resize to wide] - expected: FAIL - - [img (src only) broken image, resize to wide] - expected: FAIL - - [img (src only) valid image, resize to wide] - expected: FAIL - - [picture: same URL in source (max-width:500px) and img, resize to wide] - expected: FAIL - - [picture: same URL in source (max-width:500px) and img, resize to narrow] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html.ini index 5a53c595324..f9c4569f49a 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html.ini @@ -1,7 +1,5 @@ [parse-a-sizes-attribute.html] type: testharness - disabled: unsupported feature and prone to intermittent incorrect results - bug: 9560 [<img srcset="/images/green-1x1.png?a2 300w, /images/green-16x16.png?a2 301w"> ref sizes="100vw" (standards mode)] expected: FAIL @@ -140,31 +138,31 @@ [<img srcset="/images/green-1x1.png?e43 50w, /images/green-16x16.png?e43 51w" sizes="(min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e45 50w, /images/green-16x16.png?e45 51w" sizes="(min-width:-1px) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e47 50w, /images/green-16x16.png?e47 51w" sizes="(unknown-mf-name) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="("unknown-general-enclosed") 100vw, 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="(unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not ("unknown-general-enclosed") 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (standards mode)] @@ -191,7 +189,7 @@ [<img srcset="/images/green-1x1.png?e60 50w, /images/green-16x16.png?e60 51w" sizes="(min-width:0) or (min-width:-1px) 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or ("unknown-general-enclosed") 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown "general-enclosed") 1px"> ref sizes="1px" (standards mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (standards mode)] @@ -206,7 +204,7 @@ [<img srcset="/images/green-1x1.png?e65 50w, /images/green-16x16.png?e65 51w" sizes="(123) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e67 50w, /images/green-16x16.png?e67 51w" sizes="(!) 100vw, 1px"> ref sizes="1px" (standards mode)] @@ -260,7 +258,7 @@ [<img srcset="/images/green-1x1.png?e83 50w, /images/green-16x16.png?e83 51w" sizes="(.) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 1px"> ref sizes="1px" (standards mode)] + [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (standards mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (standards mode)] @@ -314,6 +312,36 @@ [<img srcset="/images/green-1x1.png?e101 50w, /images/green-16x16.png?e101 51w" sizes="(min-width:0) 1px, foo bar"> ref sizes="1px" (standards mode)] expected: FAIL + [<img srcset="/images/green-1x1.png?e102 50w, /images/green-16x16.png?e102 51w" sizes="("grammar does not match") 100vw, 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not ("grammar does not match") 100vw, 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e104 50w, /images/green-16x16.png?e104 51w" sizes="(unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="1px" (standards mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="1px" (standards mode)] + expected: FAIL + [<img srcset="/images/green-1x1.png?f2 50w, /images/green-16x16.png?f2 51w" sizes=""> ref sizes="100vw" (standards mode)] expected: FAIL @@ -452,12 +480,6 @@ [<img srcset="/images/green-1x1.png?f47 50w, /images/green-16x16.png?f47 51w" style="--foo: 1px" sizes="var(--foo)"> ref sizes="100vw" (standards mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (standards mode)] - expected: FAIL - - [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (standards mode)] - expected: FAIL - [<img srcset="/images/green-1x1.png?a2 300w, /images/green-16x16.png?a2 301w"> ref sizes="100vw" (quirks mode)] expected: FAIL @@ -596,31 +618,31 @@ [<img srcset="/images/green-1x1.png?e43 50w, /images/green-16x16.png?e43 51w" sizes="(min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e45 50w, /images/green-16x16.png?e45 51w" sizes="(min-width:-1px) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e47 50w, /images/green-16x16.png?e47 51w" sizes="(unknown-mf-name) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="("unknown-general-enclosed") 100vw, 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="(unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not ("unknown-general-enclosed") 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (quirks mode)] @@ -647,7 +669,7 @@ [<img srcset="/images/green-1x1.png?e60 50w, /images/green-16x16.png?e60 51w" sizes="(min-width:0) or (min-width:-1px) 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or ("unknown-general-enclosed") 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown "general-enclosed") 1px"> ref sizes="1px" (quirks mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (quirks mode)] @@ -662,7 +684,7 @@ [<img srcset="/images/green-1x1.png?e65 50w, /images/green-16x16.png?e65 51w" sizes="(123) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e67 50w, /images/green-16x16.png?e67 51w" sizes="(!) 100vw, 1px"> ref sizes="1px" (quirks mode)] @@ -716,7 +738,7 @@ [<img srcset="/images/green-1x1.png?e83 50w, /images/green-16x16.png?e83 51w" sizes="(.) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 1px"> ref sizes="1px" (quirks mode)] + [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (quirks mode)] expected: FAIL [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (quirks mode)] @@ -770,6 +792,36 @@ [<img srcset="/images/green-1x1.png?e101 50w, /images/green-16x16.png?e101 51w" sizes="(min-width:0) 1px, foo bar"> ref sizes="1px" (quirks mode)] expected: FAIL + [<img srcset="/images/green-1x1.png?e102 50w, /images/green-16x16.png?e102 51w" sizes="("grammar does not match") 100vw, 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not ("grammar does not match") 100vw, 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e104 50w, /images/green-16x16.png?e104 51w" sizes="(unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="1px" (quirks mode)] + expected: FAIL + [<img srcset="/images/green-1x1.png?f2 50w, /images/green-16x16.png?f2 51w" sizes=""> ref sizes="100vw" (quirks mode)] expected: FAIL @@ -908,12 +960,6 @@ [<img srcset="/images/green-1x1.png?f47 50w, /images/green-16x16.png?f47 51w" style="--foo: 1px" sizes="var(--foo)"> ref sizes="100vw" (quirks mode)] expected: FAIL - [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (quirks mode)] - expected: FAIL - - [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (quirks mode)] - expected: FAIL - [<img srcset="/images/green-1x1.png?a2 300w, /images/green-16x16.png?a2 301w"> ref sizes="100vw" (display:none)] expected: FAIL @@ -1052,31 +1098,31 @@ [<img srcset="/images/green-1x1.png?e43 50w, /images/green-16x16.png?e43 51w" sizes="(min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL [<img srcset="/images/green-1x1.png?e45 50w, /images/green-16x16.png?e45 51w" sizes="(min-width:-1px) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL [<img srcset="/images/green-1x1.png?e47 50w, /images/green-16x16.png?e47 51w" sizes="(unknown-mf-name) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="("unknown-general-enclosed") 100vw, 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="(unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not ("unknown-general-enclosed") 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (display:none)] @@ -1103,7 +1149,7 @@ [<img srcset="/images/green-1x1.png?e60 50w, /images/green-16x16.png?e60 51w" sizes="(min-width:0) or (min-width:-1px) 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or ("unknown-general-enclosed") 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown "general-enclosed") 1px"> ref sizes="1px" (display:none)] expected: FAIL [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (display:none)] @@ -1118,7 +1164,7 @@ [<img srcset="/images/green-1x1.png?e65 50w, /images/green-16x16.png?e65 51w" sizes="(123) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL [<img srcset="/images/green-1x1.png?e67 50w, /images/green-16x16.png?e67 51w" sizes="(!) 100vw, 1px"> ref sizes="1px" (display:none)] @@ -1172,7 +1218,7 @@ [<img srcset="/images/green-1x1.png?e83 50w, /images/green-16x16.png?e83 51w" sizes="(.) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 1px"> ref sizes="1px" (display:none)] + [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (display:none)] expected: FAIL [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (display:none)] @@ -1226,6 +1272,36 @@ [<img srcset="/images/green-1x1.png?e101 50w, /images/green-16x16.png?e101 51w" sizes="(min-width:0) 1px, foo bar"> ref sizes="1px" (display:none)] expected: FAIL + [<img srcset="/images/green-1x1.png?e102 50w, /images/green-16x16.png?e102 51w" sizes="("grammar does not match") 100vw, 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not ("grammar does not match") 100vw, 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e104 50w, /images/green-16x16.png?e104 51w" sizes="(unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="1px" (display:none)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="1px" (display:none)] + expected: FAIL + [<img srcset="/images/green-1x1.png?f2 50w, /images/green-16x16.png?f2 51w" sizes=""> ref sizes="100vw" (display:none)] expected: FAIL @@ -1364,12 +1440,6 @@ [<img srcset="/images/green-1x1.png?f47 50w, /images/green-16x16.png?f47 51w" style="--foo: 1px" sizes="var(--foo)"> ref sizes="100vw" (display:none)] expected: FAIL - [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (display:none)] - expected: FAIL - - [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (display:none)] - expected: FAIL - [<img srcset="/images/green-1x1.png?a2 300w, /images/green-16x16.png?a2 301w"> ref sizes="100vw" (width:1000px)] expected: FAIL @@ -1508,31 +1578,31 @@ [<img srcset="/images/green-1x1.png?e43 50w, /images/green-16x16.png?e43 51w" sizes="(min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL [<img srcset="/images/green-1x1.png?e45 50w, /images/green-16x16.png?e45 51w" sizes="(min-width:-1px) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL [<img srcset="/images/green-1x1.png?e47 50w, /images/green-16x16.png?e47 51w" sizes="(unknown-mf-name) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="("unknown-general-enclosed") 100vw, 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e49 50w, /images/green-16x16.png?e49 51w" sizes="(unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not ("unknown-general-enclosed") 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown "general-enclosed") 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (width:1000px)] @@ -1559,7 +1629,7 @@ [<img srcset="/images/green-1x1.png?e60 50w, /images/green-16x16.png?e60 51w" sizes="(min-width:0) or (min-width:-1px) 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or ("unknown-general-enclosed") 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown "general-enclosed") 1px"> ref sizes="1px" (width:1000px)] expected: FAIL [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (width:1000px)] @@ -1574,7 +1644,7 @@ [<img srcset="/images/green-1x1.png?e65 50w, /images/green-16x16.png?e65 51w" sizes="(123) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL [<img srcset="/images/green-1x1.png?e67 50w, /images/green-16x16.png?e67 51w" sizes="(!) 100vw, 1px"> ref sizes="1px" (width:1000px)] @@ -1628,7 +1698,7 @@ [<img srcset="/images/green-1x1.png?e83 50w, /images/green-16x16.png?e83 51w" sizes="(.) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 1px"> ref sizes="1px" (width:1000px)] + [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (width:1000px)] expected: FAIL [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (width:1000px)] @@ -1682,6 +1752,36 @@ [<img srcset="/images/green-1x1.png?e101 50w, /images/green-16x16.png?e101 51w" sizes="(min-width:0) 1px, foo bar"> ref sizes="1px" (width:1000px)] expected: FAIL + [<img srcset="/images/green-1x1.png?e102 50w, /images/green-16x16.png?e102 51w" sizes="("grammar does not match") 100vw, 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not ("grammar does not match") 100vw, 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e104 50w, /images/green-16x16.png?e104 51w" sizes="(unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown "general-enclosed")) 100vw, 1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + + [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="1px" (width:1000px)] + expected: FAIL + [<img srcset="/images/green-1x1.png?f2 50w, /images/green-16x16.png?f2 51w" sizes=""> ref sizes="100vw" (width:1000px)] expected: FAIL @@ -1820,9 +1920,3 @@ [<img srcset="/images/green-1x1.png?f47 50w, /images/green-16x16.png?f47 51w" style="--foo: 1px" sizes="var(--foo)"> ref sizes="100vw" (width:1000px)] expected: FAIL - [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (width:1000px)] - expected: FAIL - - [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (width:1000px)] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html.ini index a3bbe0e13e9..997d4d6c63a 100644 --- a/tests/wpt/metadata/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html.ini +++ b/tests/wpt/metadata/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html.ini @@ -3,9 +3,9 @@ [Changing of template element's node document. Test document loaded from a file] expected: FAIL - [Changing of template element's node document. Adobt template element into a document that has a browsing context] + [Changing of template element's node document. Test the case when both old and new owner documents of template element have browsing context] expected: FAIL - [Changing of template element's node document. Test the case when both old and new owner documents of template element have browsing context] + [Changing of template element's node document. Adobt template element into a document that has a browsing context] expected: FAIL diff --git a/tests/wpt/metadata/referrer-policy/generic/unsupported-csp-referrer-directive.html.ini b/tests/wpt/metadata/referrer-policy/generic/unsupported-csp-referrer-directive.html.ini index 628efbaf6dd..c2b0313db96 100644 --- a/tests/wpt/metadata/referrer-policy/generic/unsupported-csp-referrer-directive.html.ini +++ b/tests/wpt/metadata/referrer-policy/generic/unsupported-csp-referrer-directive.html.ini @@ -1,4 +1,3 @@ [unsupported-csp-referrer-directive.html] type: testharness disabled: https://github.com/servo/servo/issues/4767 - diff --git a/tests/wpt/metadata/webstorage/event_basic.html.ini b/tests/wpt/metadata/webstorage/event_basic.html.ini index 041542bd593..daad83f1e5f 100644 --- a/tests/wpt/metadata/webstorage/event_basic.html.ini +++ b/tests/wpt/metadata/webstorage/event_basic.html.ini @@ -1,6 +1,5 @@ [event_basic.html] type: testharness - expected: ERROR [sessionStorage mutations fire StorageEvents that are caught by the event listener set via window.onstorage.] expected: FAIL diff --git a/tests/wpt/metadata/webstorage/event_body_attribute.html.ini b/tests/wpt/metadata/webstorage/event_body_attribute.html.ini deleted file mode 100644 index d710fe8392f..00000000000 --- a/tests/wpt/metadata/webstorage/event_body_attribute.html.ini +++ /dev/null @@ -1,9 +0,0 @@ -[event_body_attribute.html] - type: testharness - expected: ERROR - [sessionStorage mutations fire StorageEvents that are caught by the event listener specified as an attribute on the body.] - expected: FAIL - - [localStorage mutations fire StorageEvents that are caught by the event listener specified as an attribute on the body.] - expected: FAIL - diff --git a/tests/wpt/metadata/webstorage/event_case_sensitive.html.ini b/tests/wpt/metadata/webstorage/event_case_sensitive.html.ini index b45d8f59577..01ae1ddcc65 100644 --- a/tests/wpt/metadata/webstorage/event_case_sensitive.html.ini +++ b/tests/wpt/metadata/webstorage/event_case_sensitive.html.ini @@ -1,6 +1,5 @@ [event_case_sensitive.html] type: testharness - expected: ERROR [sessionStorage storage events fire even when only the case of the value changes.] expected: FAIL diff --git a/tests/wpt/metadata/webstorage/event_setattribute.html.ini b/tests/wpt/metadata/webstorage/event_setattribute.html.ini deleted file mode 100644 index a46568a15ec..00000000000 --- a/tests/wpt/metadata/webstorage/event_setattribute.html.ini +++ /dev/null @@ -1,9 +0,0 @@ -[event_setattribute.html] - type: testharness - expected: ERROR - [sessionStorage mutations fire StorageEvents that are caught by the event listener attached via setattribute.] - expected: FAIL - - [localStorage mutations fire StorageEvents that are caught by the event listener attached via setattribute.] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/mozilla/htmllabel-activation.html.ini b/tests/wpt/mozilla/meta/mozilla/htmllabel-activation.html.ini index 29941630cf9..a167adf9739 100644 --- a/tests/wpt/mozilla/meta/mozilla/htmllabel-activation.html.ini +++ b/tests/wpt/mozilla/meta/mozilla/htmllabel-activation.html.ini @@ -1,6 +1,5 @@ [htmllabel-activation.html] type: testharness - [If label's 1st child (submit) is disabled, click should have no impact] expected: FAIL diff --git a/tests/wpt/mozilla/meta/mozilla/mozbrowser/mozbrowser_loadevents.html.ini b/tests/wpt/mozilla/meta/mozilla/mozbrowser/mozbrowser_loadevents.html.ini new file mode 100644 index 00000000000..2d0ba01c141 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/mozbrowser/mozbrowser_loadevents.html.ini @@ -0,0 +1,5 @@ +[mozbrowser_loadevents.html] + type: testharness + [mozbrowserloadstart, mozbrowserconnected and mozbrowserloadend are dispatched] + expected: FAIL + diff --git a/tests/wpt/mozilla/tests/mozilla/mozbrowser/iframe_goback.html b/tests/wpt/mozilla/tests/mozilla/mozbrowser/iframe_goback.html index 748f434d7c3..353051043e1 100644 --- a/tests/wpt/mozilla/tests/mozilla/mozbrowser/iframe_goback.html +++ b/tests/wpt/mozilla/tests/mozilla/mozbrowser/iframe_goback.html @@ -12,13 +12,13 @@ async_test(function(t) { var url1 = `data:text/html,<script>setTimeout(() => location.assign("${url2}"), 0)</${"script"}>`; var locations = [] - var expected_locations = [url1, url2, url1]; + var expected_locations = ["about:blank", url1, url2, url1]; var iframe = document.createElement("iframe"); iframe.mozbrowser = "true"; iframe.src = url1; - iframe.addEventListener("mozbrowserlocationchange", e => { + iframe.addEventListener("mozbrowserlocationchange", t.step_func(e => { locations.push(e.detail.url); if (e.detail.url == url2) { iframe.goBack(); @@ -27,7 +27,7 @@ async_test(function(t) { assert_array_equals(locations, expected_locations); t.done(); } - }); + })); document.body.appendChild(iframe); diff --git a/tests/wpt/mozilla/tests/mozilla/mozbrowser/mozbrowserlocationchange_event.html b/tests/wpt/mozilla/tests/mozilla/mozbrowser/mozbrowserlocationchange_event.html index 3866cc6dadb..30abe74b92e 100644 --- a/tests/wpt/mozilla/tests/mozilla/mozbrowser/mozbrowserlocationchange_event.html +++ b/tests/wpt/mozilla/tests/mozilla/mozbrowser/mozbrowserlocationchange_event.html @@ -14,24 +14,29 @@ async_test(function(t) { var received_events = [] var expected_events = [ - url1, false, false, + "about:blank", false, false, + url1, true, false, url2, true, false, url3, true, false, url2, true, true, - url1, false, true, + url1, true, true, + "about:blank", false, true, + url1, true, true, url2, true, true, url3, true, false, ]; var iframe = document.createElement("iframe"); iframe.mozbrowser = "true"; - iframe.src = url1; var actions = [ + function() {iframe.src = url1}, function() {iframe.src = url2}, function() {iframe.src = url3}, function() {iframe.goBack()}, function() {iframe.goBack()}, + function() {iframe.goBack()}, + function() {iframe.goForward()}, function() {iframe.goForward()}, function() {iframe.goForward()}, ]; diff --git a/tests/wpt/mozilla/tests/mozilla/mozbrowser/redirect.html b/tests/wpt/mozilla/tests/mozilla/mozbrowser/redirect.html index b7587395f94..7c807556826 100644 --- a/tests/wpt/mozilla/tests/mozilla/mozbrowser/redirect.html +++ b/tests/wpt/mozilla/tests/mozilla/mozbrowser/redirect.html @@ -9,9 +9,17 @@ var iframe = document.createElement("iframe"); iframe.mozbrowser = "true"; iframe.src = "redirect_init.html?pipe=status(302)|header(Location,redirect_final.html)"; + var i = 0; iframe.addEventListener("mozbrowserlocationchange", t.step_func(e => { - assert_equals(e.detail.url, new URL("redirect_final.html", location).href); - t.done(); + switch (++i) { + case 1: + assert_equals(e.detail.url, "about:blank"); + break; + case 2: + assert_equals(e.detail.url, new URL("redirect_final.html", location).href); + t.done(); + break; + } })); document.body.appendChild(iframe); }); |