Title: [114145] branches/chromium/1084
Revision
114145
Author
jchaffr...@webkit.org
Date
2012-04-13 11:03:18 -0700 (Fri, 13 Apr 2012)

Log Message

Merge 112582 - REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
https://bugs.webkit.org/show_bug.cgi?id=82129

Reviewed by Ojan Vafai.

Source/WebCore:

Tests: fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html
       fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html
       fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html
       fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html
       fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html
       fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html
       fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html
       fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html

This is a regression from r110072. I wrongly thought we should call ensureLayer if we create our RenderOverflow.
However the current overflow code removes the before and start overflows (like in horizontal writing mode with ltr direction,
we never have a top or a left overflow). Because of that we would not get a RenderLayer as expected and the overflow clip rects
would be wrong on our RenderLayer children.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::addLayoutOverflow):
Moved the ensureLayer() call after the check that we do have some overflow but before we remove the overflow in some directions.

LayoutTests:

* fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html: Added.
* fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html: Added.
* fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html: Added.
* fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html: Added.
* fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html: Added.
* fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html: Added.
* fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html: Added.
* fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html: Added.
Added 4 ref tests that should cover the 4 different values of (hasTopOverflow, hasLeftOverflow)
in RenderBox::addLayoutOverflow.

* platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt:
* platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt:
* platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt:
* platform/chromium-win/fast/block/lineboxcontain/font-expected.txt:
Rebaselined those tests on Chromium linux (new layers).

* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wk2/Skipped:
Skipped the previous tests on the other platforms.

TBR=jchaffr...@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10090001

Modified Paths

Added Paths

Diff

