imagebitmap: Add support of Blob as ImageBitmapSource (#37560)

Follow to the HTML specification and support of Blob as
ImageBitmapSource
to able use it as intermediate instance in "fetch() -> Blob ->
ImageBitmap" execution sequence.
https://html.spec.whatwg.org/multipage/#imagebitmapsource

The specification says what these steps must run in parallel
(outside the createImageBitmap task), but currently loading bytes from
Blob
and later image decoding happen in synchronous order while
promise is fullfilled or rejected on bitmap task source.
https://html.spec.whatwg.org/multipage/#the-imagebitmap-interface:blob-4

Testing: Improvements in the following WPT tests
- html/canvas/element/compositing/2d.composite*
- html/canvas/element/drawing-images-to-the-canvas/2d.drawImage*
- html/canvas/element/manual/imagebitmap/createImageBitmap*
- html/canvas/offscreen/compositing/2d.composite
- html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage
- webgl/tests/conformance/textures/image_bitmap_from_blob/*

Fixes (partially): #34112

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
This commit is contained in:
Andrei Volykhin 2025-06-20 09:53:04 +03:00 committed by GitHub
parent 9dc1dde7cb
commit a426a2e884
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
233 changed files with 209 additions and 1208 deletions

View file

@ -60,7 +60,7 @@ use net_traits::{
CoreResourceMsg, CoreResourceThread, FetchResponseListener, IpcSend, ReferrerPolicy,
ResourceThreads, fetch_async,
};
use pixels::PixelFormat;
use pixels::{CorsStatus, PixelFormat};
use profile_traits::{ipc as profile_ipc, mem as profile_mem, time as profile_time};
use script_bindings::interfaces::GlobalScopeHelpers;
use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl};
@ -3034,6 +3034,20 @@ impl GlobalScope {
}));
};
// The promise with "InvalidStateError" DOMException should be rejected
// on the the bitmap task source.
let reject_promise_on_bitmap_task_source = |promise: &Rc<Promise>| {
let trusted_promise = TrustedPromise::new(promise.clone());
self.task_manager()
.bitmap_task_source()
.queue(task!(reject_promise: move || {
let promise = trusted_promise.root();
promise.reject_error(Error::InvalidState, CanGc::note());
}));
};
// Step 3. Check the usability of the image argument. If this throws an exception or returns bad,
// then return a promise rejected with an "InvalidStateError" DOMException.
// Step 6. Switch on image:
@ -3227,9 +3241,63 @@ impl GlobalScope {
// to resolve promise with imageBitmap.
fullfill_promise_on_bitmap_task_source(&p, &image_bitmap);
},
ImageBitmapSource::Blob(_) => {
// TODO: implement support of Blob object as ImageBitmapSource
p.reject_error(Error::InvalidState, can_gc);
ImageBitmapSource::Blob(ref blob) => {
// Step 6.1. Let imageData be the result of reading image's data.
// If an error occurs during reading of the object, then queue
// a global task, using the bitmap task source, to reject promise
// with an "InvalidStateError" DOMException and abort these steps.
let Ok(bytes) = blob.get_bytes() else {
reject_promise_on_bitmap_task_source(&p);
return p;
};
// Step 6.2. Apply the image sniffing rules to determine the file
// format of imageData, with MIME type of image (as given by
// image's type attribute) giving the official type.
// Step 6.3. If imageData is not in a supported image file format
// (e.g., it's not an image at all), or if imageData is corrupted
// in some fatal way such that the image dimensions cannot be obtained
// (e.g., a vector graphic with no natural size), then queue
// a global task, using the bitmap task source, to reject promise
// with an "InvalidStateError" DOMException and abort these steps.
let Some(img) = pixels::load_from_memory(&bytes, CorsStatus::Safe) else {
reject_promise_on_bitmap_task_source(&p);
return p;
};
let size = Size2D::new(img.metadata.width, img.metadata.height);
let format = match img.format {
PixelFormat::BGRA8 => snapshot::PixelFormat::BGRA,
PixelFormat::RGBA8 => snapshot::PixelFormat::RGBA,
pixel_format => {
unimplemented!("unsupported pixel format ({:?})", pixel_format)
},
};
let alpha_mode = snapshot::AlphaMode::Transparent {
premultiplied: false,
};
let snapshot = Snapshot::from_vec(
size.cast(),
format,
alpha_mode,
img.first_frame().bytes.to_vec(),
);
// Step 6.4. Set imageBitmap's bitmap data to imageData, cropped
// to the source rectangle with formatting.
let Some(bitmap_data) =
ImageBitmap::crop_and_transform_bitmap_data(snapshot, sx, sy, sw, sh, options)
else {
reject_promise_on_bitmap_task_source(&p);
return p;
};
let image_bitmap = ImageBitmap::new(self, bitmap_data, can_gc);
// Step 6.5. Queue a global task, using the bitmap task source,
// to resolve promise with imageBitmap.
fullfill_promise_on_bitmap_task_source(&p, &image_bitmap);
},
ImageBitmapSource::ImageData(ref image_data) => {
// Step 6.1. Let buffer be image's data attribute value's [[ViewedArrayBuffer]] internal slot.

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.clear.html]
[Canvas test: 2d.composite.canvas.clear]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.copy.html]
[Canvas test: 2d.composite.canvas.copy]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.destination-atop.html]
[Canvas test: 2d.composite.canvas.destination-atop]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.destination-in.html]
[Canvas test: 2d.composite.canvas.destination-in]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.destination-out.html]
[Canvas test: 2d.composite.canvas.destination-out]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.destination-over.html]
[Canvas test: 2d.composite.canvas.destination-over]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.lighter.html]
[Canvas test: 2d.composite.canvas.lighter]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.source-atop.html]
[Canvas test: 2d.composite.canvas.source-atop]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.source-in.html]
[Canvas test: 2d.composite.canvas.source-in]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.source-out.html]
[Canvas test: 2d.composite.canvas.source-out]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.source-over.html]
[Canvas test: 2d.composite.canvas.source-over]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.xor.html]
[Canvas test: 2d.composite.canvas.xor]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.globalAlpha.image.html]
[Canvas test: 2d.composite.globalAlpha.image]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.globalAlpha.imagepattern.html]
[Canvas test: 2d.composite.globalAlpha.imagepattern]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.clear.html]
[Canvas test: 2d.composite.image.clear]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.copy.html]
[Canvas test: 2d.composite.image.copy]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.destination-atop.html]
[Canvas test: 2d.composite.image.destination-atop]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.destination-in.html]
[Canvas test: 2d.composite.image.destination-in]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.destination-out.html]
[Canvas test: 2d.composite.image.destination-out]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.destination-over.html]
[Canvas test: 2d.composite.image.destination-over]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.lighter.html]
[Canvas test: 2d.composite.image.lighter]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.source-atop.html]
[Canvas test: 2d.composite.image.source-atop]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.source-in.html]
[Canvas test: 2d.composite.image.source-in]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.source-out.html]
[Canvas test: 2d.composite.image.source-out]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.source-over.html]
[Canvas test: 2d.composite.image.source-over]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.xor.html]
[Canvas test: 2d.composite.image.xor]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.image.copy.html]
[drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.image.destination-atop.html]
[drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.image.destination-in.html]
[drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.image.source-in.html]
[drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.image.source-out.html]
[drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.pattern.copy.html]
[Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.pattern.destination-atop.html]
[Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.pattern.destination-in.html]
[Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.pattern.source-in.html]
[Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.uncovered.pattern.source-out.html]
[Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.3arg.html]
[Canvas test: 2d.drawImage.3arg]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.5arg.html]
[Canvas test: 2d.drawImage.5arg]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.9arg.basic.html]
[Canvas test: 2d.drawImage.9arg.basic]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.9arg.destpos.html]
[Canvas test: 2d.drawImage.9arg.destpos]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.9arg.destsize.html]
[Canvas test: 2d.drawImage.9arg.destsize]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.9arg.sourcepos.html]
[Canvas test: 2d.drawImage.9arg.sourcepos]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.9arg.sourcesize.html]
[Canvas test: 2d.drawImage.9arg.sourcesize]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.alpha.html]
[Canvas test: 2d.drawImage.alpha]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.clip.html]
[Canvas test: 2d.drawImage.clip]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.composite.html]
[Canvas test: 2d.drawImage.composite]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.floatsource.html]
[Canvas test: 2d.drawImage.floatsource]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.negativedest.html]
[Negative destination width/height represents the correct rectangle]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.negativedir.html]
[Negative dimensions do not affect the direction of the image]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.negativesource.html]
[Negative source width/height represents the correct rectangle]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.nonfinite.html]
[drawImage() with Infinity/NaN is ignored]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.nowrap.html]
[Stretched images do not get pixels wrapping around the edges]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.path.html]
[Canvas test: 2d.drawImage.path]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.transform.html]
[Canvas test: 2d.drawImage.transform]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.drawImage.zerosource.html]
[drawImage with zero-sized source rectangle draws nothing without exception]
expected: FAIL

View file

@ -1,2 +1,2 @@
[drawImage-from-blob.tentative.html]
expected: TIMEOUT
expected: FAIL

View file

@ -1,6 +1,3 @@
[canvas-createImageBitmap-resize.html]
[createImageBitmap from a Blob with resize option.]
expected: FAIL
[createImageBitmap from a HTMLImageElement of svg with no specified size with resize option.]
expected: FAIL

View file

@ -1,4 +0,0 @@
[createImageBitmap-blob-invalidtype.html]
[createImageBitmap: blob with wrong mime type]
expected: FAIL

View file

@ -1,3 +0,0 @@
[createImageBitmap-colorSpaceConversion.html]
[createImageBitmap from a Blob, and drawImage on the created ImageBitmap with colorSpaceConversion: none]
expected: FAIL

View file

@ -38,9 +38,6 @@
[createImageBitmap from a vector HTMLImageElement, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a Blob scaled down, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a vector HTMLImageElement scaled down, and drawImage on the created ImageBitmap]
expected: FAIL
@ -50,33 +47,21 @@
[createImageBitmap from a vector SVGImageElement scaled up, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a Blob scaled up, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a bitmap SVGImageElement scaled down, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from an HTMLVideoElement scaled up, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a Blob, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from an HTMLVideoElement resized, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from an HTMLVideoElement from a data URL scaled up, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a Blob with negative sw/sh, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a bitmap SVGImageElement with negative sw/sh, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a Blob resized, and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from an HTMLVideoElement from a data URL, and drawImage on the created ImageBitmap]
expected: FAIL

View file

@ -11,9 +11,6 @@
[createImageBitmap from an HTMLVideoElement imageOrientation: "flipY", and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a Blob imageOrientation: "flipY", and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a bitmap SVGImageElement imageOrientation: "flipY", and drawImage on the created ImageBitmap]
expected: FAIL
@ -31,6 +28,3 @@
[createImageBitmap from a vector SVGImageElement imageOrientation: "from-image", and drawImage on the created ImageBitmap]
expected: FAIL
[createImageBitmap from a Blob imageOrientation: "from-image", and drawImage on the created ImageBitmap]
expected: FAIL

View file

@ -1,4 +0,0 @@
[createImageBitmap-in-worker-transfer.html]
expected: TIMEOUT
[Transfer ImageBitmap created in worker]
expected: TIMEOUT

View file

@ -20,10 +20,5 @@
[createImageBitmap with a vector SVGImageElement source should resolve async]
expected: FAIL
[createImageBitmap with a Blob source should resolve async]
expected: FAIL
[createImageBitmap-resolves-in-task.any.worker.html]
[createImageBitmap with a Blob source should resolve async]
expected: FAIL

View file

@ -5,8 +5,5 @@
[Serialize ImageBitmap created from a vector HTMLImageElement]
expected: FAIL
[Serialize ImageBitmap created from a Blob]
expected: FAIL
[Serialize ImageBitmap created from a bitmap SVGImageElement]
expected: FAIL

View file

@ -5,8 +5,5 @@
[Transfer ImageBitmap created from a vector SVGImageElement]
expected: FAIL
[Transfer ImageBitmap created from a Blob]
expected: FAIL
[Transfer ImageBitmap created from a bitmap SVGImageElement]
expected: FAIL

View file

@ -1,625 +1,408 @@
[canvas-display-p3-drawImage-ImageBitmap-Blob.html]
expected: ERROR
[sRGB-FF0000FF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FF0000FF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
[sRGB-FF0000FF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FF0000FF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-FF0000FF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FF0000FF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-FF0000FF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FF0000FF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-FF0000CC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FF0000CC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-FF0000CC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FF0000CC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-FF0000CC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FF0000CC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-FF0000CC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FF0000CC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BB0000FF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BB0000FF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000FF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000FF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BB0000FF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BB0000FF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000FF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000FF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BB0000CC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BB0000CC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000CC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000CC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BB0000CC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BB0000CC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000CC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BB0000CC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FF0000FF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FF0000FF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-FF0000FF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-FF0000FF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FF0000FF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FF0000FF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-FF0000FF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-FF0000FF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FF0000CC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FF0000CC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-FF0000CC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-FF0000CC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FF0000CC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FF0000CC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-FF0000CC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-FF0000CC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000FF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000FF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000FF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000FF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000FF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000FF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-BB0000FF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-BB0000FF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000CC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000CC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000CC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000CC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000CC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BB0000CC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-BB0000CC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-BB0000CC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Adobe-RGB-FF0000FF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Adobe-RGB-FF0000FF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000FF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000FF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000FF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000FF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000FF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000FF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Adobe-RGB-FF0000CC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Adobe-RGB-FF0000CC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000CC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000CC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000CC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000CC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000CC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FF0000CC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000FF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BB0000CC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-FF000000.jpg, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Generic-CMYK-BE000000.jpg, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-FFFF00000000FFFF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FFFF00000000FFFF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-FFFF00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FFFF00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-FFFF00000000CCCC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FFFF00000000CCCC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-FFFF00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-FFFF00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-FFFF00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BBBC00000000FFFF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BBBC00000000FFFF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BBBC00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BBBC00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BBBC00000000CCCC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BBBC00000000CCCC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[sRGB-BBBC00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[sRGB-BBBC00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[sRGB-BBBC00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FFFF00000000FFFF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FFFF00000000FFFF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-FFFF00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-FFFF00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FFFF00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FFFF00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-FFFF00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-FFFF00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FFFF00000000CCCC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FFFF00000000CCCC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-FFFF00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-FFFF00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Display-P3-FFFF00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Display-P3-FFFF00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-FFFF00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-FFFF00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000FFFF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000FFFF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-BBBC00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-BBBC00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000CCCC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000CCCC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Display-P3-BBBC00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
[Display-P3-BBBC00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
[Display-P3-BBBC00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Adobe-RGB-FFFF00000000FFFF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Adobe-RGB-FFFF00000000FFFF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
[Adobe-RGB-FFFF00000000CCCC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
[Adobe-RGB-FFFF00000000CCCC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-FFFF00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000FFFF.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context srgb, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context srgb, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context srgb, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context display-p3, ImageData srgb, cropSource=true]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=false]
expected: TIMEOUT
expected: FAIL
[Adobe-RGB-BBBC00000000CCCC.png, Context display-p3, ImageData display-p3, cropSource=true]
expected: TIMEOUT
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.clear.html]
[OffscreenCanvas test: 2d.composite.canvas.clear]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.canvas.clear.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.copy.html]
[OffscreenCanvas test: 2d.composite.canvas.copy]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.copy.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-atop.html]
[OffscreenCanvas test: 2d.composite.canvas.destination-atop]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-atop.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-in.html]
[OffscreenCanvas test: 2d.composite.canvas.destination-in]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-in.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-out.html]
[OffscreenCanvas test: 2d.composite.canvas.destination-out]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-out.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-over.html]
[OffscreenCanvas test: 2d.composite.canvas.destination-over]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.destination-over.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.lighter.html]
[OffscreenCanvas test: 2d.composite.canvas.lighter]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.lighter.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-atop.html]
[OffscreenCanvas test: 2d.composite.canvas.source-atop]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-atop.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-in.html]
[OffscreenCanvas test: 2d.composite.canvas.source-in]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-in.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-out.html]
[OffscreenCanvas test: 2d.composite.canvas.source-out]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-out.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-over.html]
[OffscreenCanvas test: 2d.composite.canvas.source-over]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.source-over.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.xor.html]
[OffscreenCanvas test: 2d.composite.canvas.xor]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.canvas.xor.worker.html]
[2d]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.globalAlpha.image.html]
[OffscreenCanvas test: 2d.composite.globalAlpha.image]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.globalAlpha.image.worker.html]
[2d]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.globalAlpha.imagepattern.html]
[OffscreenCanvas test: 2d.composite.globalAlpha.imagepattern]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.globalAlpha.imagepattern.worker.html]
[2d]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.clear.html]
[OffscreenCanvas test: 2d.composite.image.clear]
expected: FAIL

View file

@ -1,3 +0,0 @@
[2d.composite.image.clear.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.image.copy.html]
[OffscreenCanvas test: 2d.composite.image.copy]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.image.copy.worker.html]
[2d]
expected: FAIL

View file

@ -1,4 +0,0 @@
[2d.composite.image.destination-atop.html]
[OffscreenCanvas test: 2d.composite.image.destination-atop]
expected: FAIL

Some files were not shown because too many files have changed in this diff Show more