[CSS Regions] REGRESSION Incorrect layer clipping inside flow thread
authormihnea@adobe.com <mihnea@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Jun 2013 08:19:46 +0000 (08:19 +0000)
committermihnea@adobe.com <mihnea@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Jun 2013 08:19:46 +0000 (08:19 +0000)
https://bugs.webkit.org/show_bug.cgi?id=117074

Reviewed by David Hyatt.

Source/WebCore:

Function RenderBox::mapLocalToContainer was adapted for elements inside flow threads to convert
elements coordinates to RenderView coordinates, passing through the region in which the elements
were flowed (https://bugs.webkit.org/show_bug.cgi?id=66641).

The fix for https://bugs.webkit.org/show_bug.cgi?id=76486 modified RenderLayer::calculateClipRects and replaced
convertToLayerCoords with localToContainerPoint, which further calls mapLocalToContainer.

However, for elements inside the flow thread, which acts as a root layer for its collected children, we do not want
to get the offset in RenderView coordinates but rather in flow thread coordinates (and still take transforms into
account). This patch modifies RenderBox::mapLocalToContainer so that it stops at flow thread boundary when the passed
repaintContainer is the flow thread. The flow thread is the container for repaint for elements inside it, as seen from
RenderObject::containerForRepaint.

No new tests, converted overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl
into ref tests so that the we do not rely on pixel tests in the future.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer):

LayoutTests:

Convert overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl
to ref tests.

* fast/regions/overflow-size-change-with-stacking-context-expected.html: Added.
* fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html: Added.
* fast/regions/overflow-size-change-with-stacking-context-rtl.html:
* fast/regions/overflow-size-change-with-stacking-context.html:
* platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed.
* platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
* platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
* platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed.
* platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
* platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
* platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed.
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
* platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.
* platform/qt/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
* platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
* platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@151202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

22 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/regions/overflow-size-change-with-stacking-context-expected.html [new file with mode: 0644]
LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html [new file with mode: 0644]
LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl.html
LayoutTests/fast/regions/overflow-size-change-with-stacking-context.html
LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png [deleted file]
LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt [deleted file]
LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png [deleted file]
LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt [deleted file]
LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.png [deleted file]
LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.txt [deleted file]
LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png [deleted file]
LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt [deleted file]
LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png [deleted file]
LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt [deleted file]
LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png [deleted file]
LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt [deleted file]
LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-expected.txt [deleted file]
LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png [deleted file]
LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBox.cpp

index 166debf..2133fd6 100644 (file)
@@ -1,3 +1,33 @@
+2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
+
+        [CSS Regions] REGRESSION Incorrect layer clipping inside flow thread
+        https://bugs.webkit.org/show_bug.cgi?id=117074
+
+        Reviewed by David Hyatt.
+
+        Convert overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl
+        to ref tests.
+
+        * fast/regions/overflow-size-change-with-stacking-context-expected.html: Added.
+        * fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html: Added.
+        * fast/regions/overflow-size-change-with-stacking-context-rtl.html:
+        * fast/regions/overflow-size-change-with-stacking-context.html:
+        * platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed.
+        * platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
+        * platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
+        * platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.
+        * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed.
+        * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
+        * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
+        * platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.
+        * platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png: Removed.
+        * platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
+        * platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
+        * platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.
+        * platform/qt/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Removed.
+        * platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png: Removed.
+        * platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt: Removed.
+
 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
 
         Remove [NoInterfaceObject] from TreeWalker
diff --git a/LayoutTests/fast/regions/overflow-size-change-with-stacking-context-expected.html b/LayoutTests/fast/regions/overflow-size-change-with-stacking-context-expected.html
new file mode 100644 (file)
index 0000000..a469ad9
--- /dev/null
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <style>
+            body {
+                font: 16px/1.25 monospace;
+            }
+
+            .first-box {
+                border: 1px solid blue;
+            }
+
+            .second-box {
+                margin: auto;
+                border: 1px solid green;
+                overflow:hidden;
+                width:75%;
+                position:relative;
+                z-index:0;
+                padding-bottom:20px;
+            }
+
+            #region1, #region2, #region3 {
+                border: 1px solid black;
+            }
+
+            #region1 {
+                width: 200px;
+                height: 100px;
+            }
+
+            #region2 {
+                width: 300px;
+                height: 180px;
+            }
+
+            #region3 {
+                width: 120px;
+                height: 120px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>The first and last lines of text in the regions below should be clipped to the green box. The overflow
+        section sizes itself and clips differently in each region.</p>
+
+        <div id="container">
+            <div id="region1" style="overflow: hidden;">
+                <div class="first-box" style="margin-top: 5px; margin-left: 5px; margin-right: 5px;">
+                    <div class="second-box">
+                        <div style="width:500px; opacity:0.8">Clipped line o</div>
+                        <p>These lines will not spill</p>
+                    </div>
+                </div>
+            </div>
+            <div id="region2" style="overflow: hidden;">
+                <div class="first-box" style="border-top: none; margin-left: 5px; margin-right: 5px;">
+                    <div class="second-box" style="border-top: none;">
+                        <p style="margin-top: 0px;">
+                        out of the regions. These lines will not spill out of the regions.
+                        These lines will not spill out of the regions. These lines will not spill out of the regions.
+                        These lines will not
+                        </p>
+                    </div>
+                </div>
+            </div>
+            <div id="region3">
+                <div class="first-box" style="border-top: none; margin-left: 5px; margin-right: 5px;">
+                    <div class="second-box" style="border-top: none;">
+                        <p style="margin-top: 0px;">spill out of the regions.</p>
+                        <div style="width:500px; position: absolute;">Clipped </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
diff --git a/LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html b/LayoutTests/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html
new file mode 100644 (file)
index 0000000..de36450
--- /dev/null
@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<html style="direction:rtl">
+    <head>
+        <style>
+            body {
+                font: 16px/1.25 monospace;
+            }
+
+            .first-box {
+                border: 1px solid blue;
+            }
+
+            .second-box {
+                margin: auto;
+                border: 1px solid green;
+                overflow:hidden;
+                width:75%;
+                position:relative;
+                z-index:0;
+                padding-bottom:20px;
+            }
+
+            #region1, #region2, #region3 {
+                border: 1px solid black;
+            }
+
+            #region1 {
+                width: 200px;
+                height: 100px;
+            }
+
+            #region2 {
+                width: 300px;
+                height: 180px;
+            }
+
+            #region3 {
+                width: 120px;
+                height: 120px;
+            }
+        </style>
+    </head>
+    <body>
+        <p style="direction:ltr">The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and clips differently in each region.</p>
+
+        <div id="container">
+            <div id="region1" style="overflow: hidden;">
+                <div class="first-box" style="margin-top: 5px; margin-left: 5px; margin-right: 5px;">
+                    <div class="second-box">
+                        <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div>
+                        <p><p>These lines will not spill</p>
+                    </div>
+                </div>
+            </div>
+
+            <div id="region2" style="overflow: hidden;">
+                <div class="first-box" style="border-top: none; margin-left: 5px; margin-right: 5px;">
+                    <div class="second-box" style="border-top: none;">
+                        <p style="margin-top: 0px;">
+                        out of the regions. These lines will not spill out of the regions.
+                        These lines will not spill out of the regions. These lines will not spill out of the regions.
+                        These lines will not
+                        </p>
+                    </div>
+                </div>
+            </div>
+
+            <div id="region3">
+                <div class="first-box" style="border-top: none; margin-left: 5px; margin-right: 5px;">
+                    <div class="second-box" style="border-top: none;">
+                        <p style="margin-top: 0px;">spill out of the regions.</p>
+                        <div style="width:500px; position: absolute;">visible</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
index e2a757b..1523cc2 100644 (file)
@@ -1,67 +1,70 @@
-<!doctype html>
+<!DOCTYPE html>
 <html style="direction:rtl">
-<head>
- <style>
-    #content {
-        -webkit-flow-into: flow1;
-        text-align: justify;
-        padding: 5px;
-    }
-    
-    #first-box {
-        border: 1px solid blue;
-    }
-    
-    #second-box {
-        margin: auto;
-        border: 1px solid green;
-        overflow:hidden;
-        width:75%;
-        position:relative;
-        z-index:0;
-        padding-bottom:20px;
-    }
-    
-    #region1, #region2, #region3 {
-        border: 1px solid black;
-        -webkit-flow-from: flow1;
-    }
+    <head>
+        <style>
+            body {
+                font: 16px/1.25 monospace;
+            }
 