Copied: branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html (from rev 112582, trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#afterOverflow {
+        background-color: red;
+        position: relative;
+        top: 100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="afterOverflow"></div>
+</div>
+</body>
+</html>

Copied: branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html (from rev 112582, trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#beforeOverflow {
+        background-color: red;
+        position: relative;
+        top: -100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="beforeOverflow"></div>
+</div>
+</body>
+</html>

Copied: branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html (from rev 112582, trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        -webkit-writing-mode: vertical-lr;
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#afterOverflow {
+        background-color: red;
+        position: relative;
+        left: 100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="afterOverflow"></div>
+</div>
+</body>
+</html>

Copied: branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html (from rev 112582, trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        -webkit-writing-mode: vertical-lr;
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#beforeOverflow {
+        background-color: red;
+        position: relative;
+        left: -100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="beforeOverflow"></div>
+</div>
+</body>
+</html>

Copied: branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html (from rev 112582, trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#endOverflow {
+        background-color: red;
+        position: relative;
+        left: 100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="endOverflow"></div>
+</div>
+</body>
+</html>

Copied: branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html (from rev 112582, trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#startOverflow {
+        background-color: red;
+        position: relative;
+        left: -100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="startOverflow"></div>
+</div>
+</body>
+</html>

Copied: branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html (from rev 112582, trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        -webkit-writing-mode: vertical-lr;
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#endOverflow {
+        background-color: red;
+        position: relative;
+        top: 100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="endOverflow"></div>
+</div>
+</body>
+</html>

Copied: branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html (from rev 112582, trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html) (0 => 114145)


--- branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html	                        (rev 0)
+++ branches/chromium/1084/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html	2012-04-13 18:03:18 UTC (rev 114145)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<style>
+    div {
+        height: 100px;
+        width: 100px;
+    }
+
+    div#wrapper {
+        -webkit-writing-mode: vertical-lr;
+        margin-left: 100px;
+        margin-top: 100px;
+        background-color: green;
+        overflow: hidden;
+    }
+
+    div#startOverflow {
+        background-color: red;
+        position: relative;
+        top: -100px;
+    }
+</style>
+<body>
+<a href="" REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il</a>
+<p>Your shouldn't see any red on this page, just a green square.</p>
+<div id="wrapper">
+    <div id="startOverflow"></div>
+</div>
+</body>
+</html>

Modified: branches/chromium/1084/LayoutTests/platform/chromium/test_expectations.txt (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/chromium/test_expectations.txt	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/chromium/test_expectations.txt	2012-04-13 18:03:18 UTC (rev 114145)
@@ -4330,3 +4330,9 @@
 
 // This test depends on Worker behavior that is broken in DRT
 BUGWK82776 : storage/indexeddb/dont-commit-on-blocked.html = PASS FAIL
+
+// This should only be a layer change.
+BUGWK82129 WIN MAC : fast/box-shadow/shadow-buffer-partial.html = TEXT
+BUGWK82129 MAC : fast/block/lineboxcontain/block-font.html = TEXT
+BUGWK82129 MAC : fast/block/lineboxcontain/block-glyphs.html = TEXT
+BUGWK82129 MAC : fast/block/lineboxcontain/font.html = TEXT

Modified: branches/chromium/1084/LayoutTests/platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt	2012-04-13 18:03:18 UTC (rev 114145)
@@ -4,5 +4,6 @@
   RenderBlock {HTML} at (0,0) size 800x192
     RenderBody {BODY} at (8,30) size 784x132
       RenderBlock {DIV} at (30,0) size 200x50
-      RenderBlock {DIV} at (30,80) size 202x52 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (1,-39) size 202x32 [border: (1px solid #0000FF)]
+layer at (38,110) size 202x52 clip at (39,111) size 200x50
+  RenderBlock {DIV} at (30,80) size 202x52 [border: (1px solid #000000)]
+    RenderBlock {DIV} at (1,-39) size 202x32 [border: (1px solid #0000FF)]

Modified: branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt	2012-04-13 18:03:18 UTC (rev 114145)
@@ -7,17 +7,18 @@
         RenderText {#text} at (0,0) size 471x19
           text run at (0,0) width 248: "You should see a green rectangle below. "
           text run at (248,0) width 223: "If you see any red, the test has failed."
-      RenderBlock {DIV} at (0,20) size 384x128 [bgcolor=#FF0000]
-        RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
-          RenderText {#text} at (0,0) size 320x64
-            text run at (0,0) width 320: "xxxxx"
-        RenderInline {SPAN} at (0,0) size 64x128 [bgcolor=#008000]
-        RenderBR {BR} at (384,0) size 0x64
-        RenderBlock {DIV} at (0,0) size 64x128 [bgcolor=#008000]
-        RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
-          RenderText {#text} at (64,64) size 320x64
-            text run at (64,64) width 320: "xxxxx"
-        RenderText {#text} at (0,0) size 0x0
       RenderBlock {P} at (0,164) size 784x22 [border: (1px solid #000000)]
         RenderText {#text} at (1,1) size 172x19
           text run at (1,1) width 172: "This line should look normal."
+layer at (8,28) size 384x128
+  RenderBlock {DIV} at (0,20) size 384x128 [bgcolor=#FF0000]
+    RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
+      RenderText {#text} at (0,0) size 320x64
+        text run at (0,0) width 320: "xxxxx"
+    RenderInline {SPAN} at (0,0) size 64x128 [bgcolor=#008000]
+    RenderBR {BR} at (384,0) size 0x64
+    RenderBlock {DIV} at (0,0) size 64x128 [bgcolor=#008000]
+    RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
+      RenderText {#text} at (64,64) size 320x64
+        text run at (64,64) width 320: "xxxxx"
+    RenderText {#text} at (0,0) size 0x0

Modified: branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt	2012-04-13 18:03:18 UTC (rev 114145)
@@ -7,17 +7,18 @@
         RenderText {#text} at (0,0) size 471x19
           text run at (0,0) width 248: "You should see a green rectangle below. "
           text run at (248,0) width 223: "If you see any red, the test has failed."
-      RenderBlock {DIV} at (0,20) size 384x128 [bgcolor=#FF0000]
-        RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
-          RenderText {#text} at (0,0) size 320x64
-            text run at (0,0) width 320: "xxxxx"
-        RenderInline {SPAN} at (0,0) size 64x128 [bgcolor=#008000]
-        RenderBR {BR} at (384,0) size 0x64
-        RenderBlock {DIV} at (0,0) size 64x128 [bgcolor=#008000]
-        RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
-          RenderText {#text} at (64,64) size 320x64
-            text run at (64,64) width 320: "xxxxx"
-        RenderText {#text} at (0,0) size 0x0
       RenderBlock {P} at (0,164) size 784x22 [border: (1px solid #000000)]
         RenderText {#text} at (1,1) size 172x19
           text run at (1,1) width 172: "This line should look normal."
+layer at (8,28) size 384x128
+  RenderBlock {DIV} at (0,20) size 384x128 [bgcolor=#FF0000]
+    RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
+      RenderText {#text} at (0,0) size 320x64
+        text run at (0,0) width 320: "xxxxx"
+    RenderInline {SPAN} at (0,0) size 64x128 [bgcolor=#008000]
+    RenderBR {BR} at (384,0) size 0x64
+    RenderBlock {DIV} at (0,0) size 64x128 [bgcolor=#008000]
+    RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
+      RenderText {#text} at (64,64) size 320x64
+        text run at (64,64) width 320: "xxxxx"
+    RenderText {#text} at (0,0) size 0x0

Modified: branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/font-expected.txt (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/font-expected.txt	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/font-expected.txt	2012-04-13 18:03:18 UTC (rev 114145)
@@ -7,14 +7,15 @@
         RenderText {#text} at (0,0) size 471x19
           text run at (0,0) width 248: "You should see a green rectangle below. "
           text run at (248,0) width 223: "If you see any red, the test has failed."
-      RenderBlock {DIV} at (0,20) size 384x128 [bgcolor=#FF0000]
-        RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
-          RenderText {#text} at (0,0) size 320x64
-            text run at (0,0) width 320: "xxxxx"
-        RenderInline {SPAN} at (0,0) size 64x128 [bgcolor=#008000]
-        RenderBR {BR} at (384,0) size 0x64
-        RenderBlock {DIV} at (0,0) size 64x128 [bgcolor=#008000]
-        RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
-          RenderText {#text} at (64,64) size 320x64
-            text run at (64,64) width 320: "xxxxx"
-        RenderText {#text} at (0,0) size 0x0
+layer at (8,28) size 384x128
+  RenderBlock {DIV} at (0,20) size 384x128 [bgcolor=#FF0000]
+    RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
+      RenderText {#text} at (0,0) size 320x64
+        text run at (0,0) width 320: "xxxxx"
+    RenderInline {SPAN} at (0,0) size 64x128 [bgcolor=#008000]
+    RenderBR {BR} at (384,0) size 0x64
+    RenderBlock {DIV} at (0,0) size 64x128 [bgcolor=#008000]
+    RenderInline {SPAN} at (0,0) size 320x64 [color=#008000]
+      RenderText {#text} at (64,64) size 320x64
+        text run at (64,64) width 320: "xxxxx"
+    RenderText {#text} at (0,0) size 0x0

Modified: branches/chromium/1084/LayoutTests/platform/efl/Skipped (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/efl/Skipped	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/efl/Skipped	2012-04-13 18:03:18 UTC (rev 114145)
@@ -2700,3 +2700,10 @@
 
 # Transparent image being produced
 fast/frames/transparent-scrollbar.html
+
+# This should only be a layer change.
+# http://webkit.org/b/82129
+fast/box-shadow/shadow-buffer-partial.html
+fast/block/lineboxcontain/block-font.html
+fast/block/lineboxcontain/block-glyphs.html
+fast/block/lineboxcontain/font.html

Modified: branches/chromium/1084/LayoutTests/platform/gtk/Skipped (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/gtk/Skipped	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/gtk/Skipped	2012-04-13 18:03:18 UTC (rev 114145)
@@ -1633,3 +1633,10 @@
 # https://bugs.webkit.org/show_bug.cgi?id=82309
 http/tests/xmlhttprequest/basic-auth-default.html
 http/tests/xmlhttprequest/re-login-async.html
+
+# This should only be a layer change.
+# http://webkit.org/b/82129
+fast/box-shadow/shadow-buffer-partial.html
+fast/block/lineboxcontain/block-font.html
+fast/block/lineboxcontain/block-glyphs.html
+fast/block/lineboxcontain/font.html

Modified: branches/chromium/1084/LayoutTests/platform/qt/Skipped (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/qt/Skipped	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/qt/Skipped	2012-04-13 18:03:18 UTC (rev 114145)
@@ -2684,3 +2684,10 @@
 # [Qt] css2.1/20110323/c543-txt-decor-000.html is failing
 # https://bugs.webkit.org/show_bug.cgi?id=82225
 css2.1/20110323/c543-txt-decor-000.html
+
+# This should only be a layer change.
+# http://webkit.org/b/82129
+fast/box-shadow/shadow-buffer-partial.html
+fast/block/lineboxcontain/block-font.html
+fast/block/lineboxcontain/block-glyphs.html
+fast/block/lineboxcontain/font.html

Modified: branches/chromium/1084/LayoutTests/platform/win/Skipped (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/win/Skipped	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/win/Skipped	2012-04-13 18:03:18 UTC (rev 114145)
@@ -1873,3 +1873,10 @@
 
 # The inner <input> should now grow to take the full cell's height.
 fast/table/colspanMinWidth-vertical.html
+
+# This should only be a layer change.
+# http://webkit.org/b/82129
+fast/box-shadow/shadow-buffer-partial.html
+fast/block/lineboxcontain/block-font.html
+fast/block/lineboxcontain/block-glyphs.html
+fast/block/lineboxcontain/font.html

Modified: branches/chromium/1084/LayoutTests/platform/wk2/Skipped (114144 => 114145)


--- branches/chromium/1084/LayoutTests/platform/wk2/Skipped	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/LayoutTests/platform/wk2/Skipped	2012-04-13 18:03:18 UTC (rev 114145)
@@ -1108,6 +1108,13 @@
 # eventSender.clearKillRing() is unimplemented
 editing/pasteboard/emacs-cntl-y-001.html
 
+# This should only be a layer change.
+# http://webkit.org/b/82129
+fast/box-shadow/shadow-buffer-partial.html
+fast/block/lineboxcontain/block-font.html
+fast/block/lineboxcontain/block-glyphs.html
+fast/block/lineboxcontain/font.html
+
 ### END OF (2) Classified failures without bug reports (yet)
 ########################################
 

Modified: branches/chromium/1084/Source/WebCore/rendering/RenderBox.cpp (114144 => 114145)


--- branches/chromium/1084/Source/WebCore/rendering/RenderBox.cpp	2012-04-13 17:47:00 UTC (rev 114144)
+++ branches/chromium/1084/Source/WebCore/rendering/RenderBox.cpp	2012-04-13 18:03:18 UTC (rev 114145)
@@ -3722,6 +3722,12 @@
     if (clientBox.contains(rect) || rect.isEmpty())
         return;
     
+    // Lazily allocate our layer as we will need it to hold our scroll information
+    // and for the clipping logic to work properly. Note that we *do* need a layer
+    // if we have some left overflow on an horizontal writing mode with ltr direction.
+    if (hasOverflowClip())
+        ensureLayer();
+
     // For overflow clip objects, we don't want to propagate overflow into unreachable areas.
     LayoutRect overflowRect(rect);
     if (hasOverflowClip() || isRenderView()) {
@@ -3756,10 +3762,6 @@
     if (!m_overflow)
         m_overflow = adoptPtr(new RenderOverflow(clientBox, borderBoxRect()));
     
-    // Lazily allocate our layer as we will need it to hold our scroll information.
-    if (hasOverflowClip())
-        ensureLayer();
-
     m_overflow->addLayoutOverflow(overflowRect);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to