[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 13:24:19 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit cf45df9edd13e03c3d7f33d05bf58194d8878547
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Sep 14 13:25:06 2010 +0000
2010-09-14 Pierre-Antoine LaFayette <plafayet at codeaurora.org>
Reviewed by Darin Adler.
REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
https://bugs.webkit.org/show_bug.cgi?id=40142
Add pixel tests to verify proper repaint of RenderReplaced as well as non-inline children.
* fast/repaint/block-layout-inline-children-float-positioned.html: Added.
* fast/repaint/block-layout-inline-children-replaced.html: Added.
* platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.checksum: Added.
* platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.png: Added.
* platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.txt: Added.
* platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum: Added.
* platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png: Added.
* platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.txt: Added.
2010-09-14 Pierre-Antoine LaFayette <plafayet at codeaurora.org>
Reviewed by Darin Adler.
REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
https://bugs.webkit.org/show_bug.cgi?id=40142
http://trac.webkit.org/changeset/52839 didn't really deal with the inline replaced element case. This just generalizes to all inline content.
Patch by: Dave Hyatt
Tests: fast/repaint/block-layout-inline-children-float-positioned.html
fast/repaint/block-layout-inline-children-replaced.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 84db42d..13747fb 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,21 @@
+2010-09-14 Pierre-Antoine LaFayette <plafayet at codeaurora.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
+ https://bugs.webkit.org/show_bug.cgi?id=40142
+
+ Add pixel tests to verify proper repaint of RenderReplaced as well as non-inline children.
+
+ * fast/repaint/block-layout-inline-children-float-positioned.html: Added.
+ * fast/repaint/block-layout-inline-children-replaced.html: Added.
+ * platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.checksum: Added.
+ * platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.png: Added.
+ * platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.txt: Added.
+ * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum: Added.
+ * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png: Added.
+ * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.txt: Added.
+
2010-09-14 Pavel Podivilov <podivilov at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/LayoutTests/fast/repaint/block-layout-inline-children-float-positioned.html b/LayoutTests/fast/repaint/block-layout-inline-children-float-positioned.html
new file mode 100644
index 0000000..6d35f42
--- /dev/null
+++ b/LayoutTests/fast/repaint/block-layout-inline-children-float-positioned.html
@@ -0,0 +1,32 @@
+<head>
+<title>This is a test for regression against https://bugs.webkit.org/show_bug.cgi?id=40142</title>
+<style>
+#target {
+ width: 600px;
+ height: 100px;
+ text-align: center;
+ border: 1px solid #ddd;
+}
+</style>
+</head>
+
+<body style="margin: 0;" onload="runRepaintTest()">
+ <script>
+ function repaintTest()
+ {
+ document.getElementById("target").innerHTML +=
+ '<span style="float: right;">the quick brown fox jumped over the lazy dog</span>';
+
+ document.getElementById("target").innerHTML +=
+ '<span style="position: absolute;">the quick brown fox jumped over the lazy dog</span>';
+ }
+ </script>
+
+ <script src="resources/repaint.js"></script>
+
+ <p>This is a test for regression against <a href="https://bugs.webkit.org/show_bug.cgi?id=40142">https://bugs.webkit.org/show_bug.cgi?id=40142</a></p>
+
+ <div>
+ <div id="target"></div>
+ </div>
+</body>
diff --git a/LayoutTests/fast/repaint/block-layout-inline-children-replaced.html b/LayoutTests/fast/repaint/block-layout-inline-children-replaced.html
new file mode 100644
index 0000000..e1f2e71
--- /dev/null
+++ b/LayoutTests/fast/repaint/block-layout-inline-children-replaced.html
@@ -0,0 +1,29 @@
+<head>
+<title>This is a test for regression against https://bugs.webkit.org/show_bug.cgi?id=40142</title>
+<style>
+.target {
+ width: 400px;
+ height: 150px;
+ text-align: center;
+ border: 1px solid #ddd;
+}
+</style>
+</head>
+
+<body style="margin: 0;" onload="runRepaintTest()">
+ <script>
+ function repaintTest()
+ {
+ document.getElementById("target").innerHTML +=
+ '<img style="height: 100px;" src="resources/apple.jpg" >';
+ }
+ </script>
+
+ <script src="resources/repaint.js"></script>
+
+ <p>This is a test for regression against <a href="https://bugs.webkit.org/show_bug.cgi?id=40142">https://bugs.webkit.org/show_bug.cgi?id=40142</a></p>
+
+ <div>
+ <div class="target" id="target"></div>
+ </div>
+</body>
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.checksum b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.checksum
new file mode 100644
index 0000000..f7bc0eb
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.checksum
@@ -0,0 +1 @@
+a67d9e72e4b66928e01246cf21fb6eac
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.png b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.png
new file mode 100644
index 0000000..209caca
Binary files /dev/null and b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.txt b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.txt
new file mode 100644
index 0000000..dc6f252
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-float-positioned-expected.txt
@@ -0,0 +1,20 @@
+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 (0,0) size 800x600
+ RenderBlock {P} at (0,0) size 800x18
+ RenderText {#text} at (0,0) size 220x18
+ text run at (0,0) width 220: "This is a test for regression against "
+ RenderInline {A} at (0,0) size 305x18 [color=#0000EE]
+ RenderText {#text} at (220,0) size 305x18
+ text run at (220,0) width 305: "https://bugs.webkit.org/show_bug.cgi?id=40142"
+ RenderBlock {DIV} at (0,34) size 800x102
+ RenderBlock {DIV} at (0,0) size 602x102 [border: (1px solid #DDDDDD)]
+ RenderBlock (floating) {SPAN} at (309,1) size 292x18
+ RenderText {#text} at (0,0) size 292x18
+ text run at (0,0) width 292: "the quick brown fox jumped over the lazy dog"
+layer at (1,35) size 292x18
+ RenderBlock (positioned) {SPAN} at (1,35) size 292x18
+ RenderText {#text} at (0,0) size 292x18
+ text run at (0,0) width 292: "the quick brown fox jumped over the lazy dog"
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum
new file mode 100644
index 0000000..0b1976b
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum
@@ -0,0 +1 @@
+f69fe4e6fcfdd9e726df375cdbe5c821
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png
new file mode 100644
index 0000000..6f21727
Binary files /dev/null and b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.txt b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.txt
new file mode 100644
index 0000000..cc268c6
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.txt
@@ -0,0 +1,14 @@
+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 (0,0) size 800x600
+ RenderBlock {P} at (0,0) size 800x18
+ RenderText {#text} at (0,0) size 220x18
+ text run at (0,0) width 220: "This is a test for regression against "
+ RenderInline {A} at (0,0) size 305x18 [color=#0000EE]
+ RenderText {#text} at (220,0) size 305x18
+ text run at (220,0) width 305: "https://bugs.webkit.org/show_bug.cgi?id=40142"
+ RenderBlock {DIV} at (0,34) size 800x152
+ RenderBlock {DIV} at (0,0) size 402x152 [border: (1px solid #DDDDDD)]
+ RenderImage {IMG} at (155,1) size 92x100
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 9bb73c8..81a5b87 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-09-14 Pierre-Antoine LaFayette <plafayet at codeaurora.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
+ https://bugs.webkit.org/show_bug.cgi?id=40142
+
+ http://trac.webkit.org/changeset/52839 didn't really deal with the inline replaced element case. This just generalizes to all inline content.
+
+ Patch by: Dave Hyatt
+
+ Tests: fast/repaint/block-layout-inline-children-float-positioned.html
+ fast/repaint/block-layout-inline-children-replaced.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren):
+
2010-09-14 Balazs Kelemen <kb at inf.u-szeged.hu>
Reviewed by Andreas Kling.
diff --git a/WebCore/rendering/RenderBlockLineLayout.cpp b/WebCore/rendering/RenderBlockLineLayout.cpp
index 6785eb2..e57f28e 100644
--- a/WebCore/rendering/RenderBlockLineLayout.cpp
+++ b/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -559,6 +559,9 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintTop, i
Vector<FloatWithRect> floats;
bool hasInlineChild = false;
while (o) {
+ if (!hasInlineChild && o->isInline())
+ hasInlineChild = true;
+
if (o->isReplaced() || o->isFloating() || o->isPositioned()) {
RenderBox* box = toRenderBox(o);
@@ -580,7 +583,6 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintTop, i
o->layoutIfNeeded();
}
} else if (o->isText() || (o->isRenderInline() && !endOfInline)) {
- hasInlineChild = true;
if (fullLayout || o->selfNeedsLayout())
dirtyLineBoxesForRenderer(o, fullLayout);
o->setNeedsLayout(false);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list