Title: [112582] trunk
Revision
112582
Author
[email protected]
Date
2012-03-29 14:55:41 -0700 (Thu, 29 Mar 2012)

Log Message

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.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (112581 => 112582)


--- trunk/LayoutTests/ChangeLog	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/ChangeLog	2012-03-29 21:55:41 UTC (rev 112582)
@@ -1,3 +1,36 @@
+2012-03-29  Julien Chaffraix  <[email protected]>
+
+        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.
+
+        * 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.
+
 2012-03-29  Tony Chang  <[email protected]>
 
         remove ahem font from flexbox layout tests

Added: trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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>

Added: trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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>

Added: trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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>

Added: trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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>

Added: trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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>

Added: trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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>

Added: trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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>

Added: trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html (0 => 112582)


--- trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html	                        (rev 0)
+++ trunk/LayoutTests/fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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: trunk/LayoutTests/platform/chromium/test_expectations.txt (112581 => 112582)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-03-29 21:55:41 UTC (rev 112582)
@@ -4311,3 +4311,9 @@
 BUGWK82509 LINUX : svg/text/append-text-node-to-tspan.html = PASS IMAGE
 
 BUGWK82547 LION : fast/speech/input-appearance-searchandspeech.html = PASS IMAGE
+
+// 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: trunk/LayoutTests/platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt (112581 => 112582)


--- trunk/LayoutTests/platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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: trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt (112581 => 112582)


--- trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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: trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt (112581 => 112582)


--- trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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: trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/font-expected.txt (112581 => 112582)


--- trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/font-expected.txt	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/chromium-win/fast/block/lineboxcontain/font-expected.txt	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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: trunk/LayoutTests/platform/efl/Skipped (112581 => 112582)


--- trunk/LayoutTests/platform/efl/Skipped	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-03-29 21:55:41 UTC (rev 112582)
@@ -2705,3 +2705,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: trunk/LayoutTests/platform/gtk/Skipped (112581 => 112582)


--- trunk/LayoutTests/platform/gtk/Skipped	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/gtk/Skipped	2012-03-29 21:55:41 UTC (rev 112582)
@@ -1644,3 +1644,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: trunk/LayoutTests/platform/mac/Skipped (112581 => 112582)


--- trunk/LayoutTests/platform/mac/Skipped	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/mac/Skipped	2012-03-29 21:55:41 UTC (rev 112582)
@@ -653,3 +653,10 @@
 media/video-empty-source.html
 media/video-playing-and-pause.html
 media/controls-after-reload.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: trunk/LayoutTests/platform/qt/Skipped (112581 => 112582)


--- trunk/LayoutTests/platform/qt/Skipped	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/qt/Skipped	2012-03-29 21:55:41 UTC (rev 112582)
@@ -2622,3 +2622,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: trunk/LayoutTests/platform/win/Skipped (112581 => 112582)


--- trunk/LayoutTests/platform/win/Skipped	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/win/Skipped	2012-03-29 21:55:41 UTC (rev 112582)
@@ -1878,3 +1878,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: trunk/LayoutTests/platform/wk2/Skipped (112581 => 112582)


--- trunk/LayoutTests/platform/wk2/Skipped	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/LayoutTests/platform/wk2/Skipped	2012-03-29 21:55:41 UTC (rev 112582)
@@ -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: trunk/Source/WebCore/ChangeLog (112581 => 112582)


--- trunk/Source/WebCore/ChangeLog	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/Source/WebCore/ChangeLog	2012-03-29 21:55:41 UTC (rev 112582)
@@ -1,3 +1,28 @@
+2012-03-29  Julien Chaffraix  <[email protected]>
+
+        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.
+
+        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.
+
 2012-03-29  Adam Barth  <[email protected]>
 
         [Chromium] Move ResourceHandle to WebCore/platform/network/chromium

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (112581 => 112582)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2012-03-29 21:51:01 UTC (rev 112581)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2012-03-29 21:55:41 UTC (rev 112582)
@@ -3724,6 +3724,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()) {
@@ -3758,10 +3764,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
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to