WebKit
WebKit copied to clipboard
Canvas should be able to draw a WebCodecsVideoFrame
2818372c8d21038f933e5897aec08549f8fed302
Canvas should be able to draw a WebCodecsVideoFrame https://bugs.webkit.org/show_bug.cgi?id=246392 rdar://problem/101066016 Reviewed by NOBODY (OOPS!). Make sure to create a correct WebCodecsVideoFrame from canvas. Update IDL and binding code to allow taking WebCodecsVideoFrame as a CanvasImageSource. Add prelimianry support to paint a WebCodecsVideoFrame in a canvas. * LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-canvasImageSource-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-canvasImageSource.html: * Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp: (WebCore::checkImageUsability): (WebCore::WebCodecsVideoFrame::create): (WebCore::WebCodecsVideoFrame::initializeFrameFromOtherFrame): * Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h: (WebCore::WebCodecsVideoFrame::shoudlDiscardAlpha const): * Source/WebCore/html/canvas/CanvasDrawImage.idl: * Source/WebCore/html/canvas/CanvasFillStrokeStyles.idl: * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::size): (WebCore::CanvasRenderingContext2DBase::drawImage): (WebCore::CanvasRenderingContext2DBase::createPattern): * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h: * Source/WebCore/inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::processArgument): * Source/WebCore/inspector/InspectorCanvasCallTracer.h: * Source/WebCore/platform/VideoFrame.cpp: (WebCore::VideoFrame::paintInContext): * Source/WebCore/platform/VideoFrame.h: * Source/WebCore/platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::paintVideoFrame): * Source/WebCore/platform/graphics/GraphicsContext.h: * Source/WebCore/platform/graphics/cv/VideoFrameCV.mm: (WebCore::VideoFrame::paintInContext): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::paintVideoFrame): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
https://github.com/WebKit/WebKit/commit/89dadfba53b9f2e9e7f9342fab6f0c493bda9cb6
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/2818372c8d21038f933e5897aec08549f8fed302)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/75ca30cba5f56241535cf6e07e29ecde29d84584)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/89dadfba53b9f2e9e7f9342fab6f0c493bda9cb6)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/19b0b288d75c0864c41e9ca1c54b0339ef3f79dd)
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/4ae8f848d133e2bf8c2662ce0160e2af17c962aa)
EWS run on current version of this PR (hash https://github.com/WebKit/WebKit/commit/542d9aa3345ce852ccb2675ae1e9c167a7a748b7)
Committed 255720@main (ed683c9b20ac): https://commits.webkit.org/255720@main
Reviewed commits have been landed. Closing PR #5280 and removing active labels.