Title: [254893] trunk/Source
Revision
254893
Author
[email protected]
Date
2020-01-21 16:26:24 -0800 (Tue, 21 Jan 2020)

Log Message

Make RenderingMode and AlphaPremultiplication enum classes and move them to separate headers
https://bugs.webkit.org/show_bug.cgi?id=206516

Patch by Said Abou-Hallawa <[email protected]> on 2020-01-21
Reviewed by Tim Horton.

Source/WebCore:

RenderingMode and AlphaPremultiplication need to be encoded and decoded
when they are sent from the WebProcess to the GPUProcess.

* Headers.cmake:
* Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readImageBitmap):
* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::image):
* html/CustomPaintCanvas.cpp:
(WebCore::CustomPaintCanvas::copiedImage const):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer const):
* html/ImageBitmap.cpp:
* html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap):
(WebCore::OffscreenCanvas::createImageBuffer const):
(WebCore::OffscreenCanvas::takeImageBuffer const):
* html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createCompositingBuffer):
(WebCore::CanvasRenderingContext2DBase::createPattern):
* html/canvas/ImageBitmapRenderingContext.cpp:
(WebCore::ImageBitmapRenderingContext::isAccelerated const):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* page/FrameSnapshotting.cpp:
(WebCore::snapshotFrameRectWithClip):
* platform/graphics/AlphaPremultiplication.h: Added.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::nativeImageForCurrentFrameRespectingOrientation):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::renderingMode const):
* platform/graphics/GraphicsTypes.cpp:
* platform/graphics/GraphicsTypes.h:
* platform/graphics/ImageBuffer.h:
* platform/graphics/RenderingMode.h: Added.
* platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::getScratchBuffer):
(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawShadowLayer):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::~ImageBufferData):
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/ImageBufferDataCG.h:
* platform/graphics/filters/Filter.h:
* platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
* platform/graphics/win/ImageBufferDirect2D.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::imageBuffer const):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::nativeImageForCurrentFrame):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (254892 => 254893)


--- trunk/Source/WebCore/ChangeLog	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/ChangeLog	2020-01-22 00:26:24 UTC (rev 254893)
@@ -1,3 +1,83 @@
+2020-01-21  Said Abou-Hallawa  <[email protected]>
+
+        Make RenderingMode and AlphaPremultiplication enum classes and move them to separate headers
+        https://bugs.webkit.org/show_bug.cgi?id=206516
+
+        Reviewed by Tim Horton.
+
+        RenderingMode and AlphaPremultiplication need to be encoded and decoded
+        when they are sent from the WebProcess to the GPUProcess.
+
+        * Headers.cmake:
+        * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
+        (WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/SerializedScriptValue.cpp:
+        (WebCore::CloneDeserializer::readImageBitmap):
+        * css/CSSFilterImageValue.cpp:
+        (WebCore::CSSFilterImageValue::image):
+        * html/CustomPaintCanvas.cpp:
+        (WebCore::CustomPaintCanvas::copiedImage const):
+        * html/HTMLCanvasElement.cpp:
+        (WebCore::HTMLCanvasElement::createImageBuffer const):
+        * html/ImageBitmap.cpp:
+        * html/OffscreenCanvas.cpp:
+        (WebCore::OffscreenCanvas::transferToImageBitmap):
+        (WebCore::OffscreenCanvas::createImageBuffer const):
+        (WebCore::OffscreenCanvas::takeImageBuffer const):
+        * html/canvas/CanvasRenderingContext2DBase.cpp:
+        (WebCore::CanvasRenderingContext2DBase::createCompositingBuffer):
+        (WebCore::CanvasRenderingContext2DBase::createPattern):
+        * html/canvas/ImageBitmapRenderingContext.cpp:
+        (WebCore::ImageBitmapRenderingContext::isAccelerated const):
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        (WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):
+        * html/shadow/MediaControlElements.cpp:
+        (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
+        * page/FrameSnapshotting.cpp:
+        (WebCore::snapshotFrameRectWithClip):
+        * platform/graphics/AlphaPremultiplication.h: Added.
+        * platform/graphics/BitmapImage.cpp:
+        (WebCore::BitmapImage::nativeImageForCurrentFrameRespectingOrientation):
+        * platform/graphics/GraphicsContext.h:
+        (WebCore::GraphicsContext::renderingMode const):
+        * platform/graphics/GraphicsTypes.cpp:
+        * platform/graphics/GraphicsTypes.h:
+        * platform/graphics/ImageBuffer.h:
+        * platform/graphics/RenderingMode.h: Added.
+        * platform/graphics/ShadowBlur.cpp:
+        (WebCore::ScratchBuffer::getScratchBuffer):
+        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
+        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
+        (WebCore::ShadowBlur::drawRectShadowWithTiling):
+        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
+        (WebCore::ShadowBlur::drawShadowLayer):
+        * platform/graphics/cairo/ImageBufferCairo.cpp:
+        (WebCore::ImageBufferData::~ImageBufferData):
+        (WebCore::ImageBuffer::ImageBuffer):
+        * platform/graphics/cg/ImageBufferCG.cpp:
+        (WebCore::ImageBuffer::ImageBuffer):
+        * platform/graphics/cg/ImageBufferDataCG.h:
+        * platform/graphics/filters/Filter.h:
+        * platform/graphics/texmap/BitmapTexture.cpp:
+        (WebCore::BitmapTexture::updateContents):
+        * platform/graphics/win/ImageBufferDirect2D.cpp:
+        (WebCore::ImageBuffer::ImageBuffer):
+        * platform/mock/MockRealtimeVideoSource.cpp:
+        (WebCore::MockRealtimeVideoSource::imageBuffer const):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::calculateClipRects const):
+        * rendering/shapes/Shape.cpp:
+        (WebCore::Shape::createRasterShape):
+        * rendering/svg/RenderSVGResourceClipper.cpp:
+        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
+        * rendering/svg/RenderSVGResourceFilter.cpp:
+        (WebCore::RenderSVGResourceFilter::applyResource):
+        * rendering/svg/RenderSVGResourceMasker.cpp:
+        (WebCore::RenderSVGResourceMasker::applyResource):
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::nativeImageForCurrentFrame):
+
 2020-01-21  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r254807 and r254849.

