From 6468734aea0895d8e14ca5a99f0b11b070041187 Mon Sep 17 00:00:00 2001 From: Andrei Volykhin Date: Tue, 13 May 2025 13:43:10 +0300 Subject: [PATCH] svg: Add mock SVGImageElement interface (#36975) Add mock SVGImageElement interface to fix TIMEOUT WPT tests which are related to ImageBitmap (html/canvas/*). https://svgwg.org/svg2-draft/embedded.html#InterfaceSVGImageElement Rationality of this change to fire event "error" on any attempt to fetch image resource on href attribute change to not block WPT tests execution. Some WPT tests use the legacy namespace attribute "xlink:href", so support for it was added to source code. https://svgwg.org/svg2-draft/linking.html#XLinkHrefAttribute - setAttributeNS("http://www.w3.org/1999/xlink", 'xlink:href', src); Testing: Covered by existed WPT tests - fetch/metadata/generated/svg-image* - html/canvas/element/manual/* - html/dom/idlharness.https.html - html/semantics/embedded-content/the-canvas-element/* - html/webappapis/scripting/events/event-handler-all-global-events.html - mozilla/interfaces.https.html Fixes: https://github.com/servo/servo/issues/35881 Signed-off-by: Andrei Volykhin --- components/script/dom/attr.rs | 10 +- components/script/dom/create.rs | 2 + components/script/dom/element.rs | 10 +- components/script/dom/mod.rs | 1 + components/script/dom/node.rs | 3 + components/script/dom/svgelement.rs | 3 + components/script/dom/svgimageelement.rs | 96 ++++ components/script/dom/virtualmethods.rs | 4 + .../script_bindings/webidls/SVGElement.webidl | 2 +- .../webidls/SVGImageElement.webidl | 16 + components/shared/script_layout/lib.rs | 1 + .../generated/svg-image.https.sub.html.ini | 47 +- .../metadata/generated/svg-image.sub.html.ini | 37 +- .../createImageBitmap-drawImage.html.ini | 60 +-- .../createImageBitmap-flipY.html.ini | 24 +- .../createImageBitmap-invalid-args.html.ini | 2 +- .../createImageBitmap-origin.sub.html.ini | 36 +- .../createImageBitmap-serializable.html.ini | 15 +- .../createImageBitmap-transfer.html.ini | 15 +- .../meta/html/dom/idlharness.https.html.ini | 228 --------- .../security.pattern.fillStyle.sub.html.ini | 8 +- .../event-handler-all-global-events.html.ini | 450 ------------------ tests/wpt/mozilla/meta/MANIFEST.json | 2 +- .../tests/mozilla/interfaces.https.html | 1 + 24 files changed, 262 insertions(+), 811 deletions(-) create mode 100644 components/script/dom/svgimageelement.rs create mode 100644 components/script_bindings/webidls/SVGImageElement.webidl diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index 52d0ca7e20c..9f1520bd085 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -8,7 +8,7 @@ use std::mem; use devtools_traits::AttrInfo; use dom_struct::dom_struct; -use html5ever::{LocalName, Namespace, Prefix, ns}; +use html5ever::{LocalName, Namespace, Prefix, local_name, ns}; use style::attr::{AttrIdentifier, AttrValue}; use style::values::GenericAtomIdent; use stylo_atoms::Atom; @@ -179,7 +179,7 @@ impl Attr { assert_eq!(Some(owner), self.owner().as_deref()); owner.will_mutate_attr(self); self.swap_value(&mut value); - if *self.namespace() == ns!() { + if is_relevant_attribute(self.namespace(), self.local_name()) { vtable_for(owner.upcast()).attribute_mutated( self, AttributeMutation::Set(Some(&value)), @@ -283,3 +283,9 @@ impl<'dom> AttrHelpersForLayout<'dom> for LayoutDom<'dom, Attr> { &self.unsafe_get().identifier.namespace.0 } } + +/// A helper function to check if attribute is relevant. +pub(crate) fn is_relevant_attribute(namespace: &Namespace, local_name: &LocalName) -> bool { + // + namespace == &ns!() || (namespace == &ns!(xlink) && local_name == &local_name!("href")) +} diff --git a/components/script/dom/create.rs b/components/script/dom/create.rs index 5722dc4f6ac..2e7c4cf8def 100644 --- a/components/script/dom/create.rs +++ b/components/script/dom/create.rs @@ -85,6 +85,7 @@ use crate::dom::htmlulistelement::HTMLUListElement; use crate::dom::htmlunknownelement::HTMLUnknownElement; use crate::dom::htmlvideoelement::HTMLVideoElement; use crate::dom::svgelement::SVGElement; +use crate::dom::svgimageelement::SVGImageElement; use crate::dom::svgsvgelement::SVGSVGElement; use crate::realms::{InRealm, enter_realm}; use crate::script_runtime::CanGc; @@ -114,6 +115,7 @@ fn create_svg_element( } match name.local { + local_name!("image") => make!(SVGImageElement), local_name!("svg") => make!(SVGSVGElement), _ => make!(SVGElement), } diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 4f1b957c12c..a73c5347d70 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -65,7 +65,7 @@ use xml5ever::serialize::TraversalScope::{ use crate::conversions::Convert; use crate::dom::activation::Activatable; -use crate::dom::attr::{Attr, AttrHelpersForLayout}; +use crate::dom::attr::{Attr, AttrHelpersForLayout, is_relevant_attribute}; use crate::dom::bindings::cell::{DomRefCell, Ref, RefMut, ref_filter_map}; use crate::dom::bindings::codegen::Bindings::AttrBinding::AttrMethods; use crate::dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; @@ -1705,7 +1705,7 @@ impl Element { assert!(attr.GetOwnerElement().as_deref() == Some(self)); self.will_mutate_attr(attr); self.attrs.borrow_mut().push(Dom::from_ref(attr)); - if attr.namespace() == &ns!() { + if is_relevant_attribute(attr.namespace(), attr.local_name()) { vtable_for(self.upcast()).attribute_mutated(attr, AttributeMutation::Set(None), can_gc); } } @@ -1847,7 +1847,7 @@ impl Element { local_name: &LocalName, value: DOMString, ) -> AttrValue { - if *namespace == ns!() { + if is_relevant_attribute(namespace, local_name) { vtable_for(self.upcast()).parse_plain_attribute(local_name, value) } else { AttrValue::String(value.into()) @@ -1902,7 +1902,7 @@ impl Element { self.attrs.borrow_mut().remove(idx); attr.set_owner(None); - if attr.namespace() == &ns!() { + if is_relevant_attribute(attr.namespace(), attr.local_name()) { vtable_for(self.upcast()).attribute_mutated( &attr, AttributeMutation::Removed, @@ -2722,7 +2722,7 @@ impl ElementMethods for Element { attr.set_owner(Some(self)); self.attrs.borrow_mut()[position] = Dom::from_ref(attr); old_attr.set_owner(None); - if attr.namespace() == &ns!() { + if is_relevant_attribute(attr.namespace(), attr.local_name()) { vtable.attribute_mutated( attr, AttributeMutation::Set(Some(&old_attr.value())), diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index 1622cf57b79..91a4e1b1359 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -547,6 +547,7 @@ pub(crate) mod submitevent; pub(crate) mod subtlecrypto; pub(crate) mod svgelement; pub(crate) mod svggraphicselement; +pub(crate) mod svgimageelement; pub(crate) mod svgsvgelement; pub(crate) mod testbinding; pub(crate) mod testbindingiterable; diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index ca785773b48..5f08abce354 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -4206,6 +4206,9 @@ impl From for LayoutElementType { ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement) => { LayoutElementType::HTMLTextAreaElement }, + ElementTypeId::SVGElement(SVGElementTypeId::SVGGraphicsElement( + SVGGraphicsElementTypeId::SVGImageElement, + )) => LayoutElementType::SVGImageElement, ElementTypeId::SVGElement(SVGElementTypeId::SVGGraphicsElement( SVGGraphicsElementTypeId::SVGSVGElement, )) => LayoutElementType::SVGSVGElement, diff --git a/components/script/dom/svgelement.rs b/components/script/dom/svgelement.rs index 9c8b990826d..0f36d942f3e 100644 --- a/components/script/dom/svgelement.rs +++ b/components/script/dom/svgelement.rs @@ -82,6 +82,9 @@ impl SVGElementMethods for SVGElement { }) } + // + global_event_handlers!(); + // FIXME: The nonce should be stored in an internal slot instead of an // attribute (https://html.spec.whatwg.org/multipage/#cryptographicnonce) // https://html.spec.whatwg.org/multipage/#dom-noncedelement-nonce diff --git a/components/script/dom/svgimageelement.rs b/components/script/dom/svgimageelement.rs new file mode 100644 index 00000000000..17a5a9149d8 --- /dev/null +++ b/components/script/dom/svgimageelement.rs @@ -0,0 +1,96 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +use dom_struct::dom_struct; +use html5ever::{LocalName, Prefix, local_name, ns}; +use js::rust::HandleObject; +use style::attr::AttrValue; + +use crate::dom::attr::Attr; +use crate::dom::bindings::inheritance::Castable; +use crate::dom::bindings::root::DomRoot; +use crate::dom::bindings::str::DOMString; +use crate::dom::document::Document; +use crate::dom::element::AttributeMutation; +use crate::dom::node::{Node, NodeTraits}; +use crate::dom::svggraphicselement::SVGGraphicsElement; +use crate::dom::virtualmethods::VirtualMethods; +use crate::script_runtime::CanGc; + +/// +const DEFAULT_WIDTH: u32 = 300; +const DEFAULT_HEIGHT: u32 = 150; + +#[dom_struct] +pub(crate) struct SVGImageElement { + svggraphicselement: SVGGraphicsElement, +} + +impl SVGImageElement { + fn new_inherited( + local_name: LocalName, + prefix: Option, + document: &Document, + ) -> SVGImageElement { + SVGImageElement { + svggraphicselement: SVGGraphicsElement::new_inherited(local_name, prefix, document), + } + } + + #[cfg_attr(crown, allow(crown::unrooted_must_root))] + pub(crate) fn new( + local_name: LocalName, + prefix: Option, + document: &Document, + proto: Option, + can_gc: CanGc, + ) -> DomRoot { + Node::reflect_node_with_proto( + Box::new(SVGImageElement::new_inherited(local_name, prefix, document)), + document, + proto, + can_gc, + ) + } + + /// + fn fetch_image_resource(&self) { + // TODO: Process and fetch the image resource (as HTMLImageElement). + // Reject any resource fetching request immediately. + self.owner_global() + .task_manager() + .dom_manipulation_task_source() + .queue_simple_event(self.upcast(), atom!("error")); + } +} + +impl VirtualMethods for SVGImageElement { + fn super_type(&self) -> Option<&dyn VirtualMethods> { + Some(self.upcast::() as &dyn VirtualMethods) + } + + fn attribute_mutated(&self, attr: &Attr, mutation: AttributeMutation, can_gc: CanGc) { + self.super_type() + .unwrap() + .attribute_mutated(attr, mutation, can_gc); + if attr.local_name() == &local_name!("href") && + matches!(attr.namespace(), &ns!() | &ns!(xlink)) + { + if let AttributeMutation::Set(_) = mutation { + self.fetch_image_resource(); + } + } + } + + fn parse_plain_attribute(&self, name: &LocalName, value: DOMString) -> AttrValue { + match *name { + local_name!("width") => AttrValue::from_u32(value.into(), DEFAULT_WIDTH), + local_name!("height") => AttrValue::from_u32(value.into(), DEFAULT_HEIGHT), + _ => self + .super_type() + .unwrap() + .parse_plain_attribute(name, value), + } + } +} diff --git a/components/script/dom/virtualmethods.rs b/components/script/dom/virtualmethods.rs index 57ecba7b172..1d992b1f301 100644 --- a/components/script/dom/virtualmethods.rs +++ b/components/script/dom/virtualmethods.rs @@ -61,6 +61,7 @@ use crate::dom::htmlvideoelement::HTMLVideoElement; use crate::dom::node::{BindContext, ChildrenMutation, CloneChildrenFlag, Node, UnbindContext}; use crate::dom::shadowroot::ShadowRoot; use crate::dom::svgelement::SVGElement; +use crate::dom::svgimageelement::SVGImageElement; use crate::dom::svgsvgelement::SVGSVGElement; /// Trait to allow DOM nodes to opt-in to overriding (or adding to) common @@ -298,6 +299,9 @@ pub(crate) fn vtable_for(node: &Node) -> &dyn VirtualMethods { NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTitleElement)) => { node.downcast::().unwrap() as &dyn VirtualMethods }, + NodeTypeId::Element(ElementTypeId::SVGElement(SVGElementTypeId::SVGGraphicsElement( + SVGGraphicsElementTypeId::SVGImageElement, + ))) => node.downcast::().unwrap() as &dyn VirtualMethods, NodeTypeId::Element(ElementTypeId::SVGElement(SVGElementTypeId::SVGGraphicsElement( SVGGraphicsElementTypeId::SVGSVGElement, ))) => node.downcast::().unwrap() as &dyn VirtualMethods, diff --git a/components/script_bindings/webidls/SVGElement.webidl b/components/script_bindings/webidls/SVGElement.webidl index e6bc468d5dc..08bcb4a8c99 100644 --- a/components/script_bindings/webidls/SVGElement.webidl +++ b/components/script_bindings/webidls/SVGElement.webidl @@ -18,7 +18,7 @@ interface SVGElement : Element { //void blur(); }; -//SVGElement includes GlobalEventHandlers; +SVGElement includes GlobalEventHandlers; //SVGElement includes SVGElementInstance; SVGElement includes ElementCSSInlineStyle; SVGElement includes HTMLOrSVGElement; diff --git a/components/script_bindings/webidls/SVGImageElement.webidl b/components/script_bindings/webidls/SVGImageElement.webidl new file mode 100644 index 00000000000..bced6277c5e --- /dev/null +++ b/components/script_bindings/webidls/SVGImageElement.webidl @@ -0,0 +1,16 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +// https://svgwg.org/svg2-draft/embedded.html#InterfaceSVGImageElement +[Exposed=Window, Pref="dom_svg_enabled"] +interface SVGImageElement : SVGGraphicsElement { + //[SameObject] readonly attribute SVGAnimatedLength x; + //[SameObject] readonly attribute SVGAnimatedLength y; + //[SameObject] readonly attribute SVGAnimatedLength width; + //[SameObject] readonly attribute SVGAnimatedLength height; + //[SameObject] readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; + //attribute DOMString? crossOrigin; +}; + +//SVGImageElement includes SVGURIReference; diff --git a/components/shared/script_layout/lib.rs b/components/shared/script_layout/lib.rs index 8c5d4edc4e0..1f526b64240 100644 --- a/components/shared/script_layout/lib.rs +++ b/components/shared/script_layout/lib.rs @@ -114,6 +114,7 @@ pub enum LayoutElementType { HTMLTableRowElement, HTMLTableSectionElement, HTMLTextAreaElement, + SVGImageElement, SVGSVGElement, } diff --git a/tests/wpt/meta/fetch/metadata/generated/svg-image.https.sub.html.ini b/tests/wpt/meta/fetch/metadata/generated/svg-image.https.sub.html.ini index 5d85add7f82..1e547ae5f21 100644 --- a/tests/wpt/meta/fetch/metadata/generated/svg-image.https.sub.html.ini +++ b/tests/wpt/meta/fetch/metadata/generated/svg-image.https.sub.html.ini @@ -1,70 +1,69 @@ [svg-image.https.sub.html] - expected: TIMEOUT [sec-fetch-site - Same origin no attributes] - expected: TIMEOUT + expected: FAIL [sec-fetch-site - Cross-site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Cross-Site -> Same Origin no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Cross-Site -> Same-Site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Cross-Site -> Cross-Site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Origin -> Same Origin no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Origin -> Same-Site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Origin -> Cross-Site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Site -> Same Origin no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Site -> Same-Site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Same-Site -> Cross-Site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - HTTPS downgrade-upgrade no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-mode no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-mode attributes: crossorigin] - expected: NOTRUN + expected: FAIL [sec-fetch-mode attributes: crossorigin=anonymous] - expected: NOTRUN + expected: FAIL [sec-fetch-mode attributes: crossorigin=use-credentials] - expected: NOTRUN + expected: FAIL [sec-fetch-dest no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-user no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-storage-access - Cross-site no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-storage-access - Same site no attributes] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/meta/fetch/metadata/generated/svg-image.sub.html.ini b/tests/wpt/meta/fetch/metadata/generated/svg-image.sub.html.ini index dc3a74db79c..cec7a0548b1 100644 --- a/tests/wpt/meta/fetch/metadata/generated/svg-image.sub.html.ini +++ b/tests/wpt/meta/fetch/metadata/generated/svg-image.sub.html.ini @@ -1,55 +1,54 @@ [svg-image.sub.html] - expected: TIMEOUT [sec-fetch-site - Not sent to non-trustworthy same-origin destination no attributes] - expected: TIMEOUT + expected: FAIL [sec-fetch-site - Not sent to non-trustworthy same-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - Not sent to non-trustworthy cross-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-mode - Not sent to non-trustworthy same-origin destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-mode - Not sent to non-trustworthy same-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-mode - Not sent to non-trustworthy cross-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-dest - Not sent to non-trustworthy same-origin destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-dest - Not sent to non-trustworthy same-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-dest - Not sent to non-trustworthy cross-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-user - Not sent to non-trustworthy same-origin destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-user - Not sent to non-trustworthy same-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-user - Not sent to non-trustworthy cross-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - HTTPS downgrade (header not sent) no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - HTTPS upgrade no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-site - HTTPS downgrade-upgrade no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-storage-access - Not sent to non-trustworthy same-origin destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-storage-access - Not sent to non-trustworthy same-site destination no attributes] - expected: NOTRUN + expected: FAIL [sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination no attributes] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini index c94490ae5ee..9cf5b2af86a 100644 --- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini @@ -1,13 +1,13 @@ [createImageBitmap-drawImage.html] expected: ERROR [createImageBitmap from an OffscreenCanvas resized, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a vector HTMLImageElement resized, and drawImage on the created ImageBitmap] expected: FAIL [createImageBitmap from an OffscreenCanvas, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLCanvasElement, and drawImage on the created ImageBitmap] expected: FAIL @@ -22,34 +22,34 @@ expected: FAIL [createImageBitmap from an ImageData scaled down, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an OffscreenCanvas scaled down, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a bitmap SVGImageElement, and drawImage on the created ImageBitmap] - expected: TIMEOUT + expected: FAIL [createImageBitmap from a bitmap SVGImageElement resized, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLCanvasElement scaled down, and drawImage on the created ImageBitmap] expected: FAIL [createImageBitmap from a vector SVGImageElement, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageData scaled up, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLVideoElement with negative sw/sh, and drawImage on the created ImageBitmap] expected: FAIL [createImageBitmap from a bitmap SVGImageElement scaled up, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a vector SVGImageElement resized, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a bitmap HTMLImageElement scaled up, and drawImage on the created ImageBitmap] expected: FAIL @@ -58,10 +58,10 @@ expected: FAIL [createImageBitmap from a vector SVGImageElement scaled down, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a vector SVGImageElement with negative sw/sh, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a bitmap HTMLImageElement scaled down, and drawImage on the created ImageBitmap] expected: FAIL @@ -73,16 +73,16 @@ expected: FAIL [createImageBitmap from a Blob scaled down, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageData resized, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a vector HTMLImageElement scaled down, and drawImage on the created ImageBitmap] expected: FAIL [createImageBitmap from an ImageData, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLCanvasElement with negative sw/sh, and drawImage on the created ImageBitmap] expected: FAIL @@ -91,16 +91,16 @@ expected: FAIL [createImageBitmap from a vector SVGImageElement scaled up, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageBitmap, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a Blob scaled up, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a bitmap SVGImageElement scaled down, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLVideoElement scaled up, and drawImage on the created ImageBitmap] expected: FAIL @@ -109,7 +109,7 @@ expected: FAIL [createImageBitmap from a Blob, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLVideoElement resized, and drawImage on the created ImageBitmap] expected: FAIL @@ -118,31 +118,31 @@ expected: FAIL [createImageBitmap from an ImageBitmap scaled down, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a Blob with negative sw/sh, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a bitmap SVGImageElement with negative sw/sh, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageData with negative sw/sh, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageBitmap scaled up, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageBitmap resized, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an OffscreenCanvas scaled up, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLCanvasElement scaled up, and drawImage on the created ImageBitmap] expected: FAIL [createImageBitmap from a Blob resized, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLVideoElement from a data URL, and drawImage on the created ImageBitmap] expected: FAIL @@ -154,10 +154,10 @@ expected: FAIL [createImageBitmap from an ImageBitmap with negative sw/sh, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an OffscreenCanvas with negative sw/sh, and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a vector HTMLImageElement with negative sw/sh, and drawImage on the created ImageBitmap] expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-flipY.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-flipY.html.ini index f08e8a2918a..0cb93c5abc9 100644 --- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-flipY.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-flipY.html.ini @@ -4,7 +4,7 @@ expected: NOTRUN [createImageBitmap from a vector SVGImageElement imageOrientation: "flipY", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLCanvasElement imageOrientation: "none", and drawImage on the created ImageBitmap] expected: FAIL @@ -16,7 +16,7 @@ expected: FAIL [createImageBitmap from an OffscreenCanvas imageOrientation: "flipY", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a vector HTMLImageElement imageOrientation: "flipY", and drawImage on the created ImageBitmap] expected: FAIL @@ -25,7 +25,7 @@ expected: FAIL [createImageBitmap from a Blob imageOrientation: "flipY", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an HTMLCanvasElement imageOrientation: "flipY", and drawImage on the created ImageBitmap] expected: FAIL @@ -34,7 +34,7 @@ expected: FAIL [createImageBitmap from an ImageData imageOrientation: "flipY", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a bitmap HTMLImageElement imageOrientation: "flipY", and drawImage on the created ImageBitmap] expected: FAIL @@ -43,7 +43,7 @@ expected: NOTRUN [createImageBitmap from an ImageBitmap imageOrientation: "flipY", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a vector HTMLImageElement imageOrientation: "none", and drawImage on the created ImageBitmap] expected: FAIL @@ -61,7 +61,7 @@ expected: FAIL [createImageBitmap from a bitmap SVGImageElement imageOrientation: "flipY", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a bitmap SVGImageElement imageOrientation: "none", and drawImage on the created ImageBitmap] expected: TIMEOUT @@ -82,19 +82,19 @@ expected: FAIL [createImageBitmap from a bitmap SVGImageElement imageOrientation: "from-image", and drawImage on the created ImageBitmap] - expected: TIMEOUT + expected: FAIL [createImageBitmap from a vector SVGImageElement imageOrientation: "from-image", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an OffscreenCanvas imageOrientation: "from-image", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageData imageOrientation: "from-image", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from an ImageBitmap imageOrientation: "from-image", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL [createImageBitmap from a Blob imageOrientation: "from-image", and drawImage on the created ImageBitmap] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini index 673fc1e4ffd..aba246039a0 100644 --- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini @@ -1,5 +1,5 @@ [createImageBitmap-invalid-args.html] - expected: ERROR + expected: CRASH [createImageBitmap with a vector HTMLImageElement source and sw set to 0] expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-origin.sub.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-origin.sub.html.ini index 210d26f7740..d7226bfed74 100644 --- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-origin.sub.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-origin.sub.html.ini @@ -1,34 +1,34 @@ [createImageBitmap-origin.sub.html] expected: TIMEOUT [redirected to cross-origin HTMLVideoElement: origin unclear 2dContext.drawImage] - expected: NOTRUN + expected: FAIL [redirected to cross-origin HTMLVideoElement: origin unclear bitmaprenderer.transferFromImageBitmap] - expected: NOTRUN + expected: FAIL [unclean HTMLCanvasElement: origin unclear bitmaprenderer.transferFromImageBitmap] - expected: NOTRUN + expected: FAIL [unclean HTMLCanvasElement: origin unclear getImageData] - expected: NOTRUN + expected: FAIL [cross-origin HTMLVideoElement: origin unclear getImageData] - expected: NOTRUN + expected: FAIL [cross-origin SVGImageElement: origin unclear bitmaprenderer.transferFromImageBitmap] - expected: NOTRUN + expected: FAIL [cross-origin HTMLVideoElement: origin unclear bitmaprenderer.transferFromImageBitmap] - expected: NOTRUN + expected: FAIL [redirected to same-origin HTMLVideoElement: origin unclear getImageData] - expected: NOTRUN + expected: FAIL [cross-origin HTMLImageElement: origin unclear 2dContext.drawImage] expected: FAIL [cross-origin SVGImageElement: origin unclear 2dContext.drawImage] - expected: NOTRUN + expected: FAIL [cross-origin HTMLImageElement: origin unclear getImageData] expected: FAIL @@ -37,28 +37,28 @@ expected: FAIL [redirected to same-origin HTMLVideoElement: origin unclear 2dContext.drawImage] - expected: NOTRUN + expected: FAIL [unclean ImageBitmap: origin unclear bitmaprenderer.transferFromImageBitmap] - expected: NOTRUN + expected: FAIL [redirected to same-origin HTMLVideoElement: origin unclear bitmaprenderer.transferFromImageBitmap] - expected: NOTRUN + expected: FAIL [redirected to cross-origin HTMLVideoElement: origin unclear getImageData] - expected: NOTRUN + expected: FAIL [unclean ImageBitmap: origin unclear getImageData] - expected: NOTRUN + expected: FAIL [unclean HTMLCanvasElement: origin unclear 2dContext.drawImage] - expected: NOTRUN + expected: FAIL [cross-origin HTMLVideoElement: origin unclear 2dContext.drawImage] - expected: NOTRUN + expected: FAIL [unclean ImageBitmap: origin unclear 2dContext.drawImage] - expected: NOTRUN + expected: FAIL [cross-origin SVGImageElement: origin unclear getImageData] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini index 7616121487c..4234bcb2133 100644 --- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini @@ -1,7 +1,6 @@ [createImageBitmap-serializable.html] - expected: TIMEOUT [Serialize ImageBitmap created from a vector SVGImageElement] - expected: NOTRUN + expected: FAIL [Serialize ImageBitmap created from an HTMLVideoElement] expected: FAIL @@ -13,25 +12,25 @@ expected: FAIL [Serialize ImageBitmap created from an OffscreenCanvas] - expected: NOTRUN + expected: FAIL [Serialize ImageBitmap created from a vector HTMLImageElement] expected: FAIL [Serialize ImageBitmap created from a Blob] - expected: NOTRUN + expected: FAIL [Serialize ImageBitmap created from a bitmap HTMLImageElement] expected: FAIL [Serializing a non-origin-clean ImageBitmap throws.] - expected: NOTRUN + expected: FAIL [Serialize ImageBitmap created from an ImageData] - expected: NOTRUN + expected: FAIL [Serialize ImageBitmap created from an ImageBitmap] - expected: NOTRUN + expected: FAIL [Serialize ImageBitmap created from a bitmap SVGImageElement] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini index 5d2657041d1..cff84fd3a26 100644 --- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini @@ -1,22 +1,21 @@ [createImageBitmap-transfer.html] - expected: ERROR [Transfer ImageBitmap created from a vector HTMLImageElement] expected: FAIL [Transfer ImageBitmap created from an ImageData] - expected: NOTRUN + expected: FAIL [Transfer ImageBitmap created from a vector SVGImageElement] - expected: NOTRUN + expected: FAIL [Transfer ImageBitmap created from a Blob] - expected: NOTRUN + expected: FAIL [Transfer ImageBitmap created from an HTMLCanvasElement] expected: FAIL [Transfer ImageBitmap created from an OffscreenCanvas] - expected: NOTRUN + expected: FAIL [Transfer ImageBitmap created from a bitmap HTMLImageElement] expected: FAIL @@ -25,13 +24,13 @@ expected: FAIL [Transfer ImageBitmap created from a bitmap SVGImageElement] - expected: TIMEOUT + expected: FAIL [Transfer ImageBitmap created from an ImageBitmap] - expected: NOTRUN + expected: FAIL [Transfer ImageBitmap created from an HTMLVideoElement] expected: FAIL [Transferring a non-origin-clean ImageBitmap throws.] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/meta/html/dom/idlharness.https.html.ini b/tests/wpt/meta/html/dom/idlharness.https.html.ini index 311e3abaf15..981cd249aa6 100644 --- a/tests/wpt/meta/html/dom/idlharness.https.html.ini +++ b/tests/wpt/meta/html/dom/idlharness.https.html.ini @@ -5123,231 +5123,6 @@ [External interface: window.external must inherit property "IsSearchProviderInstalled()" with the proper type] expected: FAIL - [SVGElement interface: attribute onabort] - expected: FAIL - - [SVGElement interface: attribute onauxclick] - expected: FAIL - - [SVGElement interface: attribute onbeforeinput] - expected: FAIL - - [SVGElement interface: attribute onbeforematch] - expected: FAIL - - [SVGElement interface: attribute onbeforetoggle] - expected: FAIL - - [SVGElement interface: attribute onblur] - expected: FAIL - - [SVGElement interface: attribute oncancel] - expected: FAIL - - [SVGElement interface: attribute oncanplay] - expected: FAIL - - [SVGElement interface: attribute oncanplaythrough] - expected: FAIL - - [SVGElement interface: attribute onchange] - expected: FAIL - - [SVGElement interface: attribute onclick] - expected: FAIL - - [SVGElement interface: attribute onclose] - expected: FAIL - - [SVGElement interface: attribute oncontextlost] - expected: FAIL - - [SVGElement interface: attribute oncontextmenu] - expected: FAIL - - [SVGElement interface: attribute oncontextrestored] - expected: FAIL - - [SVGElement interface: attribute oncopy] - expected: FAIL - - [SVGElement interface: attribute oncuechange] - expected: FAIL - - [SVGElement interface: attribute oncut] - expected: FAIL - - [SVGElement interface: attribute ondblclick] - expected: FAIL - - [SVGElement interface: attribute ondrag] - expected: FAIL - - [SVGElement interface: attribute ondragend] - expected: FAIL - - [SVGElement interface: attribute ondragenter] - expected: FAIL - - [SVGElement interface: attribute ondragleave] - expected: FAIL - - [SVGElement interface: attribute ondragover] - expected: FAIL - - [SVGElement interface: attribute ondragstart] - expected: FAIL - - [SVGElement interface: attribute ondrop] - expected: FAIL - - [SVGElement interface: attribute ondurationchange] - expected: FAIL - - [SVGElement interface: attribute onemptied] - expected: FAIL - - [SVGElement interface: attribute onended] - expected: FAIL - - [SVGElement interface: attribute onerror] - expected: FAIL - - [SVGElement interface: attribute onfocus] - expected: FAIL - - [SVGElement interface: attribute onformdata] - expected: FAIL - - [SVGElement interface: attribute oninput] - expected: FAIL - - [SVGElement interface: attribute oninvalid] - expected: FAIL - - [SVGElement interface: attribute onkeydown] - expected: FAIL - - [SVGElement interface: attribute onkeypress] - expected: FAIL - - [SVGElement interface: attribute onkeyup] - expected: FAIL - - [SVGElement interface: attribute onload] - expected: FAIL - - [SVGElement interface: attribute onloadeddata] - expected: FAIL - - [SVGElement interface: attribute onloadedmetadata] - expected: FAIL - - [SVGElement interface: attribute onloadstart] - expected: FAIL - - [SVGElement interface: attribute onmousedown] - expected: FAIL - - [SVGElement interface: attribute onmouseenter] - expected: FAIL - - [SVGElement interface: attribute onmouseleave] - expected: FAIL - - [SVGElement interface: attribute onmousemove] - expected: FAIL - - [SVGElement interface: attribute onmouseout] - expected: FAIL - - [SVGElement interface: attribute onmouseover] - expected: FAIL - - [SVGElement interface: attribute onmouseup] - expected: FAIL - - [SVGElement interface: attribute onpaste] - expected: FAIL - - [SVGElement interface: attribute onpause] - expected: FAIL - - [SVGElement interface: attribute onplay] - expected: FAIL - - [SVGElement interface: attribute onplaying] - expected: FAIL - - [SVGElement interface: attribute onprogress] - expected: FAIL - - [SVGElement interface: attribute onratechange] - expected: FAIL - - [SVGElement interface: attribute onreset] - expected: FAIL - - [SVGElement interface: attribute onresize] - expected: FAIL - - [SVGElement interface: attribute onscroll] - expected: FAIL - - [SVGElement interface: attribute onscrollend] - expected: FAIL - - [SVGElement interface: attribute onsecuritypolicyviolation] - expected: FAIL - - [SVGElement interface: attribute onseeked] - expected: FAIL - - [SVGElement interface: attribute onseeking] - expected: FAIL - - [SVGElement interface: attribute onselect] - expected: FAIL - - [SVGElement interface: attribute onslotchange] - expected: FAIL - - [SVGElement interface: attribute onstalled] - expected: FAIL - - [SVGElement interface: attribute onsubmit] - expected: FAIL - - [SVGElement interface: attribute onsuspend] - expected: FAIL - - [SVGElement interface: attribute ontimeupdate] - expected: FAIL - - [SVGElement interface: attribute ontoggle] - expected: FAIL - - [SVGElement interface: attribute onvolumechange] - expected: FAIL - - [SVGElement interface: attribute onwaiting] - expected: FAIL - - [SVGElement interface: attribute onwebkitanimationend] - expected: FAIL - - [SVGElement interface: attribute onwebkitanimationiteration] - expected: FAIL - - [SVGElement interface: attribute onwebkitanimationstart] - expected: FAIL - - [SVGElement interface: attribute onwebkittransitionend] - expected: FAIL - - [SVGElement interface: attribute onwheel] - expected: FAIL - [SVGElement interface: attribute dataset] expected: FAIL @@ -5444,9 +5219,6 @@ [CommandEvent interface: attribute command] expected: FAIL - [SVGElement interface: attribute oncommand] - expected: FAIL - [CanvasRenderingContext2D interface: attribute lang] expected: FAIL diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini index cacfdf56967..81329bc1635 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini @@ -1,16 +1,16 @@ [security.pattern.fillStyle.sub.html] expected: TIMEOUT [cross-origin SVGImageElement: Setting fillStyle to an origin-unclean pattern makes the canvas origin-unclean] - expected: TIMEOUT + expected: FAIL [cross-origin HTMLVideoElement: Setting fillStyle to an origin-unclean pattern makes the canvas origin-unclean] - expected: NOTRUN + expected: FAIL [redirected to cross-origin HTMLVideoElement: Setting fillStyle to an origin-unclean pattern makes the canvas origin-unclean] - expected: NOTRUN + expected: FAIL [redirected to same-origin HTMLVideoElement: Setting fillStyle to an origin-unclean pattern makes the canvas origin-unclean] - expected: NOTRUN + expected: TIMEOUT [unclean HTMLCanvasElement: Setting fillStyle to an origin-unclean pattern makes the canvas origin-unclean] expected: NOTRUN diff --git a/tests/wpt/meta/html/webappapis/scripting/events/event-handler-all-global-events.html.ini b/tests/wpt/meta/html/webappapis/scripting/events/event-handler-all-global-events.html.ini index 4d4bbb8a39e..5c286c73da4 100644 --- a/tests/wpt/meta/html/webappapis/scripting/events/event-handler-all-global-events.html.ini +++ b/tests/wpt/meta/html/webappapis/scripting/events/event-handler-all-global-events.html.ini @@ -1,460 +1,16 @@ [event-handler-all-global-events.html] - [onabort: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onabort: the default value must be null] - expected: FAIL - - [onauxclick: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onauxclick: the default value must be null] - expected: FAIL - - [onblur: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onblur: the default value must be null] - expected: FAIL - - [oncancel: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncancel: the default value must be null] - expected: FAIL - - [oncanplay: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncanplay: the default value must be null] - expected: FAIL - - [oncanplaythrough: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncanplaythrough: the default value must be null] - expected: FAIL - - [onchange: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onchange: the default value must be null] - expected: FAIL - - [onclick: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onclick: the default value must be null] - expected: FAIL - - [onclose: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onclose: the default value must be null] - expected: FAIL - - [oncontextlost: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncontextlost: the default value must be null] - expected: FAIL - - [oncontextmenu: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncontextmenu: the default value must be null] - expected: FAIL - - [oncontextrestored: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncontextrestored: the default value must be null] - expected: FAIL - - [oncuechange: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncuechange: the default value must be null] - expected: FAIL - - [ondblclick: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondblclick: the default value must be null] - expected: FAIL - - [ondrag: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondrag: the default value must be null] - expected: FAIL - - [ondragend: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondragend: the default value must be null] - expected: FAIL - - [ondragenter: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondragenter: the default value must be null] - expected: FAIL - - [ondragleave: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondragleave: the default value must be null] - expected: FAIL - - [ondragover: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondragover: the default value must be null] - expected: FAIL - - [ondragstart: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondragstart: the default value must be null] - expected: FAIL - - [ondrop: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondrop: the default value must be null] - expected: FAIL - - [ondurationchange: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ondurationchange: the default value must be null] - expected: FAIL - - [onemptied: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onemptied: the default value must be null] - expected: FAIL - - [onended: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onended: the default value must be null] - expected: FAIL - - [onfocus: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onfocus: the default value must be null] - expected: FAIL - - [onformdata: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onformdata: the default value must be null] - expected: FAIL - - [oninput: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oninput: the default value must be null] - expected: FAIL - - [oninvalid: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oninvalid: the default value must be null] - expected: FAIL - - [onkeydown: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onkeydown: the default value must be null] - expected: FAIL - - [onkeypress: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onkeypress: the default value must be null] - expected: FAIL - - [onkeyup: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onkeyup: the default value must be null] - expected: FAIL - - [onload: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onload: the default value must be null] - expected: FAIL - - [onloadeddata: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onloadeddata: the default value must be null] - expected: FAIL - - [onloadedmetadata: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onloadedmetadata: the default value must be null] - expected: FAIL - - [onloadstart: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onloadstart: the default value must be null] - expected: FAIL - - [onmousedown: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onmousedown: the default value must be null] - expected: FAIL - - [onmouseenter: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onmouseenter: the default value must be null] - expected: FAIL - - [onmouseleave: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onmouseleave: the default value must be null] - expected: FAIL - - [onmousemove: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onmousemove: the default value must be null] - expected: FAIL - - [onmouseout: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onmouseout: the default value must be null] - expected: FAIL - - [onmouseover: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onmouseover: the default value must be null] - expected: FAIL - - [onmouseup: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onmouseup: the default value must be null] - expected: FAIL - - [onpause: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onpause: the default value must be null] - expected: FAIL - - [onplay: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onplay: the default value must be null] - expected: FAIL - - [onplaying: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onplaying: the default value must be null] - expected: FAIL - - [onprogress: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onprogress: the default value must be null] - expected: FAIL - - [onratechange: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onratechange: the default value must be null] - expected: FAIL - - [onreset: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onreset: the default value must be null] - expected: FAIL - - [onresize: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onresize: the default value must be null] - expected: FAIL - - [onscroll: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onscroll: the default value must be null] - expected: FAIL - - [onsecuritypolicyviolation: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onsecuritypolicyviolation: the default value must be null] - expected: FAIL - - [onseeked: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onseeked: the default value must be null] - expected: FAIL - - [onseeking: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onseeking: the default value must be null] - expected: FAIL - - [onselect: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onselect: the default value must be null] - expected: FAIL - - [onslotchange: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onslotchange: the default value must be null] - expected: FAIL - - [onstalled: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onstalled: the default value must be null] - expected: FAIL - - [onsubmit: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onsubmit: the default value must be null] - expected: FAIL - - [onsuspend: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onsuspend: the default value must be null] - expected: FAIL - - [ontimeupdate: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ontimeupdate: the default value must be null] - expected: FAIL - - [ontoggle: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [ontoggle: the default value must be null] - expected: FAIL - - [onvolumechange: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onvolumechange: the default value must be null] - expected: FAIL - - [onwaiting: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onwaiting: the default value must be null] - expected: FAIL - - [onwebkitanimationend: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onwebkitanimationend: the default value must be null] - expected: FAIL - [onwebkitanimationend: the content attribute must execute when an event is dispatched] expected: FAIL - [onwebkitanimationiteration: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onwebkitanimationiteration: the default value must be null] - expected: FAIL - [onwebkitanimationiteration: the content attribute must execute when an event is dispatched] expected: FAIL - [onwebkitanimationstart: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onwebkitanimationstart: the default value must be null] - expected: FAIL - [onwebkitanimationstart: the content attribute must execute when an event is dispatched] expected: FAIL - [onwebkittransitionend: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onwebkittransitionend: the default value must be null] - expected: FAIL - [onwebkittransitionend: the content attribute must execute when an event is dispatched] expected: FAIL - [onwheel: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onwheel: the default value must be null] - expected: FAIL - - [onbeforeinput: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onbeforeinput: the default value must be null] - expected: FAIL - - [onbeforematch: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onbeforematch: the default value must be null] - expected: FAIL - - [onscrollend: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onscrollend: the default value must be null] - expected: FAIL - - [oncopy: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncopy: the default value must be null] - expected: FAIL - - [oncut: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncut: the default value must be null] - expected: FAIL - - [onpaste: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onpaste: the default value must be null] - expected: FAIL - - [onbeforetoggle: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [onbeforetoggle: the default value must be null] - expected: FAIL - [onwebkitanimationend: dispatching an Event at a element must trigger element.onwebkitanimationend] expected: FAIL @@ -466,9 +22,3 @@ [onwebkittransitionend: dispatching an Event at a element must trigger element.onwebkittransitionend] expected: FAIL - - [oncommand: must be on the appropriate locations for GlobalEventHandlers] - expected: FAIL - - [oncommand: the default value must be null] - expected: FAIL diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 033a13106ac..2797b63f2ae 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -13582,7 +13582,7 @@ ] ], "interfaces.https.html": [ - "72918e837726b58740a491a9223eeeb625055ae5", + "eee8c799727b91e00b512795756b693a5f121f86", [ null, {} diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.https.html b/tests/wpt/mozilla/tests/mozilla/interfaces.https.html index 72918e83772..eee8c799727 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.https.html +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.https.html @@ -315,6 +315,7 @@ test_interfaces([ "SubtleCrypto", "SVGElement", "SVGGraphicsElement", + "SVGImageElement", "SVGRect", "SVGSVGElement", "Text",