Title: [103630] trunk
Revision
103630
Author
simon.fra...@apple.com
Date
2011-12-23 08:56:35 -0800 (Fri, 23 Dec 2011)

Log Message

Filters should apply to inline elements
https://bugs.webkit.org/show_bug.cgi?id=75152

Source/WebCore:

Reviewed by Darin Adler.

Filters need to cause creation of RenderLayers for inlines, just like
opacity and masks do.

Test: css3/filters/filtered-inline.html

* rendering/RenderInline.h:
(WebCore::RenderInline::requiresLayer):
* rendering/RenderTableRow.h: Remove an obviously incorrect comment.

LayoutTests:

Reviewed by Darin Adler.

Test for filter on an inline.

* css3/filters/filtered-inline-expected.png: Added.
* css3/filters/filtered-inline-expected.txt: Added.
* css3/filters/filtered-inline.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (103629 => 103630)


--- trunk/LayoutTests/ChangeLog	2011-12-23 16:36:18 UTC (rev 103629)
+++ trunk/LayoutTests/ChangeLog	2011-12-23 16:56:35 UTC (rev 103630)
@@ -1,3 +1,16 @@
+2011-12-23  Simon Fraser  <simon.fra...@apple.com>
+
+        Filters should apply to inline elements
+        https://bugs.webkit.org/show_bug.cgi?id=75152
+
+        Reviewed by Darin Adler.
+        
+        Test for filter on an inline.
+
+        * css3/filters/filtered-inline-expected.png: Added.
+        * css3/filters/filtered-inline-expected.txt: Added.
+        * css3/filters/filtered-inline.html: Added.
+
 2011-12-23  Jarred Nicholls  <jar...@sencha.com>
 
         Synchronous XHR in window context should not support new XHR responseTypes for HTTP(S) requests

Added: trunk/LayoutTests/css3/filters/filtered-inline-expected.png


(Binary files differ)
Property changes on: trunk/LayoutTests/css3/filters/filtered-inline-expected.png ___________________________________________________________________

Added: svn:mime-type

Added: trunk/LayoutTests/css3/filters/filtered-inline-expected.txt (0 => 103630)


--- trunk/LayoutTests/css3/filters/filtered-inline-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/css3/filters/filtered-inline-expected.txt	2011-12-23 16:56:35 UTC (rev 103630)
@@ -0,0 +1 @@
+

Added: trunk/LayoutTests/css3/filters/filtered-inline.html (0 => 103630)


--- trunk/LayoutTests/css3/filters/filtered-inline.html	                        (rev 0)
+++ trunk/LayoutTests/css3/filters/filtered-inline.html	2011-12-23 16:56:35 UTC (rev 103630)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+    <style>
+        body {
+            font-size: 18pt;
+        }
+        
+        .filtered {
+            -webkit-filter: blur(10px);
+        }
+        
+        div {
+            display: inline-block;
+            width: 20px;
+            height: 1em;
+            background: green;
+        }
+    </style>
+    <script>
+        if (window.layoutTestController)
+            layoutTestController.dumpAsText(true);
+    </script>
+</head>
+<body>
+    <div></div><div></div><span class="filtered"><div></div><div></div></span><div></div><div>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (103629 => 103630)


--- trunk/Source/WebCore/ChangeLog	2011-12-23 16:36:18 UTC (rev 103629)
+++ trunk/Source/WebCore/ChangeLog	2011-12-23 16:56:35 UTC (rev 103630)
@@ -1,3 +1,19 @@
+2011-12-23  Simon Fraser  <simon.fra...@apple.com>
+
+        Filters should apply to inline elements
+        https://bugs.webkit.org/show_bug.cgi?id=75152
+
+        Reviewed by Darin Adler.
+        
+        Filters need to cause creation of RenderLayers for inlines, just like
+        opacity and masks do.
+
+        Test: css3/filters/filtered-inline.html
+
+        * rendering/RenderInline.h:
+        (WebCore::RenderInline::requiresLayer):
+        * rendering/RenderTableRow.h: Remove an obviously incorrect comment.
+
 2011-12-23  Jarred Nicholls  <jar...@sencha.com>
 
         Synchronous XHR in window context should not support new XHR responseTypes for HTTP(S) requests

Modified: trunk/Source/WebCore/rendering/RenderInline.h (103629 => 103630)


--- trunk/Source/WebCore/rendering/RenderInline.h	2011-12-23 16:36:18 UTC (rev 103629)
+++ trunk/Source/WebCore/rendering/RenderInline.h	2011-12-23 16:56:35 UTC (rev 103630)
@@ -119,7 +119,7 @@
 
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
 
-    virtual bool requiresLayer() const { return isRelPositioned() || isTransparent() || hasMask(); }
+    virtual bool requiresLayer() const { return isRelPositioned() || isTransparent() || hasMask() || hasFilter(); }
 
     virtual LayoutUnit offsetLeft() const;
     virtual LayoutUnit offsetTop() const;

Modified: trunk/Source/WebCore/rendering/RenderTableRow.h (103629 => 103630)


--- trunk/Source/WebCore/rendering/RenderTableRow.h	2011-12-23 16:36:18 UTC (rev 103629)
+++ trunk/Source/WebCore/rendering/RenderTableRow.h	2011-12-23 16:56:35 UTC (rev 103630)
@@ -56,7 +56,6 @@
     virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
 
-    // The only time rows get a layer is when they have transparency.
     virtual bool requiresLayer() const { return isTransparent() || hasOverflowClip() || hasTransform() || hasMask() || hasFilter(); }
 
     virtual void paint(PaintInfo&, const LayoutPoint&);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to