Modified: trunk/Source/WebCore/Headers.cmake (254892 => 254893)


--- trunk/Source/WebCore/Headers.cmake	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/Headers.cmake	2020-01-22 00:26:24 UTC (rev 254893)
@@ -1031,6 +1031,7 @@
     platform/gamepad/GamepadProviderClient.h
     platform/gamepad/PlatformGamepad.h
 
+    platform/graphics/AlphaPremultiplication.h
     platform/graphics/ANGLEWebKitBridge.h
     platform/graphics/AudioTrackPrivate.h
     platform/graphics/BitmapImage.h
@@ -1128,6 +1129,7 @@
     platform/graphics/PlatformTimeRanges.h
     platform/graphics/Region.h
     platform/graphics/RemoteVideoSample.h
+    platform/graphics/RenderingMode.h
     platform/graphics/RoundedRect.h
     platform/graphics/StringTruncator.h
     platform/graphics/TabSize.h

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


--- trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -284,7 +284,7 @@
 
         auto bitmapImage = BitmapImage::create();
         bitmapImage->setData(WTFMove(bufferToSanitize), true);
-        auto imageBuffer = ImageBuffer::create(bitmapImage->size(), Unaccelerated);
+        auto imageBuffer = ImageBuffer::create(bitmapImage->size(), RenderingMode::Unaccelerated);
         if (!imageBuffer) {
             m_data = { nullString() };
             return;

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (254892 => 254893)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2020-01-22 00:26:24 UTC (rev 254893)
@@ -2141,6 +2141,8 @@
 		724ED3321A3A8B2300F5F13C /* JSEXTBlendMinMax.h in Headers */ = {isa = PBXBuildFile; fileRef = 724ED3301A3A8B2300F5F13C /* JSEXTBlendMinMax.h */; };
 		724EE5501DC80D7F00A91FFB /* ActivityState.h in Headers */ = {isa = PBXBuildFile; fileRef = 724EE54E1DC7F25B00A91FFB /* ActivityState.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		724EE5511DC80D8400A91FFB /* ActivityStateChangeObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 724EE54F1DC7F25B00A91FFB /* ActivityStateChangeObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		7299BC6723D6A53200CC6883 /* AlphaPremultiplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 7299BC6423D686A600CC6883 /* AlphaPremultiplication.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		7299BC6823D6A53E00CC6883 /* RenderingMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7299BC6623D686C600CC6883 /* RenderingMode.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		7553CFE8108F473F00EA281E /* TimelineRecordFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7553CFE6108F473F00EA281E /* TimelineRecordFactory.h */; };
 		75793E840D0CE0B3007FC0AC /* MessageEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 75793E810D0CE0B3007FC0AC /* MessageEvent.h */; };
 		75793EC90D0CE72D007FC0AC /* JSMessageEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 75793EC70D0CE72D007FC0AC /* JSMessageEvent.h */; };
