[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 00:52:41 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit eea52850aa10dd4a1bd2f661e56cb9a4a84b56ca
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 31 18:41:23 2009 +0000

    <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
    https://bugs.webkit.org/show_bug.cgi?id=33067
    
    Reviewed by Simon Fraser.
    
    WebCore:
    
    Test: fast/repaint/table-cell-overflow.html
    
    * rendering/RenderTableCell.h:
    (WebCore::RenderTableCell::hasVisibleOverflow): Added.
    * rendering/RenderTableSection.cpp:
    (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if
    any cell has visible overflow, like it was before r47440.
    
    LayoutTests:
    
    * fast/repaint/table-cell-overflow-expected.checksum: Added.
    * fast/repaint/table-cell-overflow-expected.png: Added.
    * fast/repaint/table-cell-overflow-expected.txt: Added.
    * fast/repaint/table-cell-overflow.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5ca47e9..095a686 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2009-12-31  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
+        https://bugs.webkit.org/show_bug.cgi?id=33067
+
+        * fast/repaint/table-cell-overflow-expected.checksum: Added.
+        * fast/repaint/table-cell-overflow-expected.png: Added.
+        * fast/repaint/table-cell-overflow-expected.txt: Added.
+        * fast/repaint/table-cell-overflow.html: Added.
+
 2009-12-30  Dirk Schulze  <krit at webkit.org>
 
         Reviewed by Anders Carlsson.
diff --git a/LayoutTests/fast/repaint/table-cell-overflow-expected.checksum b/LayoutTests/fast/repaint/table-cell-overflow-expected.checksum
new file mode 100644
index 0000000..dc3d761
--- /dev/null
+++ b/LayoutTests/fast/repaint/table-cell-overflow-expected.checksum
@@ -0,0 +1 @@
+cea2348b80457eaaa9b19979c8134a9d
\ No newline at end of file
diff --git a/LayoutTests/fast/repaint/table-cell-overflow-expected.png b/LayoutTests/fast/repaint/table-cell-overflow-expected.png
new file mode 100644
index 0000000..6162cf0
Binary files /dev/null and b/LayoutTests/fast/repaint/table-cell-overflow-expected.png differ
diff --git a/LayoutTests/fast/repaint/table-cell-overflow-expected.txt b/LayoutTests/fast/repaint/table-cell-overflow-expected.txt
new file mode 100644
index 0000000..73e6a3b
--- /dev/null
+++ b/LayoutTests/fast/repaint/table-cell-overflow-expected.txt
@@ -0,0 +1,13 @@
+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
+      RenderTable {TABLE} at (0,0) size 204x102
+        RenderTableSection {TBODY} at (0,0) size 204x102
+          RenderTableRow {TR} at (0,0) size 204x102
+            RenderTableCell {TD} at (0,0) size 102x102 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (1,1) size 100x100
+                RenderBlock {DIV} at (50,0) size 100x100 [bgcolor=#0000FF]
+            RenderTableCell {TD} at (102,0) size 102x102 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {DIV} at (1,1) size 100x100
diff --git a/LayoutTests/fast/repaint/table-cell-overflow.html b/LayoutTests/fast/repaint/table-cell-overflow.html
new file mode 100644
index 0000000..2ea5eeb
--- /dev/null
+++ b/LayoutTests/fast/repaint/table-cell-overflow.html
@@ -0,0 +1,23 @@
+<head>
+<script src="resources/repaint.js"></script>
+<script>
+    function repaintTest()
+    {
+        document.getElementById("target").style.backgroundColor = "transparent";
+    }
+</script>
+</head>
+<body onload="runRepaintTest();">
+<table cellpadding=1 cellspacing=0>
+    <tr>
+        <td>
+            <div style="width: 100px;">
+                <div style="width: 100px; height: 100px; background-color: blue; margin-left: 50px;"></div>
+            </div>
+        </td>
+        <td>
+            <div style="width: 100px; height: 100px; background-color: red;" id="target"></div>
+        </td>
+    </tr>
+</table>
+</body>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 2fdade9..3822e52 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-12-31  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
+        https://bugs.webkit.org/show_bug.cgi?id=33067
+
+        Test: fast/repaint/table-cell-overflow.html
+
+        * rendering/RenderTableCell.h:
+        (WebCore::RenderTableCell::hasVisibleOverflow): Added.
+        * rendering/RenderTableSection.cpp:
+        (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if
+        any cell has visible overflow, like it was before r47440.
+
 2009-12-31  Laszlo Gombos  <laszlo.1.gombos at nokia.com>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebCore/rendering/RenderTableCell.h b/WebCore/rendering/RenderTableCell.h
index cf03eea..89e2cbe 100644
--- a/WebCore/rendering/RenderTableCell.h
+++ b/WebCore/rendering/RenderTableCell.h
@@ -99,6 +99,8 @@ public:
 
     virtual void setOverrideSize(int);
 
+    bool hasVisibleOverflow() const { return m_overflow; }
+
 protected:
     virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle);
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
diff --git a/WebCore/rendering/RenderTableSection.cpp b/WebCore/rendering/RenderTableSection.cpp
index 634380b..34c854b 100644
--- a/WebCore/rendering/RenderTableSection.cpp
+++ b/WebCore/rendering/RenderTableSection.cpp
@@ -646,12 +646,11 @@ int RenderTableSection::layoutRows(int toAdd)
             if (r < totalRows - 1 && cell == cellAt(r + 1, c).cell)
                 continue;
             addOverflowFromChild(cell);
+            m_hasOverflowingCell |= cell->hasVisibleOverflow();
         }
     }
-    m_hasOverflowingCell = m_overflow;
-    
-    statePusher.pop();
 
+    statePusher.pop();
     return height();
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list