-    #region1 {
-        width: 200px;
-        height: 100px;
-    }
-    
-    #region2 {
-        width: 300px;
-        height: 180px;
-    }
-    
-    #region3 {
-        width: 120px;
-        height: 120px;
-    }
-</style>
-</head>
-<body>
-<p style="direction:ltr">The first and last lines of text in the regions below should be clipped to the green box. The overflow
-section sizes itself and clips differently in each region.</p>
+            #content {
+                -webkit-flow-into: flow1;
+                padding: 5px;
+            }
 
-<div id="content">
-    <div id="first-box">
-        <div id="second-box">
-            <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div>
-            <p>These lines will not spill out of the regions. These lines will not spill out of the regions.
-            These lines will not spill out of the regions. These lines will not spill out of the regions. </p>
-            <p>These lines will not spill out of the regions. These lines will not spill out of the regions.
-            These lines will not spill out of the regions. These lines will not spill out of the regions. </p>
-            <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div>
+            .first-box {
+                border: 1px solid blue;
+            }
+
+            .second-box {
+                margin: auto;
+                border: 1px solid green;
+                overflow:hidden;
+                width:75%;
+                position:relative;
+                z-index:0;
+                padding-bottom:20px;
+            }
+
+            #region1, #region2, #region3 {
+                border: 1px solid black;
+                -webkit-flow-from: flow1;
+            }
+
+            #region1 {
+                width: 200px;
+                height: 100px;
+            }
+
+            #region2 {
+                width: 300px;
+                height: 180px;
+            }
+
+            #region3 {
+                width: 120px;
+                height: 120px;
+            }
+        </style>
+    </head>
+    <body>
+        <p style="direction:ltr">The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and clips differently in each region.</p>
+
+        <div id="content">
+            <div class="first-box">
+                <div class="second-box">
+                    <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div>
+                    <p>These lines will not spill out of the regions. These lines will not spill out of the regions.
+                    These lines will not spill out of the regions. These lines will not spill out of the regions.
+                    These lines will not spill out of the regions.</p>
+                    <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div>
+                </div>
+            </div>
         </div>
-    </div>
-</div>
 
-<div id="container">
-    <div id="region1"></div>
-    <div id="region2"></div>
-    <div id="region3"></div>
-</div>
+        <div id="container">
+            <div id="region1"></div>
+            <div id="region2"></div>
+            <div id="region3"></div>
+        </div>
+    </body>
+</html>
index c3c6c9d..18de4f3 100644 (file)
@@ -1,66 +1,71 @@
-<!doctype html>
+<!DOCTYPE html>
+<html>
+    <head>
+        <style>
+            body {
+                font: 16px/1.25 monospace;
+            }
 
- <style>
-    #content {
-        -webkit-flow-into: flow1;
-        text-align: justify;
-        padding: 5px;
-    }
-    
-    #first-box {
-        border: 1px solid blue;
-    }
-    
-    #second-box {
-        margin: auto;
-        border: 1px solid green;
-        overflow:hidden;
-        width:75%;
-        position:relative;
-        z-index:0;
-        padding-bottom:20px;
-    }
-    
-    #region1, #region2, #region3 {
-        border: 1px solid black;
-        -webkit-flow-from: flow1;
-    }
+            #content {
+                -webkit-flow-into: flow1;
+                padding: 5px;
+            }
 
-    #region1 {
-        width: 200px;
-        height: 100px;
-    }
-    
-    #region2 {
-        width: 300px;
-        height: 180px;
-    }
-    
-    #region3 {
-        width: 120px;
-        height: 120px;
-    }
-</style>
+            .first-box {
+                border: 1px solid blue;
+            }
 
-<body>
-<p>The first and last lines of text in the regions below should be clipped to the green box. The overflow
-section sizes itself and clips differently in each region.</p>
+            .second-box {
+                margin: auto;
+                border: 1px solid green;
+                overflow:hidden;
+                width:75%;
+                position:relative;
+                z-index:0;
+                padding-bottom:20px;
+            }
 
