Title: [189048] trunk
Revision
189048
Author
[email protected]
Date
2015-08-27 14:02:39 -0700 (Thu, 27 Aug 2015)

Log Message

REGRESSION (r188987): imported/mozilla/svg/filters/feConvolveMatrix-1.svg fails
https://bugs.webkit.org/show_bug.cgi?id=148497
<rdar://problem/22459541>

Reviewed by Andy Estes.

Source/WebCore:

Don't return early if iterations is 0.

* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::platformApplySoftware):

LayoutTests:

* TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (189047 => 189048)


--- trunk/LayoutTests/ChangeLog	2015-08-27 19:58:50 UTC (rev 189047)
+++ trunk/LayoutTests/ChangeLog	2015-08-27 21:02:39 UTC (rev 189048)
@@ -1,3 +1,13 @@
+2015-08-27  Anders Carlsson  <[email protected]>
+
+        REGRESSION (r188987): imported/mozilla/svg/filters/feConvolveMatrix-1.svg fails
+        https://bugs.webkit.org/show_bug.cgi?id=148497
+        <rdar://problem/22459541>
+
+        Reviewed by Andy Estes.
+
+        * TestExpectations:
+
 2015-08-27  Basile Clement  <[email protected]>
 
         REGRESSION(r184779): Possible read-after-free in _javascript_Core/dfg/DFGClobberize.h

Modified: trunk/LayoutTests/TestExpectations (189047 => 189048)


--- trunk/LayoutTests/TestExpectations	2015-08-27 19:58:50 UTC (rev 189047)
+++ trunk/LayoutTests/TestExpectations	2015-08-27 21:02:39 UTC (rev 189048)
@@ -573,7 +573,4 @@
 
 webkit.org/b/148026 [ Debug ] animations/restart-after-scroll.html [ Skip ]
 
-# REGRESSION (r188987): imported/mozilla/svg/filters/feConvolveMatrix-1.svg fails
-webkit.org/b/148497 imported/mozilla/svg/filters/feConvolveMatrix-1.svg [ ImageOnlyFailure ]
-
 webkit.org/b/148533 fast/dom/HTMLObjectElement/object-as-frame.html [ Pass Failure ]

Modified: trunk/Source/WebCore/ChangeLog (189047 => 189048)


--- trunk/Source/WebCore/ChangeLog	2015-08-27 19:58:50 UTC (rev 189047)
+++ trunk/Source/WebCore/ChangeLog	2015-08-27 21:02:39 UTC (rev 189048)
@@ -1,3 +1,16 @@
+2015-08-27  Anders Carlsson  <[email protected]>
+
+        REGRESSION (r188987): imported/mozilla/svg/filters/feConvolveMatrix-1.svg fails
+        https://bugs.webkit.org/show_bug.cgi?id=148497
+        <rdar://problem/22459541>
+
+        Reviewed by Andy Estes.
+
+        Don't return early if iterations is 0.
+
+        * platform/graphics/filters/FEConvolveMatrix.cpp:
+        (WebCore::FEConvolveMatrix::platformApplySoftware):
+
 2015-08-27  Antti Koivisto  <[email protected]>
 
         Decode redirected data URLs in web process

Modified: trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp (189047 => 189048)


--- trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp	2015-08-27 19:58:50 UTC (rev 189047)
+++ trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp	2015-08-27 21:02:39 UTC (rev 189048)
@@ -447,22 +447,19 @@
         return;
     }
 
-    int iterations = (absolutePaintRect().width() * absolutePaintRect().height()) / s_minimalRectDimension;
-    if (!iterations) {
-        setInteriorPixels(paintingData, clipRight, clipBottom, 0, clipBottom);
-        return;
-    }
+    if (int iterations = (absolutePaintRect().width() * absolutePaintRect().height()) / s_minimalRectDimension) {
+        int stride = clipBottom / iterations;
+        int chunkCount = (clipBottom + stride - 1) / stride;
 
-    int stride = clipBottom / iterations;
-    int chunkCount = (clipBottom + stride - 1) / stride;
+        WorkQueue::concurrentApply(chunkCount, [&](size_t index) {
+            int yStart = (stride * index);
+            int yEnd = std::min<int>(stride * (index + 1), clipBottom);
 
-    WorkQueue::concurrentApply(chunkCount, [&](size_t index) {
-        int yStart = (stride * index);
-        int yEnd = std::min<int>(stride * (index + 1), clipBottom);
+            setInteriorPixels(paintingData, clipRight, clipBottom, yStart, yEnd);
+        });
+    } else
+        setInteriorPixels(paintingData, clipRight, clipBottom, 0, clipBottom);
 
-        setInteriorPixels(paintingData, clipRight, clipBottom, yStart, yEnd);
-    });
-
     clipRight += m_targetOffset.x() + 1;
     clipBottom += m_targetOffset.y() + 1;
     if (m_targetOffset.y() > 0)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to