Title: [292729] trunk/Source/WebCore
- Revision
- 292729
- Author
- mattwood...@apple.com
- Date
- 2022-04-11 15:14:09 -0700 (Mon, 11 Apr 2022)
Log Message
Use unaccelerated rendering for ImageBitmapRenderingContext's placeholder image.
https://bugs.webkit.org/show_bug.cgi?id=238846
Reviewed by Simon Fraser.
This is a blank immutable image used a placeholder until a real ImageBitmap is provided, so there's
no need to allocate to allocate an accelerated IOSurface.
* html/canvas/ImageBitmapRenderingContext.cpp:
(WebCore::ImageBitmapRenderingContext::isAccelerated const):
(WebCore::ImageBitmapRenderingContext::setOutputBitmap):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (292728 => 292729)
--- trunk/Source/WebCore/ChangeLog 2022-04-11 22:03:54 UTC (rev 292728)
+++ trunk/Source/WebCore/ChangeLog 2022-04-11 22:14:09 UTC (rev 292729)
@@ -1,3 +1,17 @@
+2022-04-11 Matt Woodrow <mattwood...@apple.com>
+
+ Use unaccelerated rendering for ImageBitmapRenderingContext's placeholder image.
+ https://bugs.webkit.org/show_bug.cgi?id=238846
+
+ Reviewed by Simon Fraser.
+
+ This is a blank immutable image used a placeholder until a real ImageBitmap is provided, so there's
+ no need to allocate to allocate an accelerated IOSurface.
+
+ * html/canvas/ImageBitmapRenderingContext.cpp:
+ (WebCore::ImageBitmapRenderingContext::isAccelerated const):
+ (WebCore::ImageBitmapRenderingContext::setOutputBitmap):
+
2022-04-11 Jer Noble <jer.no...@apple.com>
REGRESSION(r292051-r292022): [ iOS ] media/video-object-fit.html is a constant image failure
Modified: trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp (292728 => 292729)
--- trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp 2022-04-11 22:03:54 UTC (rev 292728)
+++ trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp 2022-04-11 22:14:09 UTC (rev 292729)
@@ -36,12 +36,6 @@
WTF_MAKE_ISO_ALLOCATED_IMPL(ImageBitmapRenderingContext);
-#if USE(IOSURFACE_CANVAS_BACKING_STORE)
-static RenderingMode bufferRenderingMode = RenderingMode::Accelerated;
-#else
-static RenderingMode bufferRenderingMode = RenderingMode::Unaccelerated;
-#endif
-
std::unique_ptr<ImageBitmapRenderingContext> ImageBitmapRenderingContext::create(CanvasBase& canvas, ImageBitmapRenderingContextSettings&& settings)
{
auto renderingContext = std::unique_ptr<ImageBitmapRenderingContext>(new ImageBitmapRenderingContext(canvas, WTFMove(settings)));
@@ -70,7 +64,7 @@
bool ImageBitmapRenderingContext::isAccelerated() const
{
- return bufferRenderingMode == RenderingMode::Accelerated;
+ return false;
}
void ImageBitmapRenderingContext::setOutputBitmap(RefPtr<ImageBitmap> imageBitmap)
@@ -95,8 +89,7 @@
// only reason I can think of is toDataURL(), but that doesn't seem like
// a good enough argument to waste memory.
- // FIXME: This needs to use RenderingPurpose::Canvas to avoid accelerated buffers in the WebContent process (webkit.org/b/238846).
- auto buffer = ImageBuffer::create(FloatSize(canvas()->width(), canvas()->height()), RenderingPurpose::Unspecified, 1, DestinationColorSpace::SRGB(), PixelFormat::BGRA8, bufferOptionsForRendingMode(bufferRenderingMode));
+ auto buffer = ImageBuffer::create(FloatSize(canvas()->width(), canvas()->height()), RenderingPurpose::Unspecified, 1, DestinationColorSpace::SRGB(), PixelFormat::BGRA8, bufferOptionsForRendingMode(RenderingMode::Unaccelerated));
canvas()->setImageBufferAndMarkDirty(WTFMove(buffer));
// 1.4. Set the output bitmap's origin-clean flag to true.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes