Title: [276899] trunk
Revision
276899
Author
wei...@apple.com
Date
2021-05-03 08:02:50 -0700 (Mon, 03 May 2021)

Log Message

Remove default parameter values for color space and pixel format from ImageBuffer::create to make it clear everwhere we are explicitly requesting SRGB/BGRA8 buffers
https://bugs.webkit.org/show_bug.cgi?id=225288

Reviewed by Anders Carlsson.

Source/WebCore:

To make it super clear exactly what type of ImageBuffers we are creating, this
removes the default parameters for the scale, color space and pixel format from
the ImageBuffer::create() functions.

This allows us to easily see exactly where we are creating 8-bit sRGB buffers
and potentially losing non-sRGB and wide (> 8-bit) source data. In practice, many
of these sites are wrong and should be updated to use a color space and pixel
format matching the source they are going to be copying/buffering.

I did not update the ImageBuffer::createCompatibleBuffer, as it is less clear what
to do about them, or what exactly is meant by "compatible", as it seems to be
inconsistent from one to the other.

Ultimately, if we want to make it easy to create an ImageBuffer that has the same
underlying characteristics of whatever a GraphicsContext is drawing to, we will need
to update GraphicsContext to be able to provide scale, color space and pixel format
information directly. This will probably require some new mechanism for representing
color space that can either be a DestinationColorSpace or a platform specific color
space object (e.g. CGColorSpaceRef).

* Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
* Modules/mediasession/MediaMetadata.cpp:
(WebCore::ArtworkImageLoader::notifyFinished):
* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::image):
* html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createImageBuffer):
* html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createCompositingBuffer):
* html/canvas/ImageBitmapRenderingContext.cpp:
(WebCore::ImageBitmapRenderingContext::setOutputBitmap):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):
* html/shadow/MediaControlTextTrackContainerElement.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::indexForData):
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):
* page/FrameSnapshotting.cpp:
(WebCore::snapshotFrameRectWithClip):
* page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::screenshot):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawPattern):
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::createCompatibleBuffer):
* platform/graphics/ImageBuffer.h:
* platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawShadowLayer):
* platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:
(WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::imageBufferResult):
(WebCore::FilterEffect::convertImageDataToColorSpace):
(WebCore::FilterEffect::convertImageBufferToColorSpace):
(WebCore::FilterEffect::createImageBufferResult):
* platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
(Nicosia::GCGLLayer::swapBuffersIfNeeded):
* platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::imageBuffer const):
* rendering/CSSFilter.cpp:
(WebCore::CSSFilter::allocateBackingStoreIfNeeded):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::createImageBuffer):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::nativeImage):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Pass arguments explicitly that were previously default values.

Tools:

* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
Pass arguments explicitly that were previously default values.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (276898 => 276899)


