[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

mitz at apple.com mitz at apple.com
Thu Apr 8 01:13:45 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit cb1a869107390e6cfe1a9132523eaf1b6b5e438b
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 18 22:20:13 2010 +0000

    REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
    https://bugs.webkit.org/show_bug.cgi?id=33809
    
    Reviewed by Darin Adler.
    
    WebCore:
    
    Test: fast/repaint/trailing-floats-root-line-box-overflow.html
    
    * rendering/RenderBlockLineLayout.cpp:
    (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
    root box to the trailing floats box, which is becoming the last root box. This is
    needed because painting code assumes that the last line in a block is the one with the
    lowest overflow bottom.
    
    LayoutTests:
    
    * fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum: Added.
    * fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Added.
    * fast/repaint/trailing-floats-root-line-box-overflow-expected.txt: Added.
    * fast/repaint/trailing-floats-root-line-box-overflow.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 32cbb6c..cce7048 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-01-18  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Darin Adler.
+
+        REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
+        https://bugs.webkit.org/show_bug.cgi?id=33809
+
+        * fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum: Added.
+        * fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Added.
+        * fast/repaint/trailing-floats-root-line-box-overflow-expected.txt: Added.
+        * fast/repaint/trailing-floats-root-line-box-overflow.html: Added.
+
 2010-01-18  Alexey Proskuryakov  <ap at apple.com>
 
         Rubber-stamped by Adam Roben.
diff --git a/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum
new file mode 100644
index 0000000..3fd721c
--- /dev/null
+++ b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum
@@ -0,0 +1 @@
+a3acd4a4fbe46ad46cc888c65e280107
\ No newline at end of file
diff --git a/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.png b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.png
new file mode 100644
index 0000000..c5cd65d
Binary files /dev/null and b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.png differ
diff --git a/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.txt b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.txt
new file mode 100644
index 0000000..b51996f
--- /dev/null
+++ b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow-expected.txt
@@ -0,0 +1,9 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {DIV} at (0,0) size 784x50 [bgcolor=#FFFF00]
+        RenderBlock {DIV} at (0,50) size 100x100 [bgcolor=#008000]
+        RenderBR {BR} at (100,50) size 0x0
+        RenderBlock (floating) {DIV} at (0,50) size 0x0
diff --git a/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow.html b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow.html
new file mode 100644
index 0000000..e342b7e
--- /dev/null
+++ b/LayoutTests/fast/repaint/trailing-floats-root-line-box-overflow.html
@@ -0,0 +1,13 @@
+<head>
+    <script src="resources/repaint.js"></script>
+    <script>
+        function repaintTest()
+        {
+            document.getElementById("target").style.display = "none";
+        }
+    </script>
+</head>
+<body onload="runRepaintTest()">
+    <div style="background-color: yellow;"><div style="display: inline-block; width: 100px; height: 100px; background-color: green; margin-top: 50px; margin-bottom: -100px;"></div><br><div style="float: left;"></div></div>
+    <div style="position: absolute; height: 100px; background-color: red; width: 100px;" id="target"></div>
+</body>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index fcf8993..12661ff 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-01-18  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Darin Adler.
+
+        REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
+        https://bugs.webkit.org/show_bug.cgi?id=33809
+
+        Test: fast/repaint/trailing-floats-root-line-box-overflow.html
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
+        root box to the trailing floats box, which is becoming the last root box. This is
+        needed because painting code assumes that the last line in a block is the one with the
+        lowest overflow bottom.
+
 2010-01-18  Csaba Osztrogonác  <ossy at webkit.org>
 
         [Qt] Unreviewed trivial buildfix. (r53429)
diff --git a/WebCore/rendering/RenderBlockLineLayout.cpp b/WebCore/rendering/RenderBlockLineLayout.cpp
index 066ad8d..2d1dc8c 100644
--- a/WebCore/rendering/RenderBlockLineLayout.cpp
+++ b/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -1127,10 +1127,13 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintTop, i
             // This has to be done before adding in the bottom border/padding, or the float will
             // include the padding incorrectly. -dwh
             if (checkForFloatsFromLastLine) {
+                int bottomVisualOverflow = lastRootBox()->bottomVisualOverflow();
+                int bottomLayoutOverflow = lastRootBox()->bottomLayoutOverflow();
                 TrailingFloatsRootInlineBox* trailingFloatsLineBox = new (renderArena()) TrailingFloatsRootInlineBox(this);
                 m_lineBoxes.appendLineBox(trailingFloatsLineBox);
                 trailingFloatsLineBox->setConstructed();
                 trailingFloatsLineBox->verticallyAlignBoxes(height());
+                trailingFloatsLineBox->setVerticalOverflowPositions(height(), bottomLayoutOverflow, height(), bottomVisualOverflow, 0);
                 trailingFloatsLineBox->setBlockHeight(height());
             }
             if (lastFloat) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list