diff --git a/components/script/canvas_context.rs b/components/script/canvas_context.rs index bc666f2582d..b60a7193a66 100644 --- a/components/script/canvas_context.rs +++ b/components/script/canvas_context.rs @@ -39,6 +39,11 @@ pub(crate) trait CanvasContext { fn resize(&self); + // Resets the backing bitmap (to transparent or opaque black) without the + // context state reset. + // Used by OffscreenCanvas.transferToImageBitmap. + fn reset_bitmap(&self); + /// Returns none if area of canvas is zero. /// /// In case of other errors it returns cleared snapshot @@ -145,6 +150,21 @@ impl CanvasContext for RenderingContext { } } + fn reset_bitmap(&self) { + match self { + RenderingContext::Placeholder(offscreen_canvas) => { + if let Some(context) = offscreen_canvas.context() { + context.reset_bitmap() + } + }, + RenderingContext::Context2d(context) => context.reset_bitmap(), + RenderingContext::WebGL(context) => context.reset_bitmap(), + RenderingContext::WebGL2(context) => context.reset_bitmap(), + #[cfg(feature = "webgpu")] + RenderingContext::WebGPU(context) => context.reset_bitmap(), + } + } + fn get_image_data(&self) -> Option { match self { RenderingContext::Placeholder(offscreen_canvas) => { @@ -257,6 +277,12 @@ impl CanvasContext for OffscreenRenderingContext { } } + fn reset_bitmap(&self) { + match self { + OffscreenRenderingContext::Context2d(context) => context.reset_bitmap(), + } + } + fn get_image_data(&self) -> Option { match self { OffscreenRenderingContext::Context2d(context) => context.get_image_data(), diff --git a/components/script/canvas_state.rs b/components/script/canvas_state.rs index a7e86afa5d7..33cf2d1dafe 100644 --- a/components/script/canvas_state.rs +++ b/components/script/canvas_state.rs @@ -292,6 +292,14 @@ impl CanvasState { *self.state.borrow_mut() = CanvasContextState::new(); } + pub(crate) fn reset_bitmap(&self) { + if !self.is_paintable() { + return; + } + + self.send_canvas_2d_msg(Canvas2dMsg::ClearRect(self.size.get().to_f32().into())); + } + fn create_drawable_rect(&self, x: f64, y: f64, w: f64, h: f64) -> Option> { if !([x, y, w, h].iter().all(|val| val.is_finite())) { return None; diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index cb573a8bd2b..8363ea18dce 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -153,6 +153,10 @@ impl CanvasContext for CanvasRenderingContext2D { self.set_canvas_bitmap_dimensions(self.size().cast()) } + fn reset_bitmap(&self) { + self.canvas_state.reset_bitmap() + } + fn get_image_data(&self) -> Option { if !self.canvas_state.is_paintable() { return None; diff --git a/components/script/dom/offscreencanvas.rs b/components/script/dom/offscreencanvas.rs index fff98ae11e3..2a68d20bea7 100644 --- a/components/script/dom/offscreencanvas.rs +++ b/components/script/dom/offscreencanvas.rs @@ -27,6 +27,7 @@ use crate::dom::blob::Blob; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::htmlcanvaselement::HTMLCanvasElement; +use crate::dom::imagebitmap::ImageBitmap; use crate::dom::offscreencanvasrenderingcontext2d::OffscreenCanvasRenderingContext2D; use crate::dom::promise::Promise; use crate::realms::{AlreadyInRealm, InRealm}; @@ -214,6 +215,40 @@ impl OffscreenCanvasMethods for OffscreenCanvas { } } + /// + fn TransferToImageBitmap(&self, can_gc: CanGc) -> Fallible> { + // TODO Step 1. If the value of this OffscreenCanvas object's + // [[Detached]] internal slot is set to true, then throw an + // "InvalidStateError" DOMException. + + // Step 2. If this OffscreenCanvas object's context mode is set to none, + // then throw an "InvalidStateError" DOMException. + if self.context.borrow().is_none() { + return Err(Error::InvalidState); + } + + // Step 3. Let image be a newly created ImageBitmap object that + // references the same underlying bitmap data as this OffscreenCanvas + // object's bitmap. + let Some(snapshot) = self.get_image_data() else { + return Err(Error::InvalidState); + }; + + let image_bitmap = ImageBitmap::new(&self.global(), snapshot, can_gc); + image_bitmap.set_origin_clean(self.origin_is_clean()); + + // Step 4. Set this OffscreenCanvas object's bitmap to reference a newly + // created bitmap of the same dimensions and color space as the previous + // bitmap, and with its pixels initialized to transparent black, or + // opaque black if the rendering context's alpha is false. + if let Some(canvas_context) = self.context() { + canvas_context.reset_bitmap(); + } + + // Step 5. Return image. + Ok(image_bitmap) + } + /// fn ConvertToBlob(&self, options: &ImageEncodeOptions, can_gc: CanGc) -> Rc { // Step 5. Let result be a new promise object. diff --git a/components/script/dom/offscreencanvasrenderingcontext2d.rs b/components/script/dom/offscreencanvasrenderingcontext2d.rs index 5066d5f3df8..a4768f68779 100644 --- a/components/script/dom/offscreencanvasrenderingcontext2d.rs +++ b/components/script/dom/offscreencanvasrenderingcontext2d.rs @@ -84,6 +84,10 @@ impl CanvasContext for OffscreenCanvasRenderingContext2D { self.context.resize() } + fn reset_bitmap(&self) { + self.context.reset_bitmap() + } + fn get_image_data(&self) -> Option { self.context.get_image_data() } diff --git a/components/script/dom/webgl2renderingcontext.rs b/components/script/dom/webgl2renderingcontext.rs index 2bfae1bae94..6d293287fa1 100644 --- a/components/script/dom/webgl2renderingcontext.rs +++ b/components/script/dom/webgl2renderingcontext.rs @@ -916,6 +916,10 @@ impl CanvasContext for WebGL2RenderingContext { self.base.resize(); } + fn reset_bitmap(&self) { + self.base.reset_bitmap(); + } + fn get_image_data(&self) -> Option { self.base.get_image_data() } diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 7f027a1e12b..9eb67be5df9 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -1974,6 +1974,10 @@ impl CanvasContext for WebGLRenderingContext { } } + fn reset_bitmap(&self) { + warn!("The WebGLRenderingContext 'reset_bitmap' is not implemented yet"); + } + // Used by HTMLCanvasElement.toDataURL // // This emits errors quite liberally, but the spec says that this operation diff --git a/components/script/dom/webgpu/gpucanvascontext.rs b/components/script/dom/webgpu/gpucanvascontext.rs index 3722f19bc24..168090487d4 100644 --- a/components/script/dom/webgpu/gpucanvascontext.rs +++ b/components/script/dom/webgpu/gpucanvascontext.rs @@ -276,6 +276,10 @@ impl CanvasContext for GPUCanvasContext { } } + fn reset_bitmap(&self) { + warn!("The GPUCanvasContext 'reset_bitmap' is not implemented yet"); + } + /// fn get_image_data(&self) -> Option { // 1. Return a copy of the image contents of context. diff --git a/components/script_bindings/codegen/Bindings.conf b/components/script_bindings/codegen/Bindings.conf index 295ff111017..bb686429931 100644 --- a/components/script_bindings/codegen/Bindings.conf +++ b/components/script_bindings/codegen/Bindings.conf @@ -519,7 +519,7 @@ DOMInterfaces = { }, 'OffscreenCanvas': { - 'canGc': ['ConvertToBlob', 'GetContext', 'SetHeight', 'SetWidth'], + 'canGc': ['ConvertToBlob', 'GetContext', 'SetHeight', 'SetWidth', 'TransferToImageBitmap'], }, 'OffscreenCanvasRenderingContext2D': { diff --git a/components/script_bindings/webidls/OffscreenCanvas.webidl b/components/script_bindings/webidls/OffscreenCanvas.webidl index 9468dc98f32..17e45b4865c 100644 --- a/components/script_bindings/webidls/OffscreenCanvas.webidl +++ b/components/script_bindings/webidls/OffscreenCanvas.webidl @@ -20,6 +20,6 @@ interface OffscreenCanvas : EventTarget { attribute [EnforceRange] unsigned long long height; [Throws] OffscreenRenderingContext? getContext(DOMString contextId, optional any options = null); - //ImageBitmap transferToImageBitmap(); + [Throws] ImageBitmap transferToImageBitmap(); Promise convertToBlob(optional ImageEncodeOptions options = {}); }; diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.w.html.ini index 1d2295f3217..cff800cd878 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.filter.no_shadow.drawImage.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.w.html.ini index 6a6e343494b..1a1470e6fb3 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.filter.no_shadow.fillRect.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.w.html.ini index 0902ce494c4..8d0bbdf6613 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.filter.no_shadow.pattern.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.w.html.ini index 2ded60b14cb..9f2b48ea139 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.filter.shadow.drawImage.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.w.html.ini index 322c7ef3429..9f7739ea193 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.filter.shadow.fillRect.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.w.html.ini index 602d69c0f16..fb5278a2401 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.filter.shadow.pattern.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.w.html.ini index cd15152caf6..d96d7fdd411 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.no_filter.no_shadow.drawImage.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.w.html.ini index eec2f16a70d..d4c464d8d31 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.no_filter.no_shadow.fillRect.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.w.html.ini index 087fd35298c..46ca7eb7ccb 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.no_filter.no_shadow.pattern.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.w.html.ini index 5b9f81d55a7..969c2f4322c 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.no_filter.shadow.drawImage.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.w.html.ini index d56ee6bbf95..fa155deb014 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.no_filter.shadow.fillRect.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.w.html.ini index 8108a9bc658..08a4d79370c 100644 --- a/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.w.html.ini @@ -1,2 +1,2 @@ [2d.composite.grid.no_filter.shadow.pattern.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.colorInterpolationMethod.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.colorInterpolationMethod.w.html.ini index f306b0d3da8..75805ac7128 100644 --- a/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.colorInterpolationMethod.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.colorInterpolationMethod.w.html.ini @@ -1,2 +1,2 @@ [2d.gradient.colorInterpolationMethod.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.hueInterpolationMethod.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.hueInterpolationMethod.w.html.ini index bdf304938a7..1f0163d50ff 100644 --- a/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.hueInterpolationMethod.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.hueInterpolationMethod.w.html.ini @@ -1,2 +1,2 @@ [2d.gradient.hueInterpolationMethod.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/filters/2d.filter.drop-shadow-globalAlpha.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/filters/2d.filter.drop-shadow-globalAlpha.w.html.ini index e1f49e5ab06..a0b49d773b1 100644 --- a/tests/wpt/meta/html/canvas/offscreen/filters/2d.filter.drop-shadow-globalAlpha.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/filters/2d.filter.drop-shadow-globalAlpha.w.html.ini @@ -1,2 +1,2 @@ [2d.filter.drop-shadow-globalAlpha.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/manual/filter/offscreencanvas.filter.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/manual/filter/offscreencanvas.filter.w.html.ini deleted file mode 100644 index 6e55bcfc0d1..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/manual/filter/offscreencanvas.filter.w.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[offscreencanvas.filter.w.html] - expected: ERROR - [offscreencanvas] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize.html.ini b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize.html.ini index 56771e2c3f4..613ac7512ba 100644 --- a/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize.html.ini @@ -1,7 +1,4 @@ [offscreencanvas.resize.html] - [Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a 2d context attached.] - expected: FAIL - [Verify that resizing an OffscreenCanvas with a webgl context propagates the new size to its placeholder canvas asynchronously.] expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html.ini b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html.ini index a32dc7148db..a5681398739 100644 --- a/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html.ini @@ -2,18 +2,8 @@ [Test that transferToImageBitmap returns an ImageBitmap with correct color] expected: FAIL - [Test that call transferToImageBitmap on a detached OffscreenCanvas throws an exception] - expected: FAIL - [Test that transferToImageBitmap returns an ImageBitmap with correct width and height] expected: FAIL - [Test that transferToImageBitmap without a context throws an exception] + [Test that call transferToImageBitmap on a detached OffscreenCanvas throws an exception] expected: FAIL - - [Test that transferToImageBitmap preserves transform] - expected: FAIL - - [Test that transferToImageBitmap won't change context's property] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w.html.ini index e8a587825c6..648d37373df 100644 --- a/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w.html.ini @@ -1,26 +1,10 @@ [offscreencanvas.transfer.to.imagebitmap.w.html] expected: ERROR - [Test that call transferToImageBitmap twice returns an ImageBitmap with correct color in a worker] - expected: FAIL - [Test that transferToImageBitmap returns an ImageBitmap with correct width and height in a worker] expected: FAIL - [Test that transferToImageBitmap returns an ImageBitmap with correct color in a worker] - expected: FAIL - [Test that call transferToImageBitmap on a detached OffscreenCanvas throws an exception in a worker] expected: FAIL - [Test that call transferToImageBitmap without a context throws an exception in a worker] - expected: FAIL - - [Test that call transferToImageBitmap preserves transform in a worker] - expected: FAIL - - [Test that transferToImageBitmap won't change context's property in a worker] - expected: FAIL - [Test that call transferToImageBitmap twice on a alpha-disabled context returns an ImageBitmap with correct color in a worker] expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.after-rasterization.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.after-rasterization.w.html.ini deleted file mode 100644 index ec04bfe62ea..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.after-rasterization.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.reset.after-rasterization.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.drop_shadow.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.drop_shadow.w.html.ini deleted file mode 100644 index 3d88579b4eb..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.drop_shadow.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.reset.render.drop_shadow.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.global_composite_operation.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.global_composite_operation.w.html.ini deleted file mode 100644 index 667bf479aac..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.global_composite_operation.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.reset.render.global_composite_operation.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.line.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.line.w.html.ini deleted file mode 100644 index cf5f87c380e..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.line.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.reset.render.line.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.misc.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.misc.w.html.ini deleted file mode 100644 index 96c0af4b618..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.misc.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.reset.render.misc.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.miter_limit.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.miter_limit.w.html.ini deleted file mode 100644 index f7e5dc24118..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.miter_limit.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.reset.render.miter_limit.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.text.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.text.w.html.ini index c509ea86091..9818bda9c30 100644 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.text.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.render.text.w.html.ini @@ -1,2 +1,2 @@ [2d.reset.render.text.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.state.clip.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.state.clip.w.html.ini deleted file mode 100644 index 07e8cf9140d..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/reset/2d.reset.state.clip.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.reset.state.clip.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini index d257ff26350..751fe06dcc1 100644 --- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini @@ -1,2 +1,2 @@ [2d.text.drawing.style.reset.fontKerning.none2.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini index 19f02a9b207..e0453a058e4 100644 --- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini @@ -1,2 +1,2 @@ [2d.text.fontVariantCaps.after.reset.font.w.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps1.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps1.w.html.ini deleted file mode 100644 index 31831438399..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps1.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.fontVariantCaps1.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps3.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps3.w.html.ini deleted file mode 100644 index 377ba2603a1..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps3.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.fontVariantCaps3.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps4.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps4.w.html.ini deleted file mode 100644 index 4d9c346b829..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps4.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.fontVariantCaps4.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps5.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps5.w.html.ini deleted file mode 100644 index c061380b6d5..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps5.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.fontVariantCaps5.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps6.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps6.w.html.ini deleted file mode 100644 index 919352eb84b..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps6.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.fontVariantCaps6.w.html] - expected: TIMEOUT diff --git a/tests/wpt/meta/html/dom/idlharness.any.js.ini b/tests/wpt/meta/html/dom/idlharness.any.js.ini index 896925f2ee0..bd95386b7f8 100644 --- a/tests/wpt/meta/html/dom/idlharness.any.js.ini +++ b/tests/wpt/meta/html/dom/idlharness.any.js.ini @@ -26,9 +26,6 @@ [ImageBitmapRenderingContext interface: operation transferFromImageBitmap(ImageBitmap?)] expected: FAIL - [OffscreenCanvas interface: operation transferToImageBitmap()] - expected: FAIL - [OffscreenCanvas interface: attribute oncontextlost] 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 074077a1c50..ff38923d7e9 100644 --- a/tests/wpt/meta/html/dom/idlharness.https.html.ini +++ b/tests/wpt/meta/html/dom/idlharness.https.html.ini @@ -4370,9 +4370,6 @@ [ImageBitmapRenderingContext interface: operation transferFromImageBitmap(ImageBitmap?)] expected: FAIL - [OffscreenCanvas interface: operation transferToImageBitmap()] - expected: FAIL - [OffscreenCanvas interface: attribute oncontextlost] expected: FAIL