--- trunk/Source/WebCore/ChangeLog	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/ChangeLog	2021-05-03 15:02:50 UTC (rev 276899)
@@ -1,3 +1,89 @@
+2021-05-03  Sam Weinig  <wei...@apple.com>
+
+        Remove default parameter values for color space and pixel format from ImageBuffer::create to make it clear everwhere we are explicitly requesting SRGB/BGRA8 buffers
+        https://bugs.webkit.org/show_bug.cgi?id=225288
+
+        Reviewed by Anders Carlsson.
+
+        To make it super clear exactly what type of ImageBuffers we are creating, this
+        removes the default parameters for the scale, color space and pixel format from
+        the ImageBuffer::create() functions.
+
+        This allows us to easily see exactly where we are creating 8-bit sRGB buffers
+        and potentially losing non-sRGB and wide (> 8-bit) source data. In practice, many
+        of these sites are wrong and should be updated to use a color space and pixel
+        format matching the source they are going to be copying/buffering.
+
+        I did not update the ImageBuffer::createCompatibleBuffer, as it is less clear what
+        to do about them, or what exactly is meant by "compatible", as it seems to be
+        inconsistent from one to the other.
+
+        Ultimately, if we want to make it easy to create an ImageBuffer that has the same
+        underlying characteristics of whatever a GraphicsContext is drawing to, we will need
+        to update GraphicsContext to be able to provide scale, color space and pixel format
+        information directly. This will probably require some new mechanism for representing
+        color space that can either be a DestinationColorSpace or a platform specific color
+        space object (e.g. CGColorSpaceRef).
+
+        * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
+        (WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
+        * Modules/mediasession/MediaMetadata.cpp:
+        (WebCore::ArtworkImageLoader::notifyFinished):
+        * css/CSSFilterImageValue.cpp:
+        (WebCore::CSSFilterImageValue::image):
+        * html/ImageBitmap.cpp:
+        (WebCore::ImageBitmap::createImageBuffer):
+        * html/canvas/CanvasRenderingContext2DBase.cpp:
+        (WebCore::CanvasRenderingContext2DBase::createCompositingBuffer):
+        * html/canvas/ImageBitmapRenderingContext.cpp:
+        (WebCore::ImageBitmapRenderingContext::setOutputBitmap):
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        (WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):
+        * html/shadow/MediaControlTextTrackContainerElement.cpp:
+        (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
+        * inspector/InspectorCanvas.cpp:
+        (WebCore::InspectorCanvas::indexForData):
+        (WebCore::InspectorCanvas::buildArrayForCanvasPattern):
+        * page/FrameSnapshotting.cpp:
+        (WebCore::snapshotFrameRectWithClip):
+        * page/PageConsoleClient.cpp:
+        (WebCore::PageConsoleClient::screenshot):
+        * platform/graphics/BitmapImage.cpp:
+        (WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
+        * platform/graphics/CrossfadeGeneratedImage.cpp:
+        (WebCore::CrossfadeGeneratedImage::drawPattern):
+        * platform/graphics/ImageBuffer.cpp:
+        (WebCore::ImageBuffer::createCompatibleBuffer):
+        * platform/graphics/ImageBuffer.h:
+        * platform/graphics/ShadowBlur.cpp:
+        (WebCore::ScratchBuffer::getScratchBuffer):
+        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
+        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
+        (WebCore::ShadowBlur::drawRectShadowWithTiling):
+        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
+        (WebCore::ShadowBlur::drawShadowLayer):
+        * platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:
+        (WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):
+        * platform/graphics/filters/FilterEffect.cpp:
+        (WebCore::FilterEffect::imageBufferResult):
+        (WebCore::FilterEffect::convertImageDataToColorSpace):
+        (WebCore::FilterEffect::convertImageBufferToColorSpace):
+        (WebCore::FilterEffect::createImageBufferResult):
+        * platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
+        (Nicosia::GCGLLayer::swapBuffersIfNeeded):
+        * platform/graphics/texmap/BitmapTexture.cpp:
+        (WebCore::BitmapTexture::updateContents):
+        * platform/mock/MockRealtimeVideoSource.cpp:
+        (WebCore::MockRealtimeVideoSource::imageBuffer const):
+        * rendering/CSSFilter.cpp:
+        (WebCore::CSSFilter::allocateBackingStoreIfNeeded):
+        * rendering/shapes/Shape.cpp:
+        (WebCore::Shape::createRasterShape):
+        * rendering/svg/SVGRenderingContext.cpp:
+        (WebCore::SVGRenderingContext::createImageBuffer):
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::nativeImage):
+
 2021-05-03  Chris Lord  <cl...@igalia.com>
 
         Decoding an SVG off the main thread causes a crash

Modified: trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp (276898 => 276899)


--- trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -285,7 +285,7 @@
 
         auto bitmapImage = BitmapImage::create();
         bitmapImage->setData(WTFMove(bufferToSanitize), true);
-        auto imageBuffer = ImageBuffer::create(bitmapImage->size(), RenderingMode::Unaccelerated);
+        auto imageBuffer = ImageBuffer::create(bitmapImage->size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
         if (!imageBuffer) {
             m_data = { nullString() };
             return;

Modified: trunk/Source/WebCore/Modules/mediasession/MediaMetadata.cpp (276898 => 276899)


--- trunk/Source/WebCore/Modules/mediasession/MediaMetadata.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/Modules/mediasession/MediaMetadata.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -80,7 +80,7 @@
     RefPtr<SharedBuffer> bufferToSanitize = m_cachedImage->image()->data();
     auto bitmapImage = BitmapImage::create();
     bitmapImage->setData(WTFMove(bufferToSanitize), true);
-    auto imageBuffer = ImageBuffer::create(bitmapImage->size(), RenderingMode::Unaccelerated);
+    auto imageBuffer = ImageBuffer::create(bitmapImage->size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!imageBuffer) {
         m_callback(nullptr);
         return;

Modified: trunk/Source/WebCore/css/CSSFilterImageValue.cpp (276898 => 276899)


--- trunk/Source/WebCore/css/CSSFilterImageValue.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/css/CSSFilterImageValue.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -116,7 +116,7 @@
 
     // Transform Image into ImageBuffer.
     // FIXME (149424): This buffer should not be unconditionally unaccelerated.
-    auto texture = ImageBuffer::create(size, RenderingMode::Unaccelerated);
+    auto texture = ImageBuffer::create(size, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!texture)
         return &Image::nullImage();
 

Modified: trunk/Source/WebCore/html/ImageBitmap.cpp (276898 => 276899)


--- trunk/Source/WebCore/html/ImageBitmap.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/html/ImageBitmap.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -89,7 +89,7 @@
     }
 
     // FIXME <https://webkit.org/b/218482> Enable worker based ImageBitmap and OffscreenCanvas drawing to use GPU Process rendering
-    return ImageBuffer::create(size, renderingMode, resolutionScale);
+    return ImageBuffer::create(size, renderingMode, resolutionScale, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
 }
 
 void ImageBitmap::createPromise(ScriptExecutionContext& scriptExecutionContext, ImageBitmap::Source&& source, ImageBitmapOptions&& options, ImageBitmap::Promise&& promise)

Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp (276898 => 276899)


--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -1829,7 +1829,7 @@
 
 RefPtr<ImageBuffer> CanvasRenderingContext2DBase::createCompositingBuffer(const IntRect& bufferRect)
 {
-    return ImageBuffer::create(bufferRect.size(), isAccelerated() ? RenderingMode::Accelerated : RenderingMode::Unaccelerated);
+    return ImageBuffer::create(bufferRect.size(), isAccelerated() ? RenderingMode::Accelerated : RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
 }
 
 void CanvasRenderingContext2DBase::compositeBuffer(ImageBuffer& buffer, const IntRect& bufferRect, CompositeOperator op)

Modified: trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp (276898 => 276899)


--- trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -95,7 +95,7 @@
         // only reason I can think of is toDataURL(), but that doesn't seem like
         // a good enough argument to waste memory.
 
-        canvas()->setImageBufferAndMarkDirty(ImageBuffer::create(FloatSize(canvas()->width(), canvas()->height()), bufferRenderingMode));
+        canvas()->setImageBufferAndMarkDirty(ImageBuffer::create(FloatSize(canvas()->width(), canvas()->height()), bufferRenderingMode, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8));
 
         // 1.4. Set the output bitmap's origin-clean flag to true.
 

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (276898 => 276899)


--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -7623,7 +7623,7 @@
     }
 
     // FIXME (149423): Should this ImageBuffer be unconditionally unaccelerated?
-    auto temp = ImageBuffer::create(size, RenderingMode::Unaccelerated);
+    auto temp = ImageBuffer::create(size, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!temp)
         return nullptr;
     ASSERT(m_buffers.size() > 0);

Modified: trunk/Source/WebCore/html/shadow/MediaControlTextTrackContainerElement.cpp (276898 => 276899)


--- trunk/Source/WebCore/html/shadow/MediaControlTextTrackContainerElement.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/html/shadow/MediaControlTextTrackContainerElement.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -418,7 +418,7 @@
     IntRect paintingRect = IntRect(IntPoint(), layer->size());
 
     // FIXME (149422): This buffer should not be unconditionally unaccelerated.
-    auto buffer = ImageBuffer::create(paintingRect.size(), RenderingMode::Unaccelerated, deviceScaleFactor);
+    auto buffer = ImageBuffer::create(paintingRect.size(), RenderingMode::Unaccelerated, deviceScaleFactor, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!buffer)
         return nullptr;
 

Modified: trunk/Source/WebCore/inspector/InspectorCanvas.cpp (276898 => 276899)


--- trunk/Source/WebCore/inspector/InspectorCanvas.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/inspector/InspectorCanvas.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -1143,7 +1143,7 @@
             if (CachedImage* cachedImage = imageElement->cachedImage()) {
                 Image* image = cachedImage->image();
                 if (image && image != &Image::nullImage()) {
-                    auto imageBuffer = ImageBuffer::create(image->size(), RenderingMode::Unaccelerated);
+                    auto imageBuffer = ImageBuffer::create(image->size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
                     imageBuffer->context().drawImage(*image, FloatPoint(0, 0));
                     dataURL = imageBuffer->toDataURL("image/png");
                 }
@@ -1157,7 +1157,7 @@
 
             unsigned videoWidth = videoElement->videoWidth();
             unsigned videoHeight = videoElement->videoHeight();
-            auto imageBuffer = ImageBuffer::create(FloatSize(videoWidth, videoHeight), RenderingMode::Unaccelerated);
+            auto imageBuffer = ImageBuffer::create(FloatSize(videoWidth, videoHeight), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
             if (imageBuffer) {
                 videoElement->paintCurrentFrameInContext(imageBuffer->context(), FloatRect(0, 0, videoWidth, videoHeight));
                 dataURL = imageBuffer->toDataURL("image/png");
@@ -1194,7 +1194,7 @@
             if (auto* cachedImage = cssImageValue->image()) {
                 auto* image = cachedImage->image();
                 if (image && image != &Image::nullImage()) {
-                    auto imageBuffer = ImageBuffer::create(image->size(), RenderingMode::Unaccelerated);
+                    auto imageBuffer = ImageBuffer::create(image->size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
                     imageBuffer->context().drawImage(*image, FloatPoint(0, 0));
                     dataURL = imageBuffer->toDataURL("image/png");
                 }
@@ -1435,7 +1435,7 @@
 {
     auto& tileImage = canvasPattern.pattern().tileImage();
     FloatRect rect = { { }, tileImage.size() };
-    auto imageBuffer = ImageBuffer::create(tileImage.size(), RenderingMode::Unaccelerated);
+    auto imageBuffer = ImageBuffer::create(tileImage.size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     imageBuffer->context().drawNativeImage(tileImage, tileImage.size(), rect, rect);
 
     String repeat;

Modified: trunk/Source/WebCore/page/FrameSnapshotting.cpp (276898 => 276899)


--- trunk/Source/WebCore/page/FrameSnapshotting.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/page/FrameSnapshotting.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -111,7 +111,7 @@
     if (options & SnapshotOptionsPaintWithIntegralScaleFactor)
         scaleFactor = ceilf(scaleFactor);
 
-    auto buffer = ImageBuffer::create(imageRect.size(), RenderingMode::Unaccelerated, scaleFactor);
+    auto buffer = ImageBuffer::create(imageRect.size(), RenderingMode::Unaccelerated, scaleFactor, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!buffer)
         return nullptr;
     buffer->context().translate(-imageRect.x(), -imageRect.y());

Modified: trunk/Source/WebCore/page/PageConsoleClient.cpp (276898 => 276899)


--- trunk/Source/WebCore/page/PageConsoleClient.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/page/PageConsoleClient.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -326,7 +326,7 @@
                         if (auto* cachedImage = imageElement.cachedImage()) {
                             auto* image = cachedImage->image();
                             if (image && image != &Image::nullImage()) {
-                                snapshot = ImageBuffer::create(image->size(), RenderingMode::Unaccelerated);
+                                snapshot = ImageBuffer::create(image->size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
                                 snapshot->context().drawImage(*image, FloatPoint(0, 0));
                             }
                         }
@@ -343,7 +343,7 @@
                         auto& videoElement = downcast<HTMLVideoElement>(*node);
                         unsigned videoWidth = videoElement.videoWidth();
                         unsigned videoHeight = videoElement.videoHeight();
-                        snapshot = ImageBuffer::create(FloatSize(videoWidth, videoHeight), RenderingMode::Unaccelerated);
+                        snapshot = ImageBuffer::create(FloatSize(videoWidth, videoHeight), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
                         videoElement.paintCurrentFrameInContext(snapshot->context(), FloatRect(0, 0, videoWidth, videoHeight));
                     }
 #endif
@@ -368,7 +368,7 @@
             target = possibleTarget;
             if (UNLIKELY(InspectorInstrumentation::hasFrontends())) {
                 auto sourceSize = imageData->size();
-                if (auto imageBuffer = ImageBuffer::create(sourceSize, RenderingMode::Unaccelerated)) {
+                if (auto imageBuffer = ImageBuffer::create(sourceSize, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8)) {
                     IntRect sourceRect(IntPoint(), sourceSize);
                     imageBuffer->putImageData(AlphaPremultiplication::Unpremultiplied, *imageData, sourceRect);
                     dataURL = imageBuffer->toDataURL("image/png"_s, WTF::nullopt, PreserveResolution::Yes);

Modified: trunk/Source/WebCore/platform/graphics/BitmapImage.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/BitmapImage.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/BitmapImage.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -164,7 +164,7 @@
         return image;
 
     auto correctedSizeFloat = correctedSize ? FloatSize(correctedSize.value()) : size();
-    auto buffer = ImageBuffer::create(correctedSizeFloat, RenderingMode::Unaccelerated);
+    auto buffer = ImageBuffer::create(correctedSizeFloat, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!buffer)
         return image;
 

Modified: trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -103,7 +103,7 @@
 
 void CrossfadeGeneratedImage::drawPattern(GraphicsContext& context, const FloatRect& dstRect, const FloatRect& srcRect, const AffineTransform& patternTransform, const FloatPoint& phase, const FloatSize& spacing, const ImagePaintingOptions& options)
 {
-    auto imageBuffer = ImageBuffer::create(size(), context.renderingMode());
+    auto imageBuffer = ImageBuffer::create(size(), context.renderingMode(), 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!imageBuffer)
         return;
 

Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -73,19 +73,6 @@
     return imageBuffer;
 }
 
-RefPtr<ImageBuffer> ImageBuffer::create(const FloatSize& size, const GraphicsContext& context)
-{
-    RefPtr<ImageBuffer> imageBuffer;
-    
-    if (context.renderingMode() == RenderingMode::Accelerated)
-        imageBuffer = AcceleratedImageBuffer::create(size, context);
-    
-    if (!imageBuffer)
-        imageBuffer = UnacceleratedImageBuffer::create(size, context);
-
-    return imageBuffer;
-}
-
 RefPtr<ImageBuffer> ImageBuffer::createCompatibleBuffer(const FloatSize& size, const GraphicsContext& context)
 {
     if (size.isEmpty())
@@ -93,14 +80,20 @@
 
     IntSize scaledSize = ImageBuffer::compatibleBufferSize(size, context);
 
-    auto imageBuffer = ImageBuffer::create(scaledSize, context);
+    RefPtr<ImageBuffer> imageBuffer;
+
+    if (context.renderingMode() == RenderingMode::Accelerated)
+        imageBuffer = AcceleratedImageBuffer::create(scaledSize, context);
+    
     if (!imageBuffer)
+        imageBuffer = UnacceleratedImageBuffer::create(scaledSize, context);
+
+    if (!imageBuffer)
         return nullptr;
 
     // Set up a corresponding scale factor on the graphics context.
     imageBuffer->context().scale(scaledSize / size);
     return imageBuffer;
-
 }
 
 RefPtr<ImageBuffer> ImageBuffer::createCompatibleBuffer(const FloatSize& size, DestinationColorSpace colorSpace, const GraphicsContext& context)
@@ -121,7 +114,7 @@
 
 RefPtr<ImageBuffer> ImageBuffer::createCompatibleBuffer(const FloatSize& size, float resolutionScale, DestinationColorSpace colorSpace, const GraphicsContext& context)
 {
-    return ImageBuffer::create(size, context.renderingMode(), resolutionScale, colorSpace);
+    return ImageBuffer::create(size, context.renderingMode(), resolutionScale, colorSpace, PixelFormat::BGRA8);
 }
 
 bool ImageBuffer::sizeNeedsClamping(const FloatSize& size)

Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.h (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/ImageBuffer.h	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/ImageBuffer.h	2021-05-03 15:02:50 UTC (rev 276899)
@@ -45,9 +45,8 @@
 class ImageBuffer : public ThreadSafeRefCounted<ImageBuffer>, public CanMakeWeakPtr<ImageBuffer> {
 public:
     // Will return a null pointer on allocation failure.
-    WEBCORE_EXPORT static RefPtr<ImageBuffer> create(const FloatSize&, RenderingMode, ShouldUseDisplayList, RenderingPurpose, float resolutionScale = 1, DestinationColorSpace = DestinationColorSpace::SRGB, PixelFormat = PixelFormat::BGRA8, const HostWindow* = nullptr);
-    WEBCORE_EXPORT static RefPtr<ImageBuffer> create(const FloatSize&, RenderingMode, float resolutionScale = 1, DestinationColorSpace = DestinationColorSpace::SRGB, PixelFormat = PixelFormat::BGRA8, const HostWindow* = nullptr);
-    static RefPtr<ImageBuffer> create(const FloatSize&, const GraphicsContext&);
+    WEBCORE_EXPORT static RefPtr<ImageBuffer> create(const FloatSize&, RenderingMode, ShouldUseDisplayList, RenderingPurpose, float resolutionScale, DestinationColorSpace, PixelFormat, const HostWindow* = nullptr);
+    WEBCORE_EXPORT static RefPtr<ImageBuffer> create(const FloatSize&, RenderingMode, float resolutionScale, DestinationColorSpace, PixelFormat, const HostWindow* = nullptr);
 
     // Create an image buffer compatible with the context, with suitable resolution for drawing into the buffer and then into this context.
     static RefPtr<ImageBuffer> createCompatibleBuffer(const FloatSize&, const GraphicsContext&);

Modified: trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -85,7 +85,7 @@
         clearScratchBuffer();
 
         // ShadowBlur is not used with accelerated drawing, so it's OK to make an unconditionally unaccelerated buffer.
-        m_imageBuffer = ImageBuffer::create(roundedSize, RenderingMode::Unaccelerated, 1);
+        m_imageBuffer = ImageBuffer::create(roundedSize, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
         return m_imageBuffer;
     }
 
@@ -604,7 +604,7 @@
 
 void ShadowBlur::drawRectShadowWithoutTiling(const AffineTransform&, const FloatRoundedRect& shadowedRect, const LayerImageProperties& layerImageProperties, const DrawBufferCallback& drawBuffer)
 {
-    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties.layerSize), RenderingMode::Unaccelerated, 1);
+    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties.layerSize), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!layerImage)
         return;
 
@@ -632,7 +632,7 @@
 
 void ShadowBlur::drawInsetShadowWithoutTiling(const AffineTransform&, const FloatRect& fullRect, const FloatRoundedRect& holeRect, const LayerImageProperties& layerImageProperties, const DrawBufferCallback& drawBuffer)
 {
-    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties.layerSize), RenderingMode::Unaccelerated, 1);
+    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties.layerSize), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!layerImage)
         return;
 
@@ -705,7 +705,7 @@
 #endif
 
     if (!layerImageBuffer) {
-        layerImageBuffer = ImageBuffer::create(templateSize, RenderingMode::Unaccelerated, 1);
+        layerImageBuffer = ImageBuffer::create(templateSize, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
         if (!layerImageBuffer)
             return;
     }
@@ -763,7 +763,7 @@
 #endif
 
     if (!layerImageBuffer) {
-        layerImageBuffer = ImageBuffer::create(templateSize, RenderingMode::Unaccelerated, 1);
+        layerImageBuffer = ImageBuffer::create(templateSize, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
         if (!layerImageBuffer)
             return;
     }
@@ -933,7 +933,7 @@
 
     adjustBlurRadius(transform);
 
-    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties->layerSize), RenderingMode::Unaccelerated, 1);
+    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties->layerSize), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!layerImage)
         return;
 

Modified: trunk/Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm	2021-05-03 15:02:50 UTC (rev 276899)
@@ -276,7 +276,7 @@
 void FilterEffectRendererCoreImage::renderToImageBuffer(FilterEffect& lastEffect)
 {
     FloatSize clampedSize = ImageBuffer::clampedSize(lastEffect.absolutePaintRect().size());
-    m_outputImageBuffer = ImageBuffer::create(clampedSize, RenderingMode::Accelerated, lastEffect.filter().filterScale(), lastEffect.resultColorSpace());
+    m_outputImageBuffer = ImageBuffer::create(clampedSize, RenderingMode::Accelerated, lastEffect.filter().filterScale(), lastEffect.resultColorSpace(), PixelFormat::BGRA8);
     
     if (!m_outputImageBuffer) {
         clearResult();

Modified: trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -273,7 +273,7 @@
     if (m_imageBufferResult)
         return m_imageBufferResult.get();
 
-    m_imageBufferResult = ImageBuffer::create(m_absolutePaintRect.size(), m_filter.renderingMode(), m_filter.filterScale(), m_resultColorSpace);
+    m_imageBufferResult = ImageBuffer::create(m_absolutePaintRect.size(), m_filter.renderingMode(), m_filter.filterScale(), m_resultColorSpace, PixelFormat::BGRA8);
     if (!m_imageBufferResult)
         return nullptr;
 
@@ -439,7 +439,7 @@
     destinationRect.scale(1 / m_filter.filterScale());
     FloatSize clampedSize = ImageBuffer::clampedSize(destinationRect.size());
     // Create an ImageBuffer to store incoming ImageData
-    auto buffer = ImageBuffer::create(clampedSize, m_filter.renderingMode(), m_filter.filterScale(), operatingColorSpace());
+    auto buffer = ImageBuffer::create(clampedSize, m_filter.renderingMode(), m_filter.filterScale(), operatingColorSpace(), PixelFormat::BGRA8);
     if (!buffer)
         return nullptr;
     buffer->putImageData(outputFormat, inputData, destinationRect);
@@ -450,7 +450,7 @@
 {
     FloatSize clampedSize = ImageBuffer::clampedSize(rect.size());
     // Create an ImageBuffer with the correct color space and utilize CG to handle color space conversion
-    auto convertedBuffer = ImageBuffer::create(clampedSize, m_filter.renderingMode(), m_filter.filterScale(), targetColorSpace);
+    auto convertedBuffer = ImageBuffer::create(clampedSize, m_filter.renderingMode(), m_filter.filterScale(), targetColorSpace, PixelFormat::BGRA8);
     if (!convertedBuffer)
         return nullptr;
     // Color space conversion happens internally when drawing from one image buffer to another
@@ -554,7 +554,7 @@
         return nullptr;
 
     FloatSize clampedSize = ImageBuffer::clampedSize(m_absolutePaintRect.size());
-    m_imageBufferResult = ImageBuffer::create(clampedSize, m_filter.renderingMode(), m_filter.filterScale(), m_resultColorSpace);
+    m_imageBufferResult = ImageBuffer::create(clampedSize, m_filter.renderingMode(), m_filter.filterScale(), m_resultColorSpace, PixelFormat::BGRA8);
     return m_imageBufferResult.get();
 }
 

Modified: trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -81,7 +81,7 @@
     IntSize textureSize(m_context.m_currentWidth, m_context.m_currentHeight);
     TextureMapperGL::Flags flags = m_context.contextAttributes().alpha ? TextureMapperGL::ShouldBlend : 0;
 #if USE(ANGLE)
-    auto imageBuffer = ImageBuffer::create(textureSize, RenderingMode::Unaccelerated);
+    auto imageBuffer = ImageBuffer::create(textureSize, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!imageBuffer)
         return;
 

Modified: trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -38,7 +38,7 @@
 {
     // Making an unconditionally unaccelerated buffer here is OK because this code
     // isn't used by any platforms that respect the accelerated bit.
-    auto imageBuffer = ImageBuffer::create(targetRect.size(), RenderingMode::Unaccelerated);
+    auto imageBuffer = ImageBuffer::create(targetRect.size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!imageBuffer)
         return;
 

Modified: trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp (276898 => 276899)


--- trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -454,7 +454,7 @@
     if (m_imageBuffer)
         return m_imageBuffer.get();
 
-    m_imageBuffer = ImageBuffer::create(captureSize(), RenderingMode::Unaccelerated);
+    m_imageBuffer = ImageBuffer::create(captureSize(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!m_imageBuffer)
         return nullptr;
 

Modified: trunk/Source/WebCore/rendering/CSSFilter.cpp (276898 => 276899)


--- trunk/Source/WebCore/rendering/CSSFilter.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/rendering/CSSFilter.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -344,11 +344,11 @@
     IntSize logicalSize { m_sourceDrawingRegion.size() };
     if (!sourceImage() || sourceImage()->logicalSize() != logicalSize) {
 #if USE(DIRECT2D)
-        setSourceImage(ImageBuffer::create(logicalSize, renderingMode(), &targetContext, filterScale()));
+        setSourceImage(ImageBuffer::create(logicalSize, renderingMode(), &targetContext, filterScale(), DestinationColorSpace::SRGB, PixelFormat::BGRA8));
 #else
         UNUSED_PARAM(targetContext);
         RenderingMode mode = m_filterRenderer ? RenderingMode::Accelerated : renderingMode();
-        setSourceImage(ImageBuffer::create(logicalSize, mode, filterScale()));
+        setSourceImage(ImageBuffer::create(logicalSize, mode, filterScale(), DestinationColorSpace::SRGB, PixelFormat::BGRA8));
 #endif
     }
     m_graphicsBufferAttached = true;

Modified: trunk/Source/WebCore/rendering/shapes/Shape.cpp (276898 => 276899)


--- trunk/Source/WebCore/rendering/shapes/Shape.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/rendering/shapes/Shape.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -181,7 +181,7 @@
     IntRect marginRect = snappedIntRect(marginR);
     auto intervals = makeUnique<RasterShapeIntervals>(marginRect.height(), -marginRect.y());
     // FIXME (149420): This buffer should not be unconditionally unaccelerated.
-    auto imageBuffer = ImageBuffer::create(imageRect.size(), RenderingMode::Unaccelerated);
+    auto imageBuffer = ImageBuffer::create(imageRect.size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
 
     auto createShape = [&]() {
         auto rasterShape = makeUnique<RasterShape>(WTFMove(intervals), marginRect.size());

Modified: trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp (276898 => 276899)


--- trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -247,10 +247,10 @@
     FloatSize clampedSize = ImageBuffer::clampedSize(paintRect.size(), scale);
 
 #if USE(DIRECT2D)
-    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, context, 1, colorSpace);
+    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, context, 1, colorSpace, PixelFormat::BGRA8);
 #else
     UNUSED_PARAM(context);
-    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, 1, colorSpace);
+    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, 1, colorSpace, PixelFormat::BGRA8);
 #endif
     if (!imageBuffer)
         return nullptr;
@@ -274,10 +274,10 @@
         return nullptr;
 
 #if USE(DIRECT2D)
-    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, context, 1, colorSpace);
+    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, context, 1, colorSpace, PixelFormat::BGRA8);
 #else
     UNUSED_PARAM(context);
-    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, 1, colorSpace);
+    auto imageBuffer = ImageBuffer::create(clampedSize, renderingMode, 1, colorSpace, PixelFormat::BGRA8);
 #endif
     if (!imageBuffer)
         return nullptr;

Modified: trunk/Source/WebCore/svg/graphics/SVGImage.cpp (276898 => 276899)


--- trunk/Source/WebCore/svg/graphics/SVGImage.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -217,7 +217,7 @@
     if (!m_page)
         return nullptr;
 
-    auto imageBuffer = ImageBuffer::create(size(), RenderingMode::Unaccelerated);
+    auto imageBuffer = ImageBuffer::create(size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!imageBuffer)
         return nullptr;
 

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (276898 => 276899)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2021-05-03 15:02:50 UTC (rev 276899)
@@ -1,3 +1,14 @@
+2021-05-03  Sam Weinig  <wei...@apple.com>
+
+        Remove default parameter values for color space and pixel format from ImageBuffer::create to make it clear everwhere we are explicitly requesting SRGB/BGRA8 buffers
+        https://bugs.webkit.org/show_bug.cgi?id=225288
+
+        Reviewed by Anders Carlsson.
+
+        * WebCoreSupport/WebContextMenuClient.mm:
+        (WebContextMenuClient::imageForCurrentSharingServicePickerItem):
+        Pass arguments explicitly that were previously default values.
+
 2021-04-29  Darin Adler  <da...@apple.com>
 
         Extend SortedArrayMap further to work on case-folded strings, use in MIMETypeRegistry

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm (276898 => 276899)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm	2021-05-03 15:02:50 UTC (rev 276899)
@@ -213,7 +213,7 @@
         return nil;
 
     // This is effectively a snapshot, and will be painted in an unaccelerated fashion in line with FrameSnapshotting.
-    auto buffer = ImageBuffer::create(rect.size(), RenderingMode::Unaccelerated);
+    auto buffer = ImageBuffer::create(rect.size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
     if (!buffer)
         return nil;
 

Modified: trunk/Tools/ChangeLog (276898 => 276899)


--- trunk/Tools/ChangeLog	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Tools/ChangeLog	2021-05-03 15:02:50 UTC (rev 276899)
@@ -1,3 +1,14 @@
+2021-05-03  Sam Weinig  <wei...@apple.com>
+
+        Remove default parameter values for color space and pixel format from ImageBuffer::create to make it clear everwhere we are explicitly requesting SRGB/BGRA8 buffers
+        https://bugs.webkit.org/show_bug.cgi?id=225288
+
+        Reviewed by Anders Carlsson.
+
+        * TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
+        (TestWebKitAPI::TEST):
+        Pass arguments explicitly that were previously default values.
+
 2021-05-03  Aakash Jain  <aakash_j...@apple.com>
 
         Remove unused gtk_im_multicontext_get_slave from valgrind/suppressions.txt

Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp (276898 => 276899)


--- trunk/Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp	2021-05-03 14:04:22 UTC (rev 276898)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp	2021-05-03 15:02:50 UTC (rev 276899)
@@ -69,7 +69,7 @@
     }
 
     {
-        auto imageBuffer = ImageBuffer::create({ 100, 100 }, RenderingMode::Unaccelerated);
+        auto imageBuffer = ImageBuffer::create({ 100, 100 }, RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB, PixelFormat::BGRA8);
         ImageBufferHashMap imageBufferMap;
         imageBufferMap.set(imageBufferIdentifier, imageBuffer.releaseNonNull());
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to