From ef6f99d8f52549e40cee25ead7fabdf04c5bcc54 Mon Sep 17 00:00:00 2001 From: JayalakshmiV Date: Mon, 20 Apr 2020 08:18:33 -0700 Subject: [PATCH] implemented CreateImageBitmap function for Canvas image source --- components/script/dom/globalscope.rs | 71 ++++++++++++++++++- components/script/dom/imagebitmap.rs | 11 +++ .../webidls/WindowOrWorkerGlobalScope.webidl | 2 +- components/script/dom/window.rs | 15 ++++ components/script/dom/workerglobalscope.rs | 15 ++++ .../CSS2/floats/hit-test-floats-001.html.ini | 4 -- .../inline-negative-margin-001.html.ini | 5 +- ...space-separators-break-spaces-004.html.ini | 2 - ...QueryList-addListener-handleEvent.html.ini | 3 + .../elementFromPoint-list-001.html.ini | 3 + .../elementsFromPoint-invalid-cases.html.ini | 4 ++ .../fetch/content-type/response.window.js.ini | 19 +++-- .../fetch/content-type/script.window.js.ini | 6 ++ .../traverse_the_history_5.html.ini | 4 -- .../window-properties.https.html.ini | 3 - .../html/dom/idlharness.https.html.ini | 27 +++---- .../html/dom/idlharness.worker.js.ini | 6 -- .../transfer-errors.window.js.ini | 3 - ...rame_sandbox_popups_nonescaping-2.html.ini | 2 +- .../parsing/DOMContentLoaded-defer.html.ini | 4 -- ...ob-entry-different-function-realm.html.ini | 5 +- ...-rejection-events.dedicatedworker.html.ini | 3 - .../promise-rejection-events.html.ini | 3 - ...offscreencanvas.convert.to.blob.w.html.ini | 3 - .../filter/offscreencanvas.filter.w.html.ini | 1 - .../realtimeanalyser-fft-scaling.html.ini | 1 + .../audiobuffersource-multi-channels.html.ini | 27 +++++++ .../audiocontextoptions.html.ini | 1 + .../Worker/Worker-constructor.html.ini | 2 + .../tex-2d-alpha-alpha-unsigned_byte.html.ini | 4 ++ ...luminance-luminance-unsigned_byte.html.ini | 4 ++ ...pha-luminance_alpha-unsigned_byte.html.ini | 4 ++ .../tex-2d-rgb-rgb-unsigned_byte.html.ini | 4 ++ ...x-2d-rgb-rgb-unsigned_short_5_6_5.html.ini | 4 ++ .../tex-2d-rgba-rgba-unsigned_byte.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_4_4_4_4.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_5_5_5_1.html.ini | 4 ++ .../tex-2d-alpha-alpha-unsigned_byte.html.ini | 5 ++ ...luminance-luminance-unsigned_byte.html.ini | 5 ++ ...pha-luminance_alpha-unsigned_byte.html.ini | 5 ++ .../tex-2d-rgb-rgb-unsigned_byte.html.ini | 5 ++ ...x-2d-rgb-rgb-unsigned_short_5_6_5.html.ini | 5 ++ .../tex-2d-rgba-rgba-unsigned_byte.html.ini | 5 ++ ...-rgba-rgba-unsigned_short_4_4_4_4.html.ini | 5 ++ ...-rgba-rgba-unsigned_short_5_5_5_1.html.ini | 5 ++ .../tex-2d-alpha-alpha-unsigned_byte.html.ini | 4 ++ ...luminance-luminance-unsigned_byte.html.ini | 4 ++ ...pha-luminance_alpha-unsigned_byte.html.ini | 4 ++ .../tex-2d-rgb-rgb-unsigned_byte.html.ini | 4 ++ ...x-2d-rgb-rgb-unsigned_short_5_6_5.html.ini | 4 ++ .../tex-2d-rgba-rgba-unsigned_byte.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_4_4_4_4.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_5_5_5_1.html.ini | 4 ++ .../tex-2d-alpha-alpha-unsigned_byte.html.ini | 4 ++ ...luminance-luminance-unsigned_byte.html.ini | 4 ++ ...pha-luminance_alpha-unsigned_byte.html.ini | 4 ++ .../tex-2d-rgb-rgb-unsigned_byte.html.ini | 4 ++ ...x-2d-rgb-rgb-unsigned_short_5_6_5.html.ini | 4 ++ .../tex-2d-rgba-rgba-unsigned_byte.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_4_4_4_4.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_5_5_5_1.html.ini | 4 ++ .../tex-2d-alpha-alpha-unsigned_byte.html.ini | 4 ++ ...luminance-luminance-unsigned_byte.html.ini | 4 ++ ...pha-luminance_alpha-unsigned_byte.html.ini | 4 ++ .../tex-2d-rgb-rgb-unsigned_byte.html.ini | 4 ++ ...x-2d-rgb-rgb-unsigned_short_5_6_5.html.ini | 4 ++ .../tex-2d-rgba-rgba-unsigned_byte.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_4_4_4_4.html.ini | 4 ++ ...-rgba-rgba-unsigned_short_5_5_5_1.html.ini | 4 ++ .../tex-2d-alpha-alpha-unsigned_byte.html.ini | 5 ++ ...luminance-luminance-unsigned_byte.html.ini | 5 ++ ...pha-luminance_alpha-unsigned_byte.html.ini | 5 ++ .../tex-2d-rgb-rgb-unsigned_byte.html.ini | 5 ++ ...x-2d-rgb-rgb-unsigned_short_5_6_5.html.ini | 5 ++ .../tex-2d-rgba-rgba-unsigned_byte.html.ini | 5 ++ ...-rgba-rgba-unsigned_short_4_4_4_4.html.ini | 5 ++ ...-rgba-rgba-unsigned_short_5_5_5_1.html.ini | 5 ++ .../textures/misc/texture-size-limit.html.ini | 2 + 78 files changed, 394 insertions(+), 71 deletions(-) delete mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini delete mode 100644 tests/wpt/metadata/css/css-text/white-space/trailing-other-space-separators-break-spaces-004.html.ini create mode 100644 tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini delete mode 100644 tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini create mode 100644 tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-alpha-alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-luminance-luminance-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-rgb-rgb-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-rgba-rgba-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_blob/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-alpha-alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-luminance-luminance-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-rgb-rgb-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-alpha-alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-luminance-luminance-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-rgb-rgb-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-rgba-rgba-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-alpha-alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-luminance-luminance-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgb-rgb-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-alpha-alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-luminance-luminance-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-rgb-rgb-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-rgba-rgba-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_image_data/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini create mode 100644 tests/wpt/webgl/meta/conformance/textures/misc/texture-size-limit.html.ini diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs index ffa63d4eb37..4759524fb12 100644 --- a/components/script/dom/globalscope.rs +++ b/components/script/dom/globalscope.rs @@ -5,6 +5,9 @@ use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::BroadcastChannelBinding::BroadcastChannelMethods; use crate::dom::bindings::codegen::Bindings::EventSourceBinding::EventSourceBinding::EventSourceMethods; +use crate::dom::bindings::codegen::Bindings::ImageBitmapBinding::{ + ImageBitmapOptions, ImageBitmapSource, +}; use crate::dom::bindings::codegen::Bindings::PermissionStatusBinding::PermissionState; use crate::dom::bindings::codegen::Bindings::VoidFunctionBinding::VoidFunction; use crate::dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; @@ -31,6 +34,7 @@ use crate::dom::eventtarget::EventTarget; use crate::dom::file::File; use crate::dom::htmlscriptelement::ScriptId; use crate::dom::identityhub::Identities; +use crate::dom::imagebitmap::ImageBitmap; use crate::dom::messageevent::MessageEvent; use crate::dom::messageport::MessagePort; use crate::dom::paintworkletglobalscope::PaintWorkletGlobalScope; @@ -41,7 +45,7 @@ use crate::dom::window::Window; use crate::dom::workerglobalscope::WorkerGlobalScope; use crate::dom::workletglobalscope::WorkletGlobalScope; use crate::microtask::{Microtask, MicrotaskQueue, UserMicrotask}; -use crate::realms::{enter_realm, InRealm}; +use crate::realms::{enter_realm, AlreadyInRealm, InRealm}; use crate::script_module::ModuleTree; use crate::script_runtime::{CommonScriptMsg, JSContext as SafeJSContext, ScriptChan, ScriptPort}; use crate::script_thread::{MainThreadScriptChan, ScriptThread}; @@ -2227,6 +2231,71 @@ impl GlobalScope { })) } + pub fn create_image_bitmap( + &self, + image: ImageBitmapSource, + options: &ImageBitmapOptions, + ) -> Rc { + let in_realm_proof = AlreadyInRealm::assert(&self); + let p = Promise::new_in_current_realm(&self, InRealm::Already(&in_realm_proof)); + if options.resizeWidth.map_or(false, |w| w == 0) { + p.reject_error(Error::InvalidState); + return p; + } + + if options.resizeHeight.map_or(false, |w| w == 0) { + p.reject_error(Error::InvalidState); + return p; + } + + let promise = match image { + ImageBitmapSource::HTMLCanvasElement(ref canvas) => { + // https://html.spec.whatwg.org/multipage/#check-the-usability-of-the-image-argument + if !canvas.is_valid() { + p.reject_error(Error::InvalidState); + return p; + } + + if let Some((data, size)) = canvas.fetch_all_data() { + let data = data + .map(|data| data.to_vec()) + .unwrap_or_else(|| vec![0; size.area() as usize * 4]); + + let image_bitmap = ImageBitmap::new(&self, size.width, size.height).unwrap(); + + image_bitmap.set_bitmap_data(data); + image_bitmap.set_origin_clean(canvas.origin_is_clean()); + p.resolve_native(&(image_bitmap)); + } + p + }, + ImageBitmapSource::OffscreenCanvas(ref canvas) => { + // https://html.spec.whatwg.org/multipage/#check-the-usability-of-the-image-argument + if !canvas.is_valid() { + p.reject_error(Error::InvalidState); + return p; + } + + if let Some((data, size)) = canvas.fetch_all_data() { + let data = data + .map(|data| data.to_vec()) + .unwrap_or_else(|| vec![0; size.area() as usize * 4]); + + let image_bitmap = ImageBitmap::new(&self, size.width, size.height).unwrap(); + image_bitmap.set_bitmap_data(data); + image_bitmap.set_origin_clean(canvas.origin_is_clean()); + p.resolve_native(&(image_bitmap)); + } + p + }, + _ => { + p.reject_error(Error::NotSupported); + return p; + }, + }; + promise + } + pub fn fire_timer(&self, handle: TimerEventId) { self.timers.fire_timer(handle, self); } diff --git a/components/script/dom/imagebitmap.rs b/components/script/dom/imagebitmap.rs index e5d3ec6098e..72b4871490f 100644 --- a/components/script/dom/imagebitmap.rs +++ b/components/script/dom/imagebitmap.rs @@ -12,6 +12,7 @@ use crate::dom::bindings::error::Fallible; use crate::dom::bindings::reflector::{reflect_dom_object, Reflector}; use dom_struct::dom_struct; +use std::cell::Cell; use std::vec::Vec; #[dom_struct] @@ -20,6 +21,7 @@ pub struct ImageBitmap { width: u32, height: u32, bitmap_data: DomRefCell>, + origin_clean: Cell, } impl ImageBitmap { @@ -29,6 +31,7 @@ impl ImageBitmap { width: width_arg, height: height_arg, bitmap_data: DomRefCell::new(vec![]), + origin_clean: Cell::new(true), } } @@ -39,6 +42,14 @@ impl ImageBitmap { Ok(reflect_dom_object(imagebitmap, global)) } + + pub fn set_bitmap_data(&self, data: Vec) { + *self.bitmap_data.borrow_mut() = data; + } + + pub fn set_origin_clean(&self, origin_is_clean: bool) { + self.origin_clean.set(origin_is_clean); + } } impl ImageBitmapMethods for ImageBitmap { diff --git a/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl b/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl index 61f150f8e81..f348d7cf900 100644 --- a/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl +++ b/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl @@ -24,7 +24,7 @@ interface mixin WindowOrWorkerGlobalScope { void queueMicrotask(VoidFunction callback); // ImageBitmap - // Promise createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options); + Promise createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options = {}); // Promise createImageBitmap( // ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options); }; diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 9f37ec2240a..be76c65710b 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -7,6 +7,9 @@ use crate::dom::bindings::codegen::Bindings::DocumentBinding::{ DocumentMethods, DocumentReadyState, }; use crate::dom::bindings::codegen::Bindings::HistoryBinding::HistoryBinding::HistoryMethods; +use crate::dom::bindings::codegen::Bindings::ImageBitmapBinding::{ + ImageBitmapOptions, ImageBitmapSource, +}; use crate::dom::bindings::codegen::Bindings::MediaQueryListBinding::MediaQueryListBinding::MediaQueryListMethods; use crate::dom::bindings::codegen::Bindings::RequestBinding::RequestInit; use crate::dom::bindings::codegen::Bindings::VoidFunctionBinding::VoidFunction; @@ -889,6 +892,18 @@ impl WindowMethods for Window { .queue_function_as_microtask(callback); } + // https://html.spec.whatwg.org/multipage/#dom-createimagebitmap + fn CreateImageBitmap( + &self, + image: ImageBitmapSource, + options: &ImageBitmapOptions, + ) -> Rc { + let p = self + .upcast::() + .create_image_bitmap(image, options); + p + } + // https://html.spec.whatwg.org/multipage/#dom-window fn Window(&self) -> DomRoot { self.window_proxy() diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs index 15eb79858fe..16b9133a3c3 100644 --- a/components/script/dom/workerglobalscope.rs +++ b/components/script/dom/workerglobalscope.rs @@ -3,6 +3,9 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use crate::dom::bindings::cell::{DomRefCell, Ref}; +use crate::dom::bindings::codegen::Bindings::ImageBitmapBinding::{ + ImageBitmapOptions, ImageBitmapSource, +}; use crate::dom::bindings::codegen::Bindings::RequestBinding::RequestInit; use crate::dom::bindings::codegen::Bindings::VoidFunctionBinding::VoidFunction; use crate::dom::bindings::codegen::Bindings::WorkerBinding::WorkerType; @@ -347,6 +350,18 @@ impl WorkerGlobalScopeMethods for WorkerGlobalScope { .queue_function_as_microtask(callback); } + // https://html.spec.whatwg.org/multipage/#dom-createimagebitmap + fn CreateImageBitmap( + &self, + image: ImageBitmapSource, + options: &ImageBitmapOptions, + ) -> Rc { + let p = self + .upcast::() + .create_image_bitmap(image, options); + p + } + #[allow(unrooted_must_root)] // https://fetch.spec.whatwg.org/#fetch-method fn Fetch( diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini deleted file mode 100644 index 5e3f2d998e3..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-001.html] - [hit-test-floats-001] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini index 94a3570d26b..076c791cd3d 100644 --- a/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini +++ b/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini @@ -8,6 +8,9 @@ [[data-expected-height\] 3] expected: FAIL - [[data-expected-height\] 4] + [[data-expected-height\] 1] + expected: FAIL + + [[data-expected-height\] 2] expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/trailing-other-space-separators-break-spaces-004.html.ini b/tests/wpt/metadata/css/css-text/white-space/trailing-other-space-separators-break-spaces-004.html.ini deleted file mode 100644 index 3257d1b4d49..00000000000 --- a/tests/wpt/metadata/css/css-text/white-space/trailing-other-space-separators-break-spaces-004.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[trailing-other-space-separators-break-spaces-004.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini index a6c39d50087..c3e80f60581 100644 --- a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini +++ b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini @@ -8,3 +8,6 @@ [throws if handleEvent is thruthy and not callable] expected: FAIL + [looks up handleEvent method on every event dispatch] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini index 668c3f52a5b..3d6317220d3 100644 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini @@ -14,3 +14,6 @@ [
  • Outside 3
  • ] expected: FAIL + [
  • Image Inside 2
  • ] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -0,0 +1,4 @@ +[elementsFromPoint-invalid-cases.html] + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 6dcb54ae103..f0360aaefcd 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,27 +312,24 @@ [fetch(): separate response Content-Type: text/plain ] expected: NOTRUN - [