-<div id="content">
-    <div id="first-box">
-        <div id="second-box">
-            <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div>
-            <p>These lines will not spill out of the regions. These lines will not spill out of the regions.
-            These lines will not spill out of the regions. These lines will not spill out of the regions. </p>
-            <p>These lines will not spill out of the regions. These lines will not spill out of the regions.
-            These lines will not spill out of the regions. These lines will not spill out of the regions. </p>
-            <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div>
+            #region1, #region2, #region3 {
+                border: 1px solid black;
+                -webkit-flow-from: flow1;
+            }
+
+            #region1 {
+                width: 200px;
+                height: 100px;
+            }
+
+            #region2 {
+                width: 300px;
+                height: 180px;
+            }
+
+            #region3 {
+                width: 120px;
+                height: 120px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>The first and last lines of text in the regions below should be clipped to the green box. The overflow
+        section sizes itself and clips differently in each region.</p>
+
+        <div id="content">
+            <div class="first-box">
+                <div class="second-box">
+                    <div style="width:500px; opacity:0.8">Clipped line of text that should not be visible.</div>
+                    <p>These lines will not spill out of the regions. These lines will not spill out of the regions.
+                    These lines will not spill out of the regions. These lines will not spill out of the regions.
+                    These lines will not spill out of the regions.</p>
+                    <div style="width:500px; position:absolute;bottom:0">Clipped line of text that should not be visible.</div>
+                </div>
+            </div>
         </div>
-    </div>
-</div>
 
