Title: [139223] trunk
Revision
139223
Author
rob...@webkit.org
Date
2013-01-09 12:30:40 -0800 (Wed, 09 Jan 2013)

Log Message

REGRESSION(r111439): Focus ring is rendered incorrectly in fast/inline/continuation-outlines-with-layers.html
https://bugs.webkit.org/show_bug.cgi?id=106064

Reviewed by David Hyatt.

Source/WebCore:

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):

LayoutTests:

* platform/chromium-linux/fast/inline/continuation-outlines-with-layers-expected.png:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (139222 => 139223)


--- trunk/LayoutTests/ChangeLog	2013-01-09 20:27:07 UTC (rev 139222)
+++ trunk/LayoutTests/ChangeLog	2013-01-09 20:30:40 UTC (rev 139223)
@@ -1,3 +1,12 @@
+2013-01-09  Robert Hogan  <rob...@webkit.org>
+
+        REGRESSION(r111439): Focus ring is rendered incorrectly in fast/inline/continuation-outlines-with-layers.html
+        https://bugs.webkit.org/show_bug.cgi?id=106064
+
+        Reviewed by David Hyatt.
+
+        * platform/chromium-linux/fast/inline/continuation-outlines-with-layers-expected.png:
+
 2013-01-09  Ojan Vafai  <o...@chromium.org>
 
         fast/forms/min-content-form-controls.html fails on some platforms

Modified: trunk/LayoutTests/platform/chromium-linux/fast/inline/continuation-outlines-with-layers-expected.png


(Binary files differ)

Modified: trunk/LayoutTests/platform/mac/TestExpectations (139222 => 139223)


--- trunk/LayoutTests/platform/mac/TestExpectations	2013-01-09 20:27:07 UTC (rev 139222)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2013-01-09 20:30:40 UTC (rev 139223)
@@ -1254,8 +1254,6 @@
 webkit.org/b/105999 [ Lion ] fast/canvas/canvas-composite-canvas.html [ Failure ]
 webkit.org/b/105999 [ Lion ] fast/canvas/canvas-composite-image.html [ Failure ]
 
-webkit.org/b/106064 fast/inline/continuation-outlines-with-layers.html [ Failure ]
-
 webkit.org/b/106075 [ Debug ] fast/regions/full-screen-video-from-region.html [ Crash ]
 
 webkit.org/b/106151 [ Lion ] http/tests/misc/link-rel-icon-beforeload.html [ Pass Failure ]

Modified: trunk/Source/WebCore/ChangeLog (139222 => 139223)


--- trunk/Source/WebCore/ChangeLog	2013-01-09 20:27:07 UTC (rev 139222)
+++ trunk/Source/WebCore/ChangeLog	2013-01-09 20:30:40 UTC (rev 139223)
@@ -1,3 +1,13 @@
+2013-01-09  Robert Hogan  <rob...@webkit.org>
+
+        REGRESSION(r111439): Focus ring is rendered incorrectly in fast/inline/continuation-outlines-with-layers.html
+        https://bugs.webkit.org/show_bug.cgi?id=106064
+
+        Reviewed by David Hyatt.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::paintObject): 
+
 2013-01-09  Gregg Tavares  <g...@google.com>
 
         Add stub for CanvasProxy

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (139222 => 139223)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2013-01-09 20:27:07 UTC (rev 139222)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2013-01-09 20:30:40 UTC (rev 139223)
@@ -3029,10 +3029,7 @@
     // 6. paint continuation outlines.
     if ((paintPhase == PaintPhaseOutline || paintPhase == PaintPhaseChildOutlines)) {
         RenderInline* inlineCont = inlineElementContinuation();
-        // FIXME: For now, do not add continuations for outline painting by our containing block if we are a relative positioned
-        // anonymous block (i.e. have our own layer). This is because a block depends on renderers in its continuation table being
-        // in the same layer. 
-        if (inlineCont && inlineCont->hasOutline() && inlineCont->style()->visibility() == VISIBLE && !hasLayer()) {
+        if (inlineCont && inlineCont->hasOutline() && inlineCont->style()->visibility() == VISIBLE) {
             RenderInline* inlineRenderer = toRenderInline(inlineCont->node()->renderer());
             RenderBlock* cb = containingBlock();
 
@@ -3044,9 +3041,12 @@
                 }
             }
 
-            if (!inlineEnclosedInSelfPaintingLayer)
+            // Do not add continuations for outline painting by our containing block if we are a relative positioned
+            // anonymous block (i.e. have our own layer), paint them straightaway instead. This is because a block depends on renderers in its continuation table being
+            // in the same layer. 
+            if (!inlineEnclosedInSelfPaintingLayer && !hasLayer())
                 cb->addContinuationWithOutline(inlineRenderer);
-            else if (!inlineRenderer->firstLineBox())
+            else if (!inlineRenderer->firstLineBox() || (!inlineEnclosedInSelfPaintingLayer && hasLayer()))
                 inlineRenderer->paintOutline(paintInfo.context, paintOffset - locationOffset() + inlineRenderer->containingBlock()->location());
         }
         paintContinuationOutlines(paintInfo, paintOffset);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to