Diff
Modified: trunk/LayoutTests/ChangeLog (151443 => 151444)
--- trunk/LayoutTests/ChangeLog 2013-06-11 17:49:59 UTC (rev 151443)
+++ trunk/LayoutTests/ChangeLog 2013-06-11 18:11:31 UTC (rev 151444)
@@ -1,3 +1,14 @@
+2013-06-03 Robert Hogan <rob...@webkit.org>
+
+ Painting collapsed borders during scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=85658
+
+ Reviewed by David Hyatt.
+
+ * fast/repaint/table-cell-collapsed-border-scroll-expected.txt: Added.
+ * fast/repaint/table-cell-collapsed-border-scroll.html: Added.
+ * platform/qt/fast/repaint/table-cell-collapsed-border-scroll-expected.png: Added.
+
2013-06-11 Ryosuke Niwa <rn...@webkit.org>
editing/undo/undo-after-event-edited.html can be flaky
Added: trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll-expected.txt (0 => 151444)
--- trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll-expected.txt 2013-06-11 18:11:31 UTC (rev 151444)
@@ -0,0 +1,16 @@
+layer at (0,0) size 1076x1796
+ RenderView at (0,0) size 785x585
+layer at (0,0) size 785x1796
+ RenderBlock {HTML} at (0,0) size 785x1796
+ RenderBody {BODY} at (8,8) size 769x1780
+ RenderTable {TABLE} at (0,0) size 1068x1780 [color=#FFFFFF] [border: (178px none #808080)]
+ RenderTableSection {TBODY} at (178,178) size 712x1424
+ RenderTableRow {TR} at (0,0) size 712x712
+ RenderTableCell {TD} at (0,0) size 712x712 [border: (178px solid #0000FF)] [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (178,177) size 356x357
+ text run at (178,177) width 356: "B"
+ RenderTableRow {TR} at (0,712) size 712x712
+ RenderTableCell {TD} at (0,712) size 712x712 [border: (178px solid #FF0000) (178px solid #FFFF00)] [r=1 c=0 rs=1 cs=1]
+ RenderText {#text} at (178,177) size 356x357
+ text run at (178,177) width 356: "Y"
+scrolled to 0,1000
Property changes on: trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll-expected.txt
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll.html (0 => 151444)
--- trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll.html (rev 0)
+++ trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll.html 2013-06-11 18:11:31 UTC (rev 151444)
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style>
+ table
+ {
+ border-collapse: collapse;
+ color: white;
+ font: 22.25em/1 Ahem;
+ }
+
+ td {padding: 0px;}
+
+ table#test td
+ {
+ border-style: solid;
+ border-width: 1em;
+ }
+
+ td#one {border-color: blue blue blue blue;}
+ td#two {border-color: yellow yellow yellow red;}
+
+ td#five {border-color: red yellow yellow yellow;}
+ td#six {border-color: red green green red;}
+ </style>
+ <script src="" type="text/_javascript_"></script>
+ <script>
+ function repaintTest()
+ {
+ window.scrollTo(0,1000);
+ }
+ </script>
+</head>
+<body _onload_="runRepaintTest();">
+ <!--- webkit.org/b/85658: Repaint collapsed borders correctly when scrolling. There should be a blue bar across the top when you load the page. -->
+ <table id="test">
+ <tr>
+ <td id="one">B</td>
+ </tr>
+ <tr>
+ <td id="five">Y</td>
+ </tr>
+ </table>
+ </body>
+</html>
Property changes on: trunk/LayoutTests/fast/repaint/table-cell-collapsed-border-scroll.html
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/platform/mac-wk2/fast/repaint/table-cell-collapsed-border-scroll-expected.txt (0 => 151444)
--- trunk/LayoutTests/platform/mac-wk2/fast/repaint/table-cell-collapsed-border-scroll-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/mac-wk2/fast/repaint/table-cell-collapsed-border-scroll-expected.txt 2013-06-11 18:11:31 UTC (rev 151444)
@@ -0,0 +1,16 @@
+layer at (0,0) size 1076x1796
+ RenderView at (0,0) size 785x585
+layer at (0,0) size 785x1796
+ RenderBlock {HTML} at (0,0) size 785x1796
+ RenderBody {BODY} at (8,8) size 769x1780
+ RenderTable {TABLE} at (0,0) size 1068x1780 [color=#FFFFFF] [border: (178px none #808080)]
+ RenderTableSection {TBODY} at (178,178) size 712x1424
+ RenderTableRow {TR} at (0,0) size 712x712
+ RenderTableCell {TD} at (0,0) size 712x712 [border: (178px solid #0000FF)] [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (178,178) size 356x356
+ text run at (178,178) width 356: "B"
+ RenderTableRow {TR} at (0,712) size 712x712
+ RenderTableCell {TD} at (0,712) size 712x712 [border: (178px solid #FF0000) (178px solid #FFFF00)] [r=1 c=0 rs=1 cs=1]
+ RenderText {#text} at (178,178) size 356x356
+ text run at (178,178) width 356: "Y"
+scrolled to 0,1000
Property changes on: trunk/LayoutTests/platform/mac-wk2/fast/repaint/table-cell-collapsed-border-scroll-expected.txt
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/platform/qt/fast/repaint/table-cell-collapsed-border-scroll-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/qt/fast/repaint/table-cell-collapsed-border-scroll-expected.png
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/Source/WebCore/ChangeLog (151443 => 151444)
--- trunk/Source/WebCore/ChangeLog 2013-06-11 17:49:59 UTC (rev 151443)
+++ trunk/Source/WebCore/ChangeLog 2013-06-11 18:11:31 UTC (rev 151444)
@@ -1,3 +1,18 @@
+2013-06-03 Robert Hogan <rob...@webkit.org>
+
+ Painting collapsed borders during scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=85658
+
+ Reviewed by David Hyatt.
+
+ Test: fast/repaint/table-cell-collapsed-border-scroll.html
+
+ WHen painting collapsed borders we need to paint the borders of the row above
+ the topmost dirtied row so that we compute the correct value for the dirtied row's collapsed border.
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::paintObject):
+
2013-06-11 Peter Gal <galpe...@inf.u-szeged.hu>
[curl] Custom HTTP method support
Modified: trunk/Source/WebCore/rendering/RenderTableSection.cpp (151443 => 151444)
--- trunk/Source/WebCore/rendering/RenderTableSection.cpp 2013-06-11 17:49:59 UTC (rev 151443)
+++ trunk/Source/WebCore/rendering/RenderTableSection.cpp 2013-06-11 18:11:31 UTC (rev 151444)
@@ -1118,8 +1118,10 @@
if (!m_hasMultipleCellLevels && !m_overflowingCells.size()) {
if (paintInfo.phase == PaintPhaseCollapsedTableBorders) {
// Collapsed borders are painted from the bottom right to the top left so that precedence
- // due to cell position is respected.
- for (unsigned r = dirtiedRows.end(); r > dirtiedRows.start(); r--) {
+ // due to cell position is respected. We need to paint one row beyond the topmost dirtied
+ // row to calculate its collapsed border value.
+ unsigned startRow = dirtiedRows.start() ? dirtiedRows.start() - 1 : 0;
+ for (unsigned r = dirtiedRows.end(); r > startRow; r--) {
unsigned row = r - 1;
for (unsigned c = dirtiedColumns.end(); c > dirtiedColumns.start(); c--) {
unsigned col = c - 1;