-<div id="container">
-    <div id="region1"></div>
-    <div id="region2"></div>
-    <div id="region3"></div>
-</div>
+        <div id="container">
+            <div id="region1"></div>
+            <div id="region2"></div>
+            <div id="region3"></div>
+        </div>
+    </body>
+</html>
diff --git a/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png b/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png
deleted file mode 100644 (file)
index 28c29fa..0000000
Binary files a/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt b/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt
deleted file mode 100644 (file)
index 9f12f4a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x482
-  RenderBlock {HTML} at (0,0) size 800x482
-    RenderBody {BODY} at (8,16) size 784x458
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 772x35
-          text run at (0,0) width 772: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and"
-          text run at (0,18) width 195: "clips differently in each region."
-      RenderBlock {DIV} at (0,52) size 784x406
-        RenderRegion {DIV} at (0,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x359
-          RenderBlock {DIV} at (5,5) size 290x349 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x347 clip at (42,7) size 216x345 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x347 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,35) size 216x131
-          RenderText {#text} at (-12,0) size 228x130
-            text run at (-12,0) width 140: "These lines will not"
-            text run at (-12,18) width 140: "spill out of the"
-            text run at (-12,36) width 140: "regions. These lines"
-            text run at (0,59) width 216: "will not spill out of the regions."
-            text run at (0,77) width 216: "These lines will not spill out of"
-            text run at (0,95) width 216: "the regions. These lines will not"
-            text run at (0,113) width 144: "spill out of the regions."
-        RenderBlock {P} at (1,182) size 216x128
-          RenderText {#text} at (0,0) size 238x127
-            text run at (0,0) width 216: "These lines will not spill out of"
-            text run at (0,18) width 216: "the regions. These lines will not"
-            text run at (0,36) width 178: "spill out of the regions. "
-            text run at (178,36) width 38: "These"
-            text run at (0,54) width 216: "lines will not spill out of the"
-            text run at (0,72) width 216: "regions. These lines will not spill"
-            text run at (-22,92) width 80: "out of the"
-            text run at (-22,110) width 50: "regions."
-    layer at (42,334) size 500x18 backgroundClip at (51,76) size 216x345 clip at (51,76) size 216x345 outlineClip at (51,76) size 216x345
-      RenderBlock (positioned) {DIV} at (1,328) size 500x18
-        RenderText {#text} at (-22,0) size 286x17
-          text run at (-22,0) width 286: "Clipped line of text that should not be visible."
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
diff --git a/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png b/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png
deleted file mode 100644 (file)
index 89c5f47..0000000
Binary files a/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt b/LayoutTests/platform/efl/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt
deleted file mode 100644 (file)
index 13186fb..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x482
-  RenderBlock {HTML} at (0,0) size 800x482
-    RenderBody {BODY} at (8,16) size 784x458
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 772x35
-          text run at (0,0) width 772: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and"
-          text run at (0,18) width 195: "clips differently in each region."
-      RenderBlock {DIV} at (0,52) size 784x406
-        RenderRegion {DIV} at (582,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (482,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (662,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x359
-          RenderBlock {DIV} at (5,5) size 290x349 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x347 clip at (42,7) size 216x345 scrollX 284 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x347 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,35) size 216x131
-          RenderText {#text} at (88,0) size 228x130
-            text run at (88,0) width 140: "These lines will not"
-            text run at (88,18) width 140: "spill out of the"
-            text run at (88,36) width 140: "regions. These lines"
-            text run at (0,59) width 216: "will not spill out of the regions."
-            text run at (0,77) width 216: "These lines will not spill out of"
-            text run at (0,95) width 216: "the regions. These lines will not"
-            text run at (72,113) width 4 RTL: "."
-            text run at (76,113) width 140: "spill out of the regions"
-        RenderBlock {P} at (1,182) size 216x128
-          RenderText {#text} at (0,0) size 238x127
-            text run at (0,0) width 216: "These lines will not spill out of"
-            text run at (0,18) width 216: "the regions. These lines will not"
-            text run at (0,36) width 178: "spill out of the regions. "
-            text run at (178,36) width 38: "These"
-            text run at (0,54) width 216: "lines will not spill out of the"
-            text run at (0,72) width 216: "regions. These lines will not spill"
-            text run at (158,92) width 80: "out of the"
-            text run at (188,110) width 4 RTL: "."
-            text run at (192,110) width 46: "regions"
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
diff --git a/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.png b/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.png
deleted file mode 100644 (file)
index 926502b..0000000
Binary files a/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.txt b/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-expected.txt
deleted file mode 100644 (file)
index ed9a03a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x480
-  RenderBlock {HTML} at (0,0) size 800x480
-    RenderBody {BODY} at (8,16) size 784x456
-      RenderBlock {P} at (0,0) size 784x34
-        RenderText {#text} at (0,0) size 772x34
-          text run at (0,0) width 772: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and"
-          text run at (0,17) width 195: "clips differently in each region."
-      RenderBlock {DIV} at (0,50) size 784x406
-        RenderRegion {DIV} at (0,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x357
-          RenderBlock {DIV} at (5,5) size 290x347 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x345 clip at (42,7) size 216x343 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x345 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,34) size 216x128
-          RenderText {#text} at (-12,0) size 228x128
-            text run at (-12,0) width 140: "These lines will not"
-            text run at (-12,17) width 140: "spill out of the"
-            text run at (-12,34) width 140: "regions. These lines"
-            text run at (0,60) width 216: "will not spill out of the regions."
-            text run at (0,77) width 216: "These lines will not spill out of"
-            text run at (0,94) width 216: "the regions. These lines will not"
-            text run at (0,111) width 144: "spill out of the regions."
-        RenderBlock {P} at (1,178) size 216x130
-          RenderText {#text} at (0,0) size 238x130
-            text run at (0,0) width 216: "These lines will not spill out of"
-            text run at (0,17) width 216: "the regions. These lines will not"
-            text run at (0,34) width 178: "spill out of the regions. "
-            text run at (178,34) width 38: "These"
-            text run at (0,51) width 216: "lines will not spill out of the"
-            text run at (0,68) width 216: "regions. These lines will not spill"
-            text run at (-22,96) width 80: "out of the"
-            text run at (-22,113) width 50: "regions."
-    layer at (42,333) size 500x17 backgroundClip at (51,74) size 216x343 clip at (51,74) size 216x343 outlineClip at (51,74) size 216x343
-      RenderBlock (positioned) {DIV} at (1,327) size 500x17
-        RenderText {#text} at (-22,0) size 286x17
-          text run at (-22,0) width 286: "Clipped line of text that should not be visible."
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
diff --git a/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png b/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png
deleted file mode 100644 (file)
index 8494d80..0000000
Binary files a/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt b/LayoutTests/platform/gtk/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt
deleted file mode 100644 (file)
index e66eb8b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x480
-  RenderBlock {HTML} at (0,0) size 800x480
-    RenderBody {BODY} at (8,16) size 784x456
-      RenderBlock {P} at (0,0) size 784x34
-        RenderText {#text} at (0,0) size 772x34
-          text run at (0,0) width 772: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and"
-          text run at (0,17) width 195: "clips differently in each region."
-      RenderBlock {DIV} at (0,50) size 784x406
-        RenderRegion {DIV} at (582,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (482,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (662,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x357
-          RenderBlock {DIV} at (5,5) size 290x347 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x345 clip at (42,7) size 216x343 scrollX 284 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x345 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,34) size 216x128
-          RenderText {#text} at (88,0) size 228x128
-            text run at (88,0) width 140: "These lines will not"
-            text run at (88,17) width 140: "spill out of the"
-            text run at (88,34) width 140: "regions. These lines"
-            text run at (0,60) width 216: "will not spill out of the regions."
-            text run at (0,77) width 216: "These lines will not spill out of"
-            text run at (0,94) width 216: "the regions. These lines will not"
-            text run at (72,111) width 4 RTL: "."
-            text run at (76,111) width 140: "spill out of the regions"
-        RenderBlock {P} at (1,178) size 216x130
-          RenderText {#text} at (0,0) size 238x130
-            text run at (0,0) width 216: "These lines will not spill out of"
-            text run at (0,17) width 216: "the regions. These lines will not"
-            text run at (0,34) width 178: "spill out of the regions. "
-            text run at (178,34) width 38: "These"
-            text run at (0,51) width 216: "lines will not spill out of the"
-            text run at (0,68) width 216: "regions. These lines will not spill"
-            text run at (158,96) width 80: "out of the"
-            text run at (188,113) width 4 RTL: "."
-            text run at (192,113) width 46: "regions"
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
diff --git a/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png b/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png
deleted file mode 100644 (file)
index 5f5d915..0000000
Binary files a/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt b/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt
deleted file mode 100644 (file)
index ac8be64..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x482
-  RenderBlock {HTML} at (0,0) size 800x482
-    RenderBody {BODY} at (8,16) size 784x458
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 772x36
-          text run at (0,0) width 772: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and"
-          text run at (0,18) width 195: "clips differently in each region."
-      RenderBlock {DIV} at (0,52) size 784x406
-        RenderRegion {DIV} at (0,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x359
-          RenderBlock {DIV} at (5,5) size 290x349 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x347 clip at (42,7) size 216x345 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x347 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,35) size 216x131
-          RenderText {#text} at (-13,0) size 229x131
-            text run at (-13,0) width 141: "These lines will not"
-            text run at (-13,18) width 141: "spill out of the"
-            text run at (-13,36) width 141: "regions. These lines"
-            text run at (0,59) width 216: "will not spill out of the regions."
-            text run at (0,77) width 216: "These lines will not spill out of"
-            text run at (0,95) width 216: "the regions. These lines will not"
-            text run at (0,113) width 144: "spill out of the regions."
-        RenderBlock {P} at (1,182) size 216x128
-          RenderText {#text} at (0,0) size 239x128
-            text run at (0,0) width 216: "These lines will not spill out of"
-            text run at (0,18) width 216: "the regions. These lines will not"
-            text run at (0,36) width 178: "spill out of the regions. "
-            text run at (178,36) width 38: "These"
-            text run at (0,54) width 216: "lines will not spill out of the"
-            text run at (0,72) width 216: "regions. These lines will not spill"
-            text run at (-23,92) width 81: "out of the"
-            text run at (-23,110) width 50: "regions."
-    layer at (42,334) size 500x18 backgroundClip at (51,76) size 216x345 clip at (51,76) size 216x345 outlineClip at (51,76) size 216x345
-      RenderBlock (positioned) {DIV} at (1,328) size 500x18
-        RenderText {#text} at (-23,0) size 286x18
-          text run at (-23,0) width 286: "Clipped line of text that should not be visible."
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
diff --git a/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png b/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png
deleted file mode 100644 (file)
index 4bfc5f0..0000000
Binary files a/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt b/LayoutTests/platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt
deleted file mode 100644 (file)
index 4ba539a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x482
-  RenderBlock {HTML} at (0,0) size 800x482
-    RenderBody {BODY} at (8,16) size 784x458
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 772x36
-          text run at (0,0) width 772: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and"
-          text run at (0,18) width 195: "clips differently in each region."
-      RenderBlock {DIV} at (0,52) size 784x406
-        RenderRegion {DIV} at (582,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (482,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (662,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x359
-          RenderBlock {DIV} at (5,5) size 290x349 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x347 clip at (42,7) size 216x345 scrollX 284 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x347 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,35) size 216x131
-          RenderText {#text} at (88,0) size 229x131
-            text run at (88,0) width 141: "These lines will not"
-            text run at (88,18) width 141: "spill out of the"
-            text run at (88,36) width 141: "regions. These lines"
-            text run at (0,59) width 216: "will not spill out of the regions."
-            text run at (0,77) width 216: "These lines will not spill out of"
-            text run at (0,95) width 216: "the regions. These lines will not"
-            text run at (72,113) width 4 RTL: "."
-            text run at (76,113) width 140: "spill out of the regions"
-        RenderBlock {P} at (1,182) size 216x128
-          RenderText {#text} at (0,0) size 239x128
-            text run at (0,0) width 216: "These lines will not spill out of"
-            text run at (0,18) width 216: "the regions. These lines will not"
-            text run at (0,36) width 178: "spill out of the regions. "
-            text run at (178,36) width 38: "These"
-            text run at (0,54) width 216: "lines will not spill out of the"
-            text run at (0,72) width 216: "regions. These lines will not spill"
-            text run at (158,92) width 81: "out of the"
-            text run at (189,110) width 4 RTL: "."
-            text run at (193,110) width 46: "regions"
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
diff --git a/LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-expected.txt b/LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-expected.txt
deleted file mode 100644 (file)
index a2f6f5b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x484
-  RenderBlock {HTML} at (0,0) size 800x484
-    RenderBody {BODY} at (8,16) size 784x460
-      RenderBlock {P} at (0,0) size 784x38
-        RenderText {#text} at (0,0) size 761x38
-          text run at (0,0) width 761: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and clips"
-          text run at (0,19) width 150: "differently in each region."
-      RenderBlock {DIV} at (0,54) size 784x406
-        RenderRegion {DIV} at (0,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (0,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x311
-          RenderBlock {DIV} at (5,5) size 290x301 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x299 clip at (42,7) size 216x297 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x299 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,36) size 216x115
-          RenderText {#text} at (-13,0) size 229x115
-            text run at (-13,0) width 141: "These lines will not spill"
-            text run at (-13,19) width 141: "out of the regions."
-            text run at (-13,38) width 141: "These lines will not spill"
-            text run at (0,58) width 121: "out of the regions. "
-            text run at (121,58) width 95: "These lines will"
-            text run at (0,77) width 216: "not spill out of the regions. These"
-            text run at (0,96) width 212: "lines will not spill out of the regions."
-        RenderBlock {P} at (1,167) size 216x95
-          RenderText {#text} at (0,0) size 216x95
-            text run at (0,0) width 216: "These lines will not spill out of the"
-            text run at (0,19) width 216: "regions. These lines will not spill out"
-            text run at (0,38) width 96: "of the regions. "
-            text run at (96,38) width 120: "These lines will not"
-            text run at (0,57) width 216: "spill out of the regions. These lines"
-            text run at (0,76) width 182: "will not spill out of the regions."
-    layer at (42,285) size 500x19 backgroundClip at (51,78) size 216x297 clip at (51,78) size 216x297 outlineClip at (51,78) size 216x297
-      RenderBlock (positioned) {DIV} at (1,279) size 500x19
-        RenderText {#text} at (-23,0) size 270x19
-          text run at (-23,0) width 270: "Clipped line of text that should not be visible."
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
diff --git a/LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png b/LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png
deleted file mode 100644 (file)
index 7c2e2e3..0000000
Binary files a/LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt b/LayoutTests/platform/qt/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt
deleted file mode 100644 (file)
index 36a0cbe..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x484
-  RenderBlock {HTML} at (0,0) size 800x484
-    RenderBody {BODY} at (8,16) size 784x460
-      RenderBlock {P} at (0,0) size 784x38
-        RenderText {#text} at (0,0) size 761x38
-          text run at (0,0) width 761: "The first and last lines of text in the regions below should be clipped to the green box. The overflow section sizes itself and clips"
-          text run at (0,19) width 150: "differently in each region."
-      RenderBlock {DIV} at (0,54) size 784x406
-        RenderRegion {DIV} at (582,0) size 202x102 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (482,102) size 302x182 [border: (1px solid #000000)]
-        RenderRegion {DIV} at (662,284) size 122x122 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'flow1'
-    layer at (0,0) size 300x400
-      RenderNamedFlowThread at (0,0) size 300x400
-        RenderBlock {DIV} at (0,0) size 300x311
-          RenderBlock {DIV} at (5,5) size 290x301 [border: (1px solid #0000FF)]
-    layer at (41,6) size 218x299 clip at (42,7) size 216x297 scrollX 284 scrollWidth 500
-      RenderBlock (relative positioned) {DIV} at (36,1) size 218x299 [border: (1px solid #008000)]
-        RenderBlock {P} at (1,36) size 216x115
-          RenderText {#text} at (88,0) size 228x115
-            text run at (88,0) width 140: "These lines will not spill"
-            text run at (88,19) width 140: "out of the regions."
-            text run at (88,38) width 140: "These lines will not spill"
-            text run at (0,58) width 121: "out of the regions. "
-            text run at (121,58) width 95: "These lines will"
-            text run at (0,77) width 216: "not spill out of the regions. These"
-            text run at (4,96) width 4 RTL: "."
-            text run at (8,96) width 208: "lines will not spill out of the regions"
-        RenderBlock {P} at (1,167) size 216x95
-          RenderText {#text} at (0,0) size 216x95
-            text run at (0,0) width 216: "These lines will not spill out of the"
-            text run at (0,19) width 216: "regions. These lines will not spill out"
-            text run at (0,38) width 96: "of the regions. "
-            text run at (96,38) width 120: "These lines will not"
-            text run at (0,57) width 216: "spill out of the regions. These lines"
-            text run at (34,76) width 4 RTL: "."
-            text run at (38,76) width 178: "will not spill out of the regions"
-  Regions for flow 'flow1'
-    RenderRegion {DIV} #region1
-    RenderRegion {DIV} #region2
-    RenderRegion {DIV} #region3
index 132c364..0c9402b 100644 (file)
@@ -1,3 +1,29 @@
+2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
+
+        [CSS Regions] REGRESSION Incorrect layer clipping inside flow thread
+        https://bugs.webkit.org/show_bug.cgi?id=117074
+
+        Reviewed by David Hyatt.
+
+        Function RenderBox::mapLocalToContainer was adapted for elements inside flow threads to convert
+        elements coordinates to RenderView coordinates, passing through the region in which the elements
+        were flowed (https://bugs.webkit.org/show_bug.cgi?id=66641).
+
+        The fix for https://bugs.webkit.org/show_bug.cgi?id=76486 modified RenderLayer::calculateClipRects and replaced
+        convertToLayerCoords with localToContainerPoint, which further calls mapLocalToContainer.
+
+        However, for elements inside the flow thread, which acts as a root layer for its collected children, we do not want
+        to get the offset in RenderView coordinates but rather in flow thread coordinates (and still take transforms into
+        account). This patch modifies RenderBox::mapLocalToContainer so that it stops at flow thread boundary when the passed
+        repaintContainer is the flow thread. The flow thread is the container for repaint for elements inside it, as seen from
+        RenderObject::containerForRepaint.
+
+        No new tests, converted overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl
+        into ref tests so that the we do not rely on pixel tests in the future.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::mapLocalToContainer):
+
 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
 
         Remove [NoInterfaceObject] from TreeWalker
index d7d8c72..90c434a 100644 (file)
@@ -1759,7 +1759,8 @@ void RenderBox::mapLocalToContainer(const RenderLayerModelObject* repaintContain
     }
 
     mode &= ~ApplyContainerFlip;
-    if (o->isRenderFlowThread()) {
+
+    if (o->isRenderFlowThread() && (o != repaintContainer)) {
         // Transform from render flow coordinates into region coordinates.
         RenderRegion* region = toRenderFlowThread(o)->mapFromFlowToRegion(transformState);
         if (region)