Title: [97386] trunk
Revision
97386
Author
[email protected]
Date
2011-10-13 12:37:57 -0700 (Thu, 13 Oct 2011)

Log Message

Revert border radius clips (r95239) for Chromium due to performance issues. Update test expectations to skip border radius clip layout tests.
https://bugs.webkit.org/show_bug.cgi?id=69844

Patch by Tom Hudson <[email protected]> on 2011-10-13
Reviewed by Simon Fraser.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect): Only process border radius clips #if !PLATFORM(CHROMIUM)

Modified Paths

Diff

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (97385 => 97386)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-10-13 19:36:34 UTC (rev 97385)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-10-13 19:37:57 UTC (rev 97386)
@@ -3498,6 +3498,12 @@
 BUGWK63186 LEOPARD LINUX WIN : svg/as-object/nested-embedded-svg-size-changes.html = IMAGE
 BUGWK65862 MAC DEBUG SLOW : storage/indexeddb/index-cursor.html = PASS
 
+// Performance issues with border radius clipping on Chromium not yet resolved
+BUGCR97716 : fast/clip/overflow-border-radius-composited.html = IMAGE
+BUGCR97716 : fast/clip/overflow-border-radius-fixed-position.html = IMAGE
+BUGCR97716 : fast/clip/overflow-border-radius-transformed.html = IMAGE
+BUGCR97716 : fast/clip/overflow-border-radius-combinations.html = IMAGE
+
 // Caused by r92618
 BUGWK65874 : fast/js/preventExtensions.html = TEXT
 

Modified: trunk/Source/WebCore/ChangeLog (97385 => 97386)


--- trunk/Source/WebCore/ChangeLog	2011-10-13 19:36:34 UTC (rev 97385)
+++ trunk/Source/WebCore/ChangeLog	2011-10-13 19:37:57 UTC (rev 97386)
@@ -1,3 +1,13 @@
+2011-10-13  Tom Hudson  <[email protected]>
+
+        Revert border radius clips (r95239) for Chromium due to performance issues. Update test expectations to skip border radius clip layout tests.
+        https://bugs.webkit.org/show_bug.cgi?id=69844
+
+        Reviewed by Simon Fraser.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::clipToRect): Only process border radius clips #if !PLATFORM(CHROMIUM)
+
 2011-10-13  Julien Chaffraix  <[email protected]>
 
         Deprecate event.layerX and event.layerY in WebKit

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (97385 => 97386)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2011-10-13 19:36:34 UTC (rev 97385)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2011-10-13 19:37:57 UTC (rev 97386)
@@ -98,6 +98,12 @@
 #include "SVGNames.h"
 #endif
 
+#if PLATFORM(CHROMIUM)
+// FIXME: border radius clipping triggers too-slow path on Chromium
+// https://bugs.webkit.org/show_bug.cgi?id=69866
+#define DISABLE_ROUNDED_CORNER_CLIPPING
+#endif
+
 #define MIN_INTERSECT_FOR_REVEAL 32
 
 using namespace std;
@@ -2555,6 +2561,7 @@
     m_containsDirtyOverlayScrollbars = false;
 }
 
+#ifndef DISABLE_ROUNDED_CORNER_CLIPPING
 static bool inContainingBlockChain(RenderLayer* startLayer, RenderLayer* endLayer)
 {
     if (startLayer == endLayer)
@@ -2568,6 +2575,7 @@
     
     return false;
 }
+#endif
 
 void RenderLayer::clipToRect(RenderLayer* rootLayer, GraphicsContext* context, const LayoutRect& paintDirtyRect, const ClipRect& clipRect,
                              BorderRadiusClippingRule rule)
@@ -2580,6 +2588,7 @@
     if (!clipRect.hasRadius())
         return;
 
+#ifndef DISABLE_ROUNDED_CORNER_CLIPPING
     // If the clip rect has been tainted by a border radius, then we have to walk up our layer chain applying the clips from
     // any layers with overflow. The condition for being able to apply these clips is that the overflow object be in our
     // containing block chain so we check that also.
@@ -2593,6 +2602,7 @@
         if (layer == rootLayer)
             break;
     }
+#endif
 }
 
 void RenderLayer::restoreClip(GraphicsContext* p, const LayoutRect& paintDirtyRect, const ClipRect& clipRect)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to