Title: [155178] trunk
Revision
155178
Author
k...@webkit.org
Date
2013-09-05 23:00:49 -0700 (Thu, 05 Sep 2013)

Log Message

Support SVG filters on -webkit-filter() function
https://bugs.webkit.org/show_bug.cgi?id=120806

Reviewed by Darin Adler.

Source/WebCore:

Add support for SVG Filters on CSS -webkit-filter() image function.

Test: fast/filter-image/filter-image-svg.html

* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::image): Pass renderer to filter builder.

LayoutTests:

Test that the -webkit-filter() function can reference a SVG Filter
from the document.

* fast/filter-image/filter-image-svg-expected.html: Added.
* fast/filter-image/filter-image-svg.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (155177 => 155178)


--- trunk/LayoutTests/ChangeLog	2013-09-06 05:50:33 UTC (rev 155177)
+++ trunk/LayoutTests/ChangeLog	2013-09-06 06:00:49 UTC (rev 155178)
@@ -1,3 +1,16 @@
+2013-09-05  Dirk Schulze  <k...@webkit.org>
+
+        Support SVG filters on -webkit-filter() function
+        https://bugs.webkit.org/show_bug.cgi?id=120806
+
+        Reviewed by Darin Adler.
+
+        Test that the -webkit-filter() function can reference a SVG Filter
+        from the document.
+
+        * fast/filter-image/filter-image-svg-expected.html: Added.
+        * fast/filter-image/filter-image-svg.html: Added.
+
 2013-09-05  Jinwoo Song  <jinwoo7.s...@samsung.com>
 
         [EFL] Unreviewed gardening.

Added: trunk/LayoutTests/fast/filter-image/filter-image-svg-expected.html (0 => 155178)


--- trunk/LayoutTests/fast/filter-image/filter-image-svg-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/filter-image/filter-image-svg-expected.html	2013-09-06 06:00:49 UTC (rev 155178)
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title></title>
+  <script>
+
+  </script>
+  <style>
+div {
+	background-color: black;
+	width: 100px;
+	height: 100px;
+}
+  </style>
+</head>
+<body>
+<div></div>
+</body>
+</html>
\ No newline at end of file

Added: trunk/LayoutTests/fast/filter-image/filter-image-svg.html (0 => 155178)


--- trunk/LayoutTests/fast/filter-image/filter-image-svg.html	                        (rev 0)
+++ trunk/LayoutTests/fast/filter-image/filter-image-svg.html	2013-09-06 06:00:49 UTC (rev 155178)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title></title>
+  <script>
+
+  </script>
+  <style>
+div {
+	background-image: -webkit-filter(url(image.svg), url(#filter));
+	width: 100px;
+	height: 100px;
+}
+  </style>
+</head>
+<body>
+<div></div>
+<svg height="0">
+  <filter id="filter">
+    <feComponentTransfer>
+      <feFuncR type="linear" slope="0"/>
+      <feFuncG type="linear" slope="0"/>
+      <feFuncB type="linear" slope="0"/>
+    </feComponentTransfer>
+  </filter>
+</svg>
+</body>
+</html>
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (155177 => 155178)


--- trunk/Source/WebCore/ChangeLog	2013-09-06 05:50:33 UTC (rev 155177)
+++ trunk/Source/WebCore/ChangeLog	2013-09-06 06:00:49 UTC (rev 155178)
@@ -1,3 +1,17 @@
+2013-09-05  Dirk Schulze  <k...@webkit.org>
+
+        Support SVG filters on -webkit-filter() function
+        https://bugs.webkit.org/show_bug.cgi?id=120806
+
+        Reviewed by Darin Adler.
+
+        Add support for SVG Filters on CSS -webkit-filter() image function.
+
+        Test: fast/filter-image/filter-image-svg.html
+
+        * css/CSSFilterImageValue.cpp:
+        (WebCore::CSSFilterImageValue::image): Pass renderer to filter builder.
+
 2013-09-05  Yoav Weiss  <y...@yoav.ws>
 
         DRY out srcset related deviceScaleFactor calculations

Modified: trunk/Source/WebCore/css/CSSFilterImageValue.cpp (155177 => 155178)


--- trunk/Source/WebCore/css/CSSFilterImageValue.cpp	2013-09-06 05:50:33 UTC (rev 155177)
+++ trunk/Source/WebCore/css/CSSFilterImageValue.cpp	2013-09-06 06:00:49 UTC (rev 155178)
@@ -122,8 +122,7 @@
     filterRenderer->setSourceImage(texture.release());
     filterRenderer->setSourceImageRect(FloatRect(FloatPoint(), size));
     filterRenderer->setFilterRegion(FloatRect(FloatPoint(), size));
-    // FIXME: SVG Filter don't work at the moment.
-    if (!filterRenderer->build(0, m_filterOperations, FilterFunction))
+    if (!filterRenderer->build(renderer, m_filterOperations, FilterFunction))
         return Image::nullImage();
     filterRenderer->apply();
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to