@@ -9640,6 +9642,8 @@
 		727AFED11A2EA6A0000442E8 /* EXTsRGB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EXTsRGB.cpp; sourceTree = "<group>"; };
 		727AFED21A2EA6A0000442E8 /* EXTsRGB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EXTsRGB.h; sourceTree = "<group>"; };
 		727AFED31A2EA6A0000442E8 /* EXTsRGB.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EXTsRGB.idl; sourceTree = "<group>"; };
+		7299BC6423D686A600CC6883 /* AlphaPremultiplication.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AlphaPremultiplication.h; sourceTree = "<group>"; };
+		7299BC6623D686C600CC6883 /* RenderingMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RenderingMode.h; sourceTree = "<group>"; };
 		72C18A3F230B04B7006847C7 /* ImagePaintingOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImagePaintingOptions.h; sourceTree = "<group>"; };
 		72E417611A2E8D2F004C562A /* JSEXTsRGB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEXTsRGB.cpp; sourceTree = "<group>"; };
 		72E417621A2E8D2F004C562A /* JSEXTsRGB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEXTsRGB.h; sourceTree = "<group>"; };
@@ -25018,6 +25022,7 @@
 				FBC220DD1237FBEB00BCF788 /* opengl */,
 				3721493318F0B6D600156EDC /* opentype */,
 				49E911B20EF86D27009D0CAF /* transforms */,
+				7299BC6423D686A600CC6883 /* AlphaPremultiplication.h */,
 				490707E41219C04300D90E51 /* ANGLEWebKitBridge.cpp */,
 				490707E51219C04300D90E51 /* ANGLEWebKitBridge.h */,
 				BEF29EE91715DD0900C4B4C9 /* AudioTrackPrivate.h */,
@@ -25194,6 +25199,7 @@
 				BCAB418013E356E800D8AAF3 /* Region.h */,
 				073A15512177A39800EA08F2 /* RemoteVideoSample.cpp */,
 				073A15532177A39A00EA08F2 /* RemoteVideoSample.h */,
+				7299BC6623D686C600CC6883 /* RenderingMode.h */,
 				A73F95FC12C97BFE0031AAF9 /* RoundedRect.cpp */,
 				A73F95FD12C97BFE0031AAF9 /* RoundedRect.h */,
 				0F3DD44D12F5EA1B000D9190 /* ShadowBlur.cpp */,
@@ -29051,6 +29057,7 @@
 				BCF7E491137CD7C7001DDAE7 /* AdjustViewSizeOrNot.h in Headers */,
 				84D0C4061115F1EA0018AA34 /* AffineTransform.h in Headers */,
 				83BB5C881D5D6F45005A71F4 /* AllDescendantsCollection.h in Headers */,
+				7299BC6723D6A53200CC6883 /* AlphaPremultiplication.h in Headers */,
 				CEDA12D7152CA1CB00D9E08D /* AlternativeTextClient.h in Headers */,
 				CE08C3D2152B599A0021B8C2 /* AlternativeTextController.h in Headers */,
 				CE7B2DB31586ABAD0098B3FA /* AlternativeTextUIController.h in Headers */,
@@ -32025,6 +32032,7 @@
 				BCEA4876097D93020094C9E4 /* RenderImage.h in Headers */,
 				08F2F00A1213E61700DCEC48 /* RenderImageResource.h in Headers */,
 				08641D4812142F7D008DE9F6 /* RenderImageResourceStyleImage.h in Headers */,
+				7299BC6823D6A53E00CC6883 /* RenderingMode.h in Headers */,
 				556C7C4B22123997009B06CA /* RenderingUpdateScheduler.h in Headers */,
 				BCEA4878097D93020094C9E4 /* RenderInline.h in Headers */,
 				B595FF471824CEE300FF51CD /* RenderIterator.h in Headers */,

Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (254892 => 254893)


--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -2785,7 +2785,7 @@
             return JSValue();
         }
 
