Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d21c61e18c6ffba8cae41d4e35630351c4d1945a
https://github.com/WebKit/WebKit/commit/d21c61e18c6ffba8cae41d4e35630351c4d1945a
Author: Matt Woodrow <[email protected]>
Date: 2022-12-22 (Thu, 22 Dec 2022)
Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/html/CanvasBase.cpp
M Source/WebCore/html/CanvasBase.h
M Source/WebCore/html/HTMLCanvasElement.cpp
M Source/WebCore/html/HTMLCanvasElement.h
M Source/WebCore/html/OffscreenCanvas.cpp
M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
M Source/WebCore/testing/Internals.cpp
Log Message:
-----------
OffscreenCanvas should use the same buffer size checks as HTMLCanvasElement.
https://bugs.webkit.org/show_bug.cgi?id=249630
<rdar://103177223>
Reviewed by Dean Jackson.
HTMLCanvasElement has a lot of checks to determine if the specified size is
within an acceptable range, whereas OffscreenCanvas will just allocate giant
buffers if requested.
This moves the HTMLCanvasElement implementation of createImageBuffer into
CanvasBase, so that it can be used by OffscreenCanvas and have consistent
behaviour.
* Source/WebCore/html/CanvasBase.cpp:
(WebCore::CanvasBase::maxActivePixelMemory):
(WebCore::CanvasBase::setMaxPixelMemoryForTesting):
(WebCore::maxCanvasArea):
(WebCore::CanvasBase::setMaxCanvasAreaForTesting):
(WebCore::CanvasBase::graphicsClient const):
(WebCore::CanvasBase::shouldAccelerate const):
(WebCore::CanvasBase::createImageBuffer const):
* Source/WebCore/html/CanvasBase.h:
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer const):
(WebCore::HTMLCanvasElement::maxActivePixelMemory): Deleted.
(WebCore::HTMLCanvasElement::setMaxPixelMemoryForTesting): Deleted.
(WebCore::maxCanvasArea): Deleted.
(WebCore::HTMLCanvasElement::setMaxCanvasAreaForTesting): Deleted.
(WebCore::HTMLCanvasElement::shouldAccelerate const): Deleted.
* Source/WebCore/html/HTMLCanvasElement.h:
* Source/WebCore/html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::createImageBuffer const):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::getGraphicsClient): Deleted.
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setMaxCanvasPixelMemory):
(WebCore::Internals::setMaxCanvasArea):
(WebCore::Internals::avoidIOSurfaceSizeCheckInWebProcess):
Canonical link: https://commits.webkit.org/258237@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes