[webkit-changes] [WebKit/WebKit] ec0014: canvas.drawImage should support SVGImageElement

Said Abou-Hallawa noreply at github.com
Sun Feb 5 07:53:11 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ec00146f5e4972b995a53dca12df2c91b18eb410
      https://github.com/WebKit/WebKit/commit/ec00146f5e4972b995a53dca12df2c91b18eb410
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-02-05 (Sun, 05 Feb 2023)

  Changed paths:
    A LayoutTests/fast/canvas/canvas-createPattern-svg-image-expected.html
    A LayoutTests/fast/canvas/canvas-createPattern-svg-image.html
    A LayoutTests/fast/canvas/canvas-drawImage-svg-image-expected.html
    A LayoutTests/fast/canvas/canvas-drawImage-svg-image.html
    A LayoutTests/fast/canvas/resources/background.png
    M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.image.nonexistent-but-loading-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.image.nosrc-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.svgimage.nonexistent-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.svgimage.zeroheight-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.svgimage.zerowidth-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_svg_image_1-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-canvasImageSource-expected.txt
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.idl
    M Source/WebCore/html/canvas/CanvasDrawImage.idl
    M Source/WebCore/html/canvas/CanvasFillStrokeStyles.idl
    M Source/WebCore/html/canvas/CanvasRenderingContext.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext.h
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h
    M Source/WebCore/svg/SVGImageElement.cpp
    M Source/WebCore/svg/SVGImageElement.h
    M Source/WebCore/svg/SVGImageElement.idl

  Log Message:
  -----------
  canvas.drawImage should support SVGImageElement
https://bugs.webkit.org/show_bug.cgi?id=226964
rdar://79555760

Reviewed by Simon Fraser.

Add SVGImageElement as a possible variant of CanvasImageSource. Handle the
SVGImageElement cases in drawImage() and createPattern().

* LayoutTests/fast/canvas/canvas-createPattern-svg-image-expected.html: Added.
* LayoutTests/fast/canvas/canvas-createPattern-svg-image.html: Added.
* LayoutTests/fast/canvas/canvas-drawImage-svg-image-expected.html: Added.
* LayoutTests/fast/canvas/canvas-drawImage-svg-image.html: Added.
* LayoutTests/fast/canvas/resources/background.png: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.image.nonexistent-but-loading-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.image.nosrc-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.svgimage.nonexistent-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.svgimage.zeroheight-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.pattern.svgimage.zerowidth-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_svg_image_1-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-canvasImageSource-expected.txt:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp:
(WebCore::checkImageUsability):
(WebCore::WebCodecsVideoFrame::create):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.idl:
* Source/WebCore/html/canvas/CanvasDrawImage.idl:
* Source/WebCore/html/canvas/CanvasFillStrokeStyles.idl:
* Source/WebCore/html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::taintsOrigin):
* Source/WebCore/html/canvas/CanvasRenderingContext.h:
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::size):
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::createPattern):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:
* Source/WebCore/svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::SVGImageElement):
(WebCore::SVGImageElement::cachedImage const):
(WebCore::SVGImageElement::renderingTaintsOrigin const):
* Source/WebCore/svg/SVGImageElement.h:
* Source/WebCore/svg/SVGImageElement.idl:

Canonical link: https://commits.webkit.org/259869@main




More information about the webkit-changes mailing list