-        auto buffer = ImageBuffer::create(FloatSize(logicalWidth, logicalHeight), Unaccelerated, resolutionScale);
+        auto buffer = ImageBuffer::create(FloatSize(logicalWidth, logicalHeight), RenderingMode::Unaccelerated, resolutionScale);
         if (!buffer) {
             fail();
             return JSValue();

Modified: trunk/Source/WebCore/css/CSSFilterImageValue.cpp (254892 => 254893)


--- trunk/Source/WebCore/css/CSSFilterImageValue.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/css/CSSFilterImageValue.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -116,7 +116,7 @@
 
     // Transform Image into ImageBuffer.
     // FIXME (149424): This buffer should not be unconditionally unaccelerated.
-    auto texture = ImageBuffer::create(size, Unaccelerated);
+    auto texture = ImageBuffer::create(size, RenderingMode::Unaccelerated);
     if (!texture)
         return &Image::nullImage();
 

Modified: trunk/Source/WebCore/html/CustomPaintCanvas.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/CustomPaintCanvas.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/CustomPaintCanvas.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -93,7 +93,7 @@
     if (!width() || !height())
         return nullptr;
 
-    m_copiedBuffer = ImageBuffer::create(size(), Unaccelerated, 1, ColorSpace::SRGB, nullptr);
+    m_copiedBuffer = ImageBuffer::create(size(), RenderingMode::Unaccelerated, 1, ColorSpace::SRGB, nullptr);
     if (!m_copiedBuffer)
         return nullptr;
 

Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -885,7 +885,7 @@
     if (!width() || !height())
         return;
 
-    RenderingMode renderingMode = shouldAccelerate(size()) ? Accelerated : Unaccelerated;
+    RenderingMode renderingMode = shouldAccelerate(size()) ? RenderingMode::Accelerated : RenderingMode::Unaccelerated;
 
     auto hostWindow = (document().view() && document().view()->root()) ? document().view()->root()->hostWindow() : nullptr;
     setImageBuffer(ImageBuffer::create(size(), renderingMode, 1, ColorSpace::SRGB, hostWindow));

Modified: trunk/Source/WebCore/html/ImageBitmap.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/ImageBitmap.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/ImageBitmap.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -61,9 +61,9 @@
 WTF_MAKE_ISO_ALLOCATED_IMPL(ImageBitmap);
 
 #if USE(IOSURFACE_CANVAS_BACKING_STORE) || ENABLE(ACCELERATED_2D_CANVAS)
-static RenderingMode bufferRenderingMode = Accelerated;
+static RenderingMode bufferRenderingMode = RenderingMode::Accelerated;
 #else
-static RenderingMode bufferRenderingMode = Unaccelerated;
+static RenderingMode bufferRenderingMode = RenderingMode::Unaccelerated;
 #endif
 
 Ref<ImageBitmap> ImageBitmap::create(IntSize size)

Modified: trunk/Source/WebCore/html/OffscreenCanvas.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/OffscreenCanvas.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/OffscreenCanvas.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -126,7 +126,7 @@
             return { RefPtr<ImageBitmap> { nullptr } };
 
         if (!m_hasCreatedImageBuffer)
-            return { ImageBitmap::create({ ImageBuffer::create(size(), Unaccelerated), true }) };
+            return { ImageBitmap::create({ ImageBuffer::create(size(), RenderingMode::Unaccelerated), true }) };
 
         auto buffer = takeImageBuffer();
         if (!buffer)
@@ -243,7 +243,7 @@
     if (!width() || !height())
         return;
 
-    setImageBuffer(ImageBuffer::create(size(), Unaccelerated));
+    setImageBuffer(ImageBuffer::create(size(), RenderingMode::Unaccelerated));
 }
 
 std::unique_ptr<ImageBuffer> OffscreenCanvas::takeImageBuffer() const
@@ -257,7 +257,7 @@
     if (size().isEmpty())
         return nullptr;
 
-    return setImageBuffer(ImageBuffer::create(size(), Unaccelerated));
+    return setImageBuffer(ImageBuffer::create(size(), RenderingMode::Unaccelerated));
 }
 
 void OffscreenCanvas::reset()

Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -1806,7 +1806,7 @@
 
 std::unique_ptr<ImageBuffer> CanvasRenderingContext2DBase::createCompositingBuffer(const IntRect& bufferRect)
 {
-    return ImageBuffer::create(bufferRect.size(), isAccelerated() ? Accelerated : Unaccelerated);
+    return ImageBuffer::create(bufferRect.size(), isAccelerated() ? RenderingMode::Accelerated : RenderingMode::Unaccelerated);
 }
 
 void CanvasRenderingContext2DBase::compositeBuffer(ImageBuffer& buffer, const IntRect& bufferRect, CompositeOperator op)
@@ -1990,7 +1990,7 @@
         return RefPtr<CanvasPattern> { CanvasPattern::create(BitmapImage::create(WTFMove(nativeImage)), repeatX, repeatY, originClean) };
 #endif
 
-    auto imageBuffer = ImageBuffer::create(size(videoElement), drawingContext() ? drawingContext()->renderingMode() : Accelerated);
+    auto imageBuffer = ImageBuffer::create(size(videoElement), drawingContext() ? drawingContext()->renderingMode() : RenderingMode::Accelerated);
     if (!imageBuffer)
         return nullptr;
 

Modified: trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -36,9 +36,9 @@
 WTF_MAKE_ISO_ALLOCATED_IMPL(ImageBitmapRenderingContext);
 
 #if USE(IOSURFACE_CANVAS_BACKING_STORE) || ENABLE(ACCELERATED_2D_CANVAS)
-static RenderingMode bufferRenderingMode = Accelerated;
+static RenderingMode bufferRenderingMode = RenderingMode::Accelerated;
 #else
-static RenderingMode bufferRenderingMode = Unaccelerated;
+static RenderingMode bufferRenderingMode = RenderingMode::Unaccelerated;
 #endif
 
 std::unique_ptr<ImageBitmapRenderingContext> ImageBitmapRenderingContext::create(CanvasBase& canvas, ImageBitmapRenderingContextSettings&& settings)
@@ -69,7 +69,7 @@
 
 bool ImageBitmapRenderingContext::isAccelerated() const
 {
-    return bufferRenderingMode == Accelerated;
+    return bufferRenderingMode == RenderingMode::Accelerated;
 }
 
 void ImageBitmapRenderingContext::setOutputBitmap(RefPtr<ImageBitmap> imageBitmap)

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -6386,7 +6386,7 @@
     }
 
     // FIXME (149423): Should this ImageBuffer be unconditionally unaccelerated?
-    std::unique_ptr<ImageBuffer> temp = ImageBuffer::create(size, Unaccelerated);
+    std::unique_ptr<ImageBuffer> temp = ImageBuffer::create(size, RenderingMode::Unaccelerated);
     if (!temp)
         return nullptr;
     ASSERT(m_buffers.size() > 0);

Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (254892 => 254893)


--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -1447,7 +1447,7 @@
     IntRect paintingRect = IntRect(IntPoint(), layer->size());
 
     // FIXME (149422): This buffer should not be unconditionally unaccelerated.
-    std::unique_ptr<ImageBuffer> buffer(ImageBuffer::create(paintingRect.size(), Unaccelerated, deviceScaleFactor));
+    std::unique_ptr<ImageBuffer> buffer(ImageBuffer::create(paintingRect.size(), RenderingMode::Unaccelerated, deviceScaleFactor));
     if (!buffer)
         return nullptr;
 

Modified: trunk/Source/WebCore/page/FrameSnapshotting.cpp (254892 => 254893)


--- trunk/Source/WebCore/page/FrameSnapshotting.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/page/FrameSnapshotting.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -111,7 +111,7 @@
     if (options & SnapshotOptionsPaintWithIntegralScaleFactor)
         scaleFactor = ceilf(scaleFactor);
 
-    std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(imageRect.size(), Unaccelerated, scaleFactor);
+    std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(imageRect.size(), RenderingMode::Unaccelerated, scaleFactor);
     if (!buffer)
         return nullptr;
     buffer->context().translate(-imageRect.x(), -imageRect.y());

Copied: trunk/Source/WebCore/platform/graphics/AlphaPremultiplication.h (from rev 254892, trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h) (0 => 254893)


--- trunk/Source/WebCore/platform/graphics/AlphaPremultiplication.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/graphics/AlphaPremultiplication.h	2020-01-22 00:26:24 UTC (rev 254893)
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/Forward.h>
+
+namespace WebCore {
+
+enum class AlphaPremultiplication : uint8_t {
+    Premultiplied,
+    Unpremultiplied
+};
+
+WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, AlphaPremultiplication);
+
+} // namespace WebCore

Modified: trunk/Source/WebCore/platform/graphics/BitmapImage.cpp (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/BitmapImage.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/BitmapImage.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -160,7 +160,7 @@
         return image;
 
     FloatRect rect = { FloatPoint(), size() };
-    auto buffer = ImageBuffer::create(rect.size(), Unaccelerated);
+    auto buffer = ImageBuffer::create(rect.size(), RenderingMode::Unaccelerated);
     if (!buffer)
         return image;
 

Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.h (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/GraphicsContext.h	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.h	2020-01-22 00:26:24 UTC (rev 254893)
@@ -35,6 +35,7 @@
 #include "ImageOrientation.h"
 #include "ImagePaintingOptions.h"
 #include "Pattern.h"
+#include "RenderingMode.h"
 #include <wtf/Function.h>
 #include <wtf/Noncopyable.h>
 #include <wtf/OptionSet.h>
@@ -350,7 +351,7 @@
     WEBCORE_EXPORT void setIsAcceleratedContext(bool);
 #endif
     bool isAcceleratedContext() const;
-    RenderingMode renderingMode() const { return isAcceleratedContext() ? Accelerated : Unaccelerated; }
+    RenderingMode renderingMode() const { return isAcceleratedContext() ? RenderingMode::Accelerated : RenderingMode::Unaccelerated; }
 
     WEBCORE_EXPORT void save();
     WEBCORE_EXPORT void restore();

Modified: trunk/Source/WebCore/platform/graphics/GraphicsTypes.cpp (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/GraphicsTypes.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/GraphicsTypes.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -28,6 +28,7 @@
 #include "config.h"
 #include "GraphicsTypes.h"
 
+#include "AlphaPremultiplication.h"
 #include <wtf/Assertions.h>
 #include <wtf/text/TextStream.h>
 #include <wtf/text/WTFString.h>

Modified: trunk/Source/WebCore/platform/graphics/GraphicsTypes.h (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/GraphicsTypes.h	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/GraphicsTypes.h	2020-01-22 00:26:24 UTC (rev 254893)
@@ -122,17 +122,6 @@
     RightTextAlign
 };
 
-enum RenderingMode {
-    Unaccelerated,
-    UnacceleratedNonPlatformBuffer, // Use plain memory allocation rather than platform API to allocate backing store.
-    Accelerated
-};
-
-enum class AlphaPremultiplication {
-    Premultiplied,
-    Unpremultiplied
-};
-
 String compositeOperatorName(WebCore::CompositeOperator, WebCore::BlendMode);
 String blendModeName(WebCore::BlendMode);
 bool parseBlendMode(const String&, WebCore::BlendMode&);
@@ -143,7 +132,6 @@
 WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, WindRule);
 WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, LineCap);
 WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, LineJoin);
-WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, AlphaPremultiplication);
 
 } // namespace WebCore
 

Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.h (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/ImageBuffer.h	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/ImageBuffer.h	2020-01-22 00:26:24 UTC (rev 254893)
@@ -28,6 +28,7 @@
 #pragma once
 
 #include "AffineTransform.h"
+#include "AlphaPremultiplication.h"
 #include "ColorSpace.h"
 #include "GraphicsTypes.h"
 #include "GraphicsTypesGL.h"
@@ -35,6 +36,7 @@
 #include "ImagePaintingOptions.h"
 #include "IntSize.h"
 #include "PlatformLayer.h"
+#include "RenderingMode.h"
 #include <_javascript_Core/Uint8ClampedArray.h>
 #include <memory>
 #include <wtf/Forward.h>
@@ -194,4 +196,3 @@
 #endif
 
 } // namespace WebCore
-

Copied: trunk/Source/WebCore/platform/graphics/RenderingMode.h (from rev 254892, trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h) (0 => 254893)


--- trunk/Source/WebCore/platform/graphics/RenderingMode.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/graphics/RenderingMode.h	2020-01-22 00:26:24 UTC (rev 254893)
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+namespace WebCore {
+
+enum class RenderingMode : uint8_t {
+    Accelerated,
+    Unaccelerated,
+};
+
+} // namespace WebCore

Modified: trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -83,7 +83,7 @@
         clearScratchBuffer();
 
         // ShadowBlur is not used with accelerated drawing, so it's OK to make an unconditionally unaccelerated buffer.
-        m_imageBuffer = ImageBuffer::create(roundedSize, Unaccelerated, 1);
+        m_imageBuffer = ImageBuffer::create(roundedSize, RenderingMode::Unaccelerated, 1);
         return m_imageBuffer.get();
     }
 
@@ -593,7 +593,7 @@
 
 void ShadowBlur::drawRectShadowWithoutTiling(const AffineTransform&, const FloatRoundedRect& shadowedRect, const LayerImageProperties& layerImageProperties, const DrawBufferCallback& drawBuffer)
 {
-    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties.layerSize), Unaccelerated, 1);
+    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties.layerSize), RenderingMode::Unaccelerated, 1);
     if (!layerImage)
         return;
 
@@ -621,7 +621,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), Unaccelerated, 1);
+    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties.layerSize), RenderingMode::Unaccelerated, 1);
     if (!layerImage)
         return;
 
@@ -685,7 +685,7 @@
     auto* layerImage = ScratchBuffer::singleton().getScratchBuffer(templateSize);
 #else
     UNUSED_PARAM(layerImageProperties);
-    auto layerImageBuffer = ImageBuffer::create(templateSize, Unaccelerated, 1);
+    auto layerImageBuffer = ImageBuffer::create(templateSize, RenderingMode::Unaccelerated, 1);
     auto* layerImage = layerImageBuffer.get();
 #endif
 
@@ -739,7 +739,7 @@
 #if USE(CG)
     auto* layerImage = ScratchBuffer::singleton().getScratchBuffer(templateSize);
 #else
-    auto layerImageBuffer = ImageBuffer::create(templateSize, Unaccelerated, 1);
+    auto layerImageBuffer = ImageBuffer::create(templateSize, RenderingMode::Unaccelerated, 1);
     auto* layerImage = layerImageBuffer.get();
 #endif
 
@@ -912,7 +912,7 @@
 
     adjustBlurRadius(transform);
 
-    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties->layerSize), Unaccelerated, 1);
+    auto layerImage = ImageBuffer::create(expandedIntSize(layerImageProperties->layerSize), RenderingMode::Unaccelerated, 1);
     if (!layerImage)
         return;
 

Modified: trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -103,7 +103,7 @@
 
 ImageBufferData::~ImageBufferData()
 {
-    if (m_renderingMode != Accelerated)
+    if (m_renderingMode != RenderingMode::Accelerated)
         return;
 
 #if ENABLE(ACCELERATED_2D_CANVAS)
@@ -292,14 +292,14 @@
         return;
 
 #if ENABLE(ACCELERATED_2D_CANVAS)
-    if (m_data.m_renderingMode == Accelerated) {
+    if (m_data.m_renderingMode == RenderingMode::Accelerated) {
         m_data.createCairoGLSurface();
         if (!m_data.m_surface || cairo_surface_status(m_data.m_surface.get()) != CAIRO_STATUS_SUCCESS)
-            m_data.m_renderingMode = Unaccelerated; // If allocation fails, fall back to non-accelerated path.
+            m_data.m_renderingMode = RenderingMode::Unaccelerated; // If allocation fails, fall back to non-accelerated path.
     }
-    if (m_data.m_renderingMode == Unaccelerated)
+    if (m_data.m_renderingMode == RenderingMode::Unaccelerated)
 #else
-    ASSERT(m_data.m_renderingMode != Accelerated);
+    ASSERT(m_data.m_renderingMode != RenderingMode::Accelerated);
 #endif
     {
         static cairo_user_data_key_t s_surfaceDataKey;

Modified: trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -127,7 +127,7 @@
     m_size = IntSize(scaledWidth, scaledHeight);
     m_data.backingStoreSize = m_size;
 
-    bool accelerateRendering = renderingMode == Accelerated;
+    bool accelerateRendering = renderingMode == RenderingMode::Accelerated;
     if (m_size.width() <= 0 || m_size.height() <= 0)
         return;
 

Modified: trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h	2020-01-22 00:26:24 UTC (rev 254893)
@@ -26,6 +26,7 @@
 
 #pragma once
 
+#include "AlphaPremultiplication.h"
 #include "Image.h"
 #include <_javascript_Core/Uint8ClampedArray.h>
 #include <wtf/CheckedArithmetic.h>

Modified: trunk/Source/WebCore/platform/graphics/filters/Filter.h (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/filters/Filter.h	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/filters/Filter.h	2020-01-22 00:26:24 UTC (rev 254893)
@@ -71,7 +71,7 @@
     std::unique_ptr<ImageBuffer> m_sourceImage;
     FloatSize m_filterResolution;
     AffineTransform m_absoluteTransform;
-    RenderingMode m_renderingMode { Unaccelerated };
+    RenderingMode m_renderingMode { RenderingMode::Unaccelerated };
     float m_filterScale { 1 };
 };
 

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


--- trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -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.
-    std::unique_ptr<ImageBuffer> imageBuffer = ImageBuffer::create(targetRect.size(), Unaccelerated);
+    std::unique_ptr<ImageBuffer> imageBuffer = ImageBuffer::create(targetRect.size(), RenderingMode::Unaccelerated);
 
     if (!imageBuffer)
         return;

Modified: trunk/Source/WebCore/platform/graphics/win/ImageBufferDirect2D.cpp (254892 => 254893)


--- trunk/Source/WebCore/platform/graphics/win/ImageBufferDirect2D.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/graphics/win/ImageBufferDirect2D.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -91,7 +91,7 @@
     m_size = IntSize(scaledWidth, scaledHeight);
     m_data.backingStoreSize = m_size;
 
-    bool accelerateRendering = renderingMode == Accelerated;
+    bool accelerateRendering = renderingMode == RenderingMode::Accelerated;
     if (m_size.width() <= 0 || m_size.height() <= 0)
         return;
 

Modified: trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp (254892 => 254893)


--- trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -458,7 +458,7 @@
     if (m_imageBuffer)
         return m_imageBuffer.get();
 
-    m_imageBuffer = ImageBuffer::create(captureSize(), Unaccelerated);
+    m_imageBuffer = ImageBuffer::create(captureSize(), RenderingMode::Unaccelerated);
     if (!m_imageBuffer)
         return nullptr;
 

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (254892 => 254893)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -6905,7 +6905,7 @@
     }
     
     ensureLayerFilters();
-    m_filters->buildFilter(renderer(), page().deviceScaleFactor(), renderer().settings().acceleratedFiltersEnabled() ? Accelerated : Unaccelerated);
+    m_filters->buildFilter(renderer(), page().deviceScaleFactor(), renderer().settings().acceleratedFiltersEnabled() ? RenderingMode::Accelerated : RenderingMode::Unaccelerated);
 }
 
 void RenderLayer::filterNeedsRepaint()

Modified: trunk/Source/WebCore/rendering/shapes/Shape.cpp (254892 => 254893)


--- trunk/Source/WebCore/rendering/shapes/Shape.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/rendering/shapes/Shape.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -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.
-    std::unique_ptr<ImageBuffer> imageBuffer = ImageBuffer::create(imageRect.size(), Unaccelerated);
+    std::unique_ptr<ImageBuffer> imageBuffer = ImageBuffer::create(imageRect.size(), RenderingMode::Unaccelerated);
 
     if (imageBuffer) {
         GraphicsContext& graphicsContext = imageBuffer->context();

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp (254892 => 254893)


--- trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -142,7 +142,7 @@
 
     if (shouldCreateClipperMaskImage && !repaintRect.isEmpty()) {
         // FIXME (149469): This image buffer should not be unconditionally unaccelerated. Making it match the context breaks nested clipping, though.
-        clipperMaskImage = SVGRenderingContext::createImageBuffer(repaintRect, absoluteTransform, ColorSpace::SRGB, Unaccelerated, &context);
+        clipperMaskImage = SVGRenderingContext::createImageBuffer(repaintRect, absoluteTransform, ColorSpace::SRGB, RenderingMode::Unaccelerated, &context);
         if (!clipperMaskImage)
             return false;
 

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp (254892 => 254893)


--- trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -191,7 +191,7 @@
     effectiveTransform.scale(scale.width(), scale.height());
     effectiveTransform.multiply(filterData->shearFreeAbsoluteTransform);
 
-    RenderingMode renderingMode = renderer.settings().acceleratedFiltersEnabled() ? Accelerated : Unaccelerated;
+    RenderingMode renderingMode = renderer.settings().acceleratedFiltersEnabled() ? RenderingMode::Accelerated : RenderingMode::Unaccelerated;
     auto sourceGraphic = SVGRenderingContext::createImageBuffer(filterData->drawingRegion, effectiveTransform, ColorSpace::LinearRGB, renderingMode, context);
     if (!sourceGraphic) {
         ASSERT(!m_rendererFilterDataMap.contains(&renderer));

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp (254892 => 254893)


--- trunk/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -71,7 +71,7 @@
         const SVGRenderStyle& svgStyle = style().svgStyle();
         ColorSpace colorSpace = svgStyle.colorInterpolation() == ColorInterpolation::LinearRGB ? ColorSpace::LinearRGB : ColorSpace::SRGB;
         // FIXME (149470): This image buffer should not be unconditionally unaccelerated. Making it match the context breaks alpha masking, though.
-        maskerData->maskImage = SVGRenderingContext::createImageBuffer(repaintRect, absoluteTransform, colorSpace, Unaccelerated, context);
+        maskerData->maskImage = SVGRenderingContext::createImageBuffer(repaintRect, absoluteTransform, colorSpace, RenderingMode::Unaccelerated, context);
         if (!maskerData->maskImage)
             return false;
 

Modified: trunk/Source/WebCore/svg/graphics/SVGImage.cpp (254892 => 254893)


--- trunk/Source/WebCore/svg/graphics/SVGImage.cpp	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.cpp	2020-01-22 00:26:24 UTC (rev 254893)
@@ -218,7 +218,7 @@
         return nullptr;
 
     // Cairo does not use the accelerated drawing flag, so it's OK to make an unconditionally unaccelerated buffer.
-    std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(size(), Unaccelerated);
+    std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(size(), RenderingMode::Unaccelerated);
     if (!buffer) // failed to allocate image
         return nullptr;
 

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (254892 => 254893)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2020-01-22 00:26:24 UTC (rev 254893)
@@ -1,3 +1,13 @@
+2020-01-21  Said Abou-Hallawa  <[email protected]>
+
+        Make RenderingMode and AlphaPremultiplication enum classes and move them to separate headers
+        https://bugs.webkit.org/show_bug.cgi?id=206516
+
+        Reviewed by Tim Horton.
+
+        * WebCoreSupport/WebContextMenuClient.mm:
+        (WebContextMenuClient::imageForCurrentSharingServicePickerItem):
+
 2020-01-21  Daniel Bates  <[email protected]>
 
         Add Legacy WebKit SPI and WebKit IPI to show and hide placeholder

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm (254892 => 254893)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm	2020-01-22 00:08:40 UTC (rev 254892)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm	2020-01-22 00:26:24 UTC (rev 254893)
@@ -202,7 +202,7 @@
         return nil;
 
     // This is effectively a snapshot, and will be painted in an unaccelerated fashion in line with FrameSnapshotting.
-    std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(rect.size(), Unaccelerated);
+    std::unique_ptr<ImageBuffer> buffer = ImageBuffer::create(rect.size(), RenderingMode::Unaccelerated);
     if (!buffer)
         return nil;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to