Changeset 253031 in webkit
- Timestamp:
- Dec 3, 2019 2:30:55 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r253018 r253031 1 2019-12-03 Zan Dobersek <zdobersek@igalia.com> 2 3 Implement createImageBitmap(OffscreenCanvas) 4 https://bugs.webkit.org/show_bug.cgi?id=183440 5 6 Reviewed by Antti Koivisto. 7 8 * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: 9 1 10 2019-12-02 Nikita Vasilyev <nvasilyev@apple.com> 2 11 -
trunk/LayoutTests/imported/w3c/ChangeLog
r252998 r253031 1 2019-12-03 Zan Dobersek <zdobersek@igalia.com> 2 3 Implement createImageBitmap(OffscreenCanvas) 4 https://bugs.webkit.org/show_bug.cgi?id=183440 5 6 Reviewed by Antti Koivisto. 7 8 * web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: 9 * web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt: 10 * web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt: 11 * web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w-expected.txt: 12 * web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w-expected.txt: 13 1 14 2019-12-02 Alex Christensen <achristensen@webkit.org> 2 15 -
trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt
r252856 r253031 35 35 FAIL createImageBitmap from a vector SVGImageElement resized, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 36 36 FAIL createImageBitmap from a vector SVGImageElement with negative sw/sh, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 37 FAIL createImageBitmap from an OffscreenCanvas, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 38 FAIL createImageBitmap from an OffscreenCanvas scaled down, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 39 FAIL createImageBitmap from an OffscreenCanvas scaled up, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 40 FAIL createImageBitmap from an OffscreenCanvas resized, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 41 FAIL createImageBitmap from an OffscreenCanvas with negative sw/sh, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 37 PASS createImageBitmap from an OffscreenCanvas, and drawImage on the created ImageBitmap 38 PASS createImageBitmap from an OffscreenCanvas scaled down, and drawImage on the created ImageBitmap 39 PASS createImageBitmap from an OffscreenCanvas scaled up, and drawImage on the created ImageBitmap 40 PASS createImageBitmap from an OffscreenCanvas resized, and drawImage on the created ImageBitmap 41 PASS createImageBitmap from an OffscreenCanvas with negative sw/sh, and drawImage on the created ImageBitmap 42 42 FAIL createImageBitmap from an ImageData, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" 43 43 FAIL createImageBitmap from an ImageData scaled down, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" -
trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt
r252856 r253031 7 7 FAIL Serialize ImageBitmap created from a bitmap SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 8 8 FAIL Serialize ImageBitmap created from a vector SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 FAIL Serialize ImageBitmap created from an OffscreenCanvas promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 PASS Serialize ImageBitmap created from an OffscreenCanvas 10 10 FAIL Serialize ImageBitmap created from an ImageData promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" 11 11 PASS Serialize ImageBitmap created from an ImageBitmap -
trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt
r252856 r253031 7 7 FAIL Transfer ImageBitmap created from a bitmap SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 8 8 FAIL Transfer ImageBitmap created from a vector SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 FAIL Transfer ImageBitmap created from an OffscreenCanvas promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 PASS Transfer ImageBitmap created from an OffscreenCanvas 10 10 FAIL Transfer ImageBitmap created from an ImageData promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" 11 11 PASS Transfer ImageBitmap created from an ImageBitmap -
trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt
r252856 r253031 35 35 FAIL createImageBitmap from a vector SVGImageElement resized, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 36 36 FAIL createImageBitmap from a vector SVGImageElement with negative sw/sh, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 37 FAIL createImageBitmap from an OffscreenCanvas, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 38 FAIL createImageBitmap from an OffscreenCanvas scaled down, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 39 FAIL createImageBitmap from an OffscreenCanvas scaled up, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 40 FAIL createImageBitmap from an OffscreenCanvas resized, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 41 FAIL createImageBitmap from an OffscreenCanvas with negative sw/sh, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: Type error" 37 PASS createImageBitmap from an OffscreenCanvas, and drawImage on the created ImageBitmap 38 PASS createImageBitmap from an OffscreenCanvas scaled down, and drawImage on the created ImageBitmap 39 PASS createImageBitmap from an OffscreenCanvas scaled up, and drawImage on the created ImageBitmap 40 PASS createImageBitmap from an OffscreenCanvas resized, and drawImage on the created ImageBitmap 41 PASS createImageBitmap from an OffscreenCanvas with negative sw/sh, and drawImage on the created ImageBitmap 42 42 FAIL createImageBitmap from an ImageData, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" 43 43 FAIL createImageBitmap from an ImageData scaled down, and drawImage on the created ImageBitmap promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" -
trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt
r252856 r253031 22 22 FAIL createImageBitmap with a a vector SVGImageElement source and sh set to 0 assert_throws: function "function () { throw e }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError") 23 23 FAIL createImageBitmap with a a vector SVGImageElement source and oversized (unallocatable) crop region assert_throws: function "function () { throw e }" threw object "TypeError: Type error" ("TypeError") expected object "InvalidStateError" ("InvalidStateError") 24 FAIL createImageBitmap with a an OffscreenCanvas source and sw set to 0 assert_throws: function "function () { throw e }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError") 25 FAIL createImageBitmap with a an OffscreenCanvas source and sh set to 0 assert_throws: function "function () { throw e }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError") 26 FAIL createImageBitmap with a an OffscreenCanvas source and oversized (unallocatable) crop region assert_ throws: function "function () { throw e }" threw object "TypeError: Type error" ("TypeError") expected object "InvalidStateError" ("InvalidStateError")24 PASS createImageBitmap with a an OffscreenCanvas source and sw set to 0 25 PASS createImageBitmap with a an OffscreenCanvas source and sh set to 0 26 FAIL createImageBitmap with a an OffscreenCanvas source and oversized (unallocatable) crop region assert_unreached: Should have rejected: undefined Reached unreachable code 27 27 PASS createImageBitmap with a an ImageData source and sw set to 0 28 28 PASS createImageBitmap with a an ImageData source and sh set to 0 … … 43 43 PASS createImageBitmap with empty video source. 44 44 PASS createImageBitmap with an oversized canvas source. 45 FAIL createImageBitmap with an invalid OffscreenCanvas source. assert_throws: function "function () { throw e }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11 45 PASS createImageBitmap with an invalid OffscreenCanvas source. 46 46 PASS createImageBitmap with an undecodable blob source. 47 47 PASS createImageBitmap with a broken image source. -
trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt
r252856 r253031 7 7 FAIL Serialize ImageBitmap created from a bitmap SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 8 8 FAIL Serialize ImageBitmap created from a vector SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 FAIL Serialize ImageBitmap created from an OffscreenCanvas promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 PASS Serialize ImageBitmap created from an OffscreenCanvas 10 10 FAIL Serialize ImageBitmap created from an ImageData promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" 11 11 PASS Serialize ImageBitmap created from an ImageBitmap -
trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt
r252856 r253031 7 7 FAIL Transfer ImageBitmap created from a bitmap SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 8 8 FAIL Transfer ImageBitmap created from a vector SVGImageElement promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 FAIL Transfer ImageBitmap created from an OffscreenCanvas promise_test: Unhandled rejection with value: object "TypeError: Type error" 9 PASS Transfer ImageBitmap created from an OffscreenCanvas 10 10 FAIL Transfer ImageBitmap created from an ImageData promise_test: Unhandled rejection with value: object "TypeError: createImageBitmap with ImageData is not implemented" 11 11 PASS Transfer ImageBitmap created from an ImageBitmap -
trunk/Source/WebCore/ChangeLog
r253030 r253031 1 2019-12-03 Zan Dobersek <zdobersek@igalia.com> 2 3 Implement createImageBitmap(OffscreenCanvas) 4 https://bugs.webkit.org/show_bug.cgi?id=183440 5 6 Reviewed by Antti Koivisto. 7 8 No new tests. Covered by existing tests. 9 10 * html/ImageBitmap.cpp: 11 (WebCore::ImageBitmap::createPromise): 12 * html/ImageBitmap.h: 13 * page/WindowOrWorkerGlobalScope.idl: 14 1 15 2019-12-03 Carlos Garcia Campos <cgarcia@igalia.com> 2 16 -
trunk/Source/WebCore/html/ImageBitmap.cpp
r251244 r253031 44 44 #include "JSImageBitmap.h" 45 45 #include "LayoutSize.h" 46 #if ENABLE(OFFSCREEN_CANVAS) 47 #include "OffscreenCanvas.h" 48 #endif 46 49 #include "RenderElement.h" 47 50 #include "SharedBuffer.h" … … 344 347 } 345 348 346 void ImageBitmap::createPromise(ScriptExecutionContext&, RefPtr<HTMLCanvasElement>& canvasElement, ImageBitmapOptions&& options, Optional<IntRect> rect, ImageBitmap::Promise&& promise) 349 void ImageBitmap::createPromise(ScriptExecutionContext& context, RefPtr<HTMLCanvasElement>& canvasElement, ImageBitmapOptions&& options, Optional<IntRect> rect, ImageBitmap::Promise&& promise) 350 { 351 createPromise(context, *canvasElement, WTFMove(options), WTFMove(rect), WTFMove(promise)); 352 } 353 354 #if ENABLE(OFFSCREEN_CANVAS) 355 void ImageBitmap::createPromise(ScriptExecutionContext& context, RefPtr<OffscreenCanvas>& canvasElement, ImageBitmapOptions&& options, Optional<IntRect> rect, ImageBitmap::Promise&& promise) 356 { 357 createPromise(context, *canvasElement, WTFMove(options), WTFMove(rect), WTFMove(promise)); 358 } 359 #endif 360 361 void ImageBitmap::createPromise(ScriptExecutionContext&, CanvasBase& canvas, ImageBitmapOptions&& options, Optional<IntRect> rect, ImageBitmap::Promise&& promise) 347 362 { 348 363 // 2. If the canvas element's bitmap has either a horizontal dimension or a vertical 349 364 // dimension equal to zero, then return a promise rejected with an "InvalidStateError" 350 365 // DOMException and abort these steps. 351 auto size = canvas Element->size();366 auto size = canvas.size(); 352 367 if (!size.width() || !size.height()) { 353 368 promise.reject(InvalidStateError, "Cannot create ImageBitmap from a canvas that has zero width or height"); … … 367 382 auto bitmapData = ImageBuffer::create(FloatSize(outputSize.width(), outputSize.height()), bufferRenderingMode); 368 383 369 auto imageForRender = canvas Element->copiedImage();384 auto imageForRender = canvas.copiedImage(); 370 385 if (!imageForRender) { 371 386 promise.reject(InvalidStateError, "Cannot create ImageBitmap from canvas that can't be rendered"); … … 382 397 // the origin-clean flag of the canvas element's bitmap. 383 398 384 imageBitmap->m_originClean = canvas Element->originClean();399 imageBitmap->m_originClean = canvas.originClean(); 385 400 386 401 // 6. Return a new promise, but continue running these steps in parallel. -
trunk/Source/WebCore/html/ImageBitmap.h
r250795 r253031 39 39 40 40 class Blob; 41 class CanvasBase; 41 42 class HTMLCanvasElement; 42 43 class HTMLImageElement; … … 47 48 class IntRect; 48 49 class IntSize; 50 #if ENABLE(OFFSCREEN_CANVAS) 51 class OffscreenCanvas; 52 #endif 49 53 class PendingImageBitmap; 50 54 class ScriptExecutionContext; … … 64 68 RefPtr<HTMLCanvasElement>, 65 69 RefPtr<ImageBitmap>, 70 #if ENABLE(OFFSCREEN_CANVAS) 71 RefPtr<OffscreenCanvas>, 72 #endif 66 73 #if ENABLE(CSS_TYPED_OM) 67 74 RefPtr<TypedOMCSSImageValue>, … … 106 113 static void createPromise(ScriptExecutionContext&, RefPtr<HTMLVideoElement>&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); 107 114 #endif 115 static void createPromise(ScriptExecutionContext&, RefPtr<ImageBitmap>&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); 108 116 static void createPromise(ScriptExecutionContext&, RefPtr<HTMLCanvasElement>&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); 109 static void createPromise(ScriptExecutionContext&, RefPtr<ImageBitmap>&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); 117 #if ENABLE(OFFSCREEN_CANVAS) 118 static void createPromise(ScriptExecutionContext&, RefPtr<OffscreenCanvas>&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); 119 #endif 120 static void createPromise(ScriptExecutionContext&, CanvasBase&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); 110 121 static void createPromise(ScriptExecutionContext&, RefPtr<Blob>&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); 111 122 static void createPromise(ScriptExecutionContext&, RefPtr<ImageData>&, ImageBitmapOptions&&, Optional<IntRect>, Promise&&); -
trunk/Source/WebCore/page/WindowOrWorkerGlobalScope.idl
r251630 r253031 26 26 */ 27 27 28 #if defined(ENABLE_VIDEO) && ENABLE_VIDEO && defined(ENABLE_CSS_TYPED_OM) && ENABLE_CSS_TYPED_OM 29 typedef (HTMLImageElement or HTMLVideoElement or HTMLCanvasElement or ImageBitmap or TypedOMCSSImageValue) CanvasImageSource; 30 #elif defined(ENABLE_VIDEO) && ENABLE_VIDEO 31 typedef (HTMLImageElement or HTMLVideoElement or HTMLCanvasElement or ImageBitmap) CanvasImageSource; 32 #else 33 typedef (HTMLImageElement or HTMLCanvasElement or ImageBitmap) CanvasImageSource; 28 // FIXME: This should include SVGImageElement. 29 typedef (HTMLImageElement 30 #if defined(ENABLE_VIDEO) && ENABLE_VIDEO 31 or HTMLVideoElement 34 32 #endif 33 or HTMLCanvasElement 34 or ImageBitmap 35 #if defined(ENABLE_OFFSCREEN_CANVAS) && ENABLE_OFFSCREEN_CANVAS 36 or OffscreenCanvas 37 #endif 38 #if defined(ENABLE_CSS_TYPED_OM) && ENABLE_CSS_TYPED_OM 39 or TypedOMCSSImageValue 40 #endif 41 ) CanvasImageSource; 35 42 36 43 typedef (CanvasImageSource or Blob or ImageData) ImageBitmapSource;
Note: See TracChangeset
for help on using the changeset viewer.