Title: [190935] releases/WebKitGTK/webkit-2.10/Source/WebCore
Revision
190935
Author
[email protected]
Date
2015-10-13 02:14:30 -0700 (Tue, 13 Oct 2015)

Log Message

Merge r190079 - svg/custom/hidpi-masking-clipping.svg fails with accelerated drawing on
https://bugs.webkit.org/show_bug.cgi?id=149413
<rdar://problem/22787058>

Reviewed by Dean Jackson.

No new tests, this is covered by existing tests.

* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/svg/RenderSVGResourcePattern.h:
Make pattern images respect the accelerated bit of the parent GraphicsContext.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog (190934 => 190935)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2015-10-13 09:03:58 UTC (rev 190934)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2015-10-13 09:14:30 UTC (rev 190935)
@@ -1,3 +1,20 @@
+2015-09-21  Tim Horton  <[email protected]>
+
+        svg/custom/hidpi-masking-clipping.svg fails with accelerated drawing on
+        https://bugs.webkit.org/show_bug.cgi?id=149413
+        <rdar://problem/22787058>
+
+        Reviewed by Dean Jackson.
+
+        No new tests, this is covered by existing tests.
+
+        * rendering/svg/RenderSVGResourcePattern.cpp:
+        (WebCore::RenderSVGResourcePattern::buildPattern):
+        (WebCore::RenderSVGResourcePattern::applyResource):
+        (WebCore::RenderSVGResourcePattern::createTileImage):
+        * rendering/svg/RenderSVGResourcePattern.h:
+        Make pattern images respect the accelerated bit of the parent GraphicsContext.
+
 2015-09-21  ChangSeok Oh  <[email protected]>
 
         [GTK] media controls does not show up when playing video finishes.

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp (190934 => 190935)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp	2015-10-13 09:03:58 UTC (rev 190934)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp	2015-10-13 09:14:30 UTC (rev 190935)
@@ -54,7 +54,7 @@
     markClientForInvalidation(client, markForInvalidation ? RepaintInvalidation : ParentOnlyInvalidation);
 }
 
-PatternData* RenderSVGResourcePattern::buildPattern(RenderElement& renderer, unsigned short resourceMode)
+PatternData* RenderSVGResourcePattern::buildPattern(RenderElement& renderer, unsigned short resourceMode, GraphicsContext& context)
 {
     PatternData* currentData = m_patternMap.get(&renderer);
     if (currentData && currentData->pattern)
@@ -94,7 +94,7 @@
         static_cast<float>(m_attributes.patternTransform().yScale()));
 
     // Build tile image.
-    auto tileImage = createTileImage(m_attributes, tileBoundaries, absoluteTileBoundaries, tileImageTransform, clampedAbsoluteTileBoundaries);
+    auto tileImage = createTileImage(m_attributes, tileBoundaries, absoluteTileBoundaries, tileImageTransform, clampedAbsoluteTileBoundaries, context.isAcceleratedContext() ? Accelerated : Unaccelerated);
     if (!tileImage)
         return nullptr;
 
@@ -140,7 +140,7 @@
     if (m_attributes.patternUnits() == SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX && objectBoundingBox.isEmpty())
         return false;
 
-    PatternData* patternData = buildPattern(renderer, resourceMode);
+    PatternData* patternData = buildPattern(renderer, resourceMode, *context);
     if (!patternData)
         return false;
 
@@ -230,10 +230,10 @@
     return true;
 }
 
-std::unique_ptr<ImageBuffer> RenderSVGResourcePattern::createTileImage(const PatternAttributes& attributes, const FloatRect& tileBoundaries, const FloatRect& absoluteTileBoundaries, const AffineTransform& tileImageTransform, FloatRect& clampedAbsoluteTileBoundaries) const
+std::unique_ptr<ImageBuffer> RenderSVGResourcePattern::createTileImage(const PatternAttributes& attributes, const FloatRect& tileBoundaries, const FloatRect& absoluteTileBoundaries, const AffineTransform& tileImageTransform, FloatRect& clampedAbsoluteTileBoundaries, RenderingMode renderingMode) const
 {
     clampedAbsoluteTileBoundaries = ImageBuffer::clampedRect(absoluteTileBoundaries);
-    auto tileImage = SVGRenderingContext::createImageBuffer(absoluteTileBoundaries, clampedAbsoluteTileBoundaries, ColorSpaceDeviceRGB, Unaccelerated);
+    auto tileImage = SVGRenderingContext::createImageBuffer(absoluteTileBoundaries, clampedAbsoluteTileBoundaries, ColorSpaceDeviceRGB, renderingMode);
     if (!tileImage)
         return nullptr;
 

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/svg/RenderSVGResourcePattern.h (190934 => 190935)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/svg/RenderSVGResourcePattern.h	2015-10-13 09:03:58 UTC (rev 190934)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/svg/RenderSVGResourcePattern.h	2015-10-13 09:14:30 UTC (rev 190935)
@@ -59,9 +59,9 @@
 
     bool buildTileImageTransform(RenderElement&, const PatternAttributes&, const SVGPatternElement&, FloatRect& patternBoundaries, AffineTransform& tileImageTransform) const;
 
-    std::unique_ptr<ImageBuffer> createTileImage(const PatternAttributes&, const FloatRect& tileBoundaries, const FloatRect& absoluteTileBoundaries, const AffineTransform& tileImageTransform, FloatRect& clampedAbsoluteTileBoundaries) const;
+    std::unique_ptr<ImageBuffer> createTileImage(const PatternAttributes&, const FloatRect& tileBoundaries, const FloatRect& absoluteTileBoundaries, const AffineTransform& tileImageTransform, FloatRect& clampedAbsoluteTileBoundaries, RenderingMode) const;
 
-    PatternData* buildPattern(RenderElement&, unsigned short resourceMode);
+    PatternData* buildPattern(RenderElement&, unsigned short resourceMode, GraphicsContext&);
 
     bool m_shouldCollectPatternAttributes : 1;
     PatternAttributes m_attributes;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to