[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
mitz at apple.com
mitz at apple.com
Wed Dec 22 11:19:32 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 5c265e625d3a8e2ea885a381d598f6a846139e80
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jul 19 16:48:36 2010 +0000
<rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
https://bugs.webkit.org/show_bug.cgi?id=34913
Reviewed by Simon Fraser.
WebCore:
Tests: fast/repaint/view-background-from-body-1.html
fast/repaint/view-background-from-body-2.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
style changes.
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
repaint the view, in case the body’s background was propagated to the view.
LayoutTests:
* fast/repaint/view-background-from-body-1.html: Added.
* fast/repaint/view-background-from-body-2.html: Added.
* platform/mac/fast/repaint/view-background-from-body-1-expected.checksum: Added.
* platform/mac/fast/repaint/view-background-from-body-1-expected.png: Added.
* platform/mac/fast/repaint/view-background-from-body-1-expected.txt: Added.
* platform/mac/fast/repaint/view-background-from-body-2-expected.checksum: Added.
* platform/mac/fast/repaint/view-background-from-body-2-expected.png: Added.
* platform/mac/fast/repaint/view-background-from-body-2-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index ee7bcd4..c53de6f 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-07-19 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
+ https://bugs.webkit.org/show_bug.cgi?id=34913
+
+ * fast/repaint/view-background-from-body-1.html: Added.
+ * fast/repaint/view-background-from-body-2.html: Added.
+ * platform/mac/fast/repaint/view-background-from-body-1-expected.checksum: Added.
+ * platform/mac/fast/repaint/view-background-from-body-1-expected.png: Added.
+ * platform/mac/fast/repaint/view-background-from-body-1-expected.txt: Added.
+ * platform/mac/fast/repaint/view-background-from-body-2-expected.checksum: Added.
+ * platform/mac/fast/repaint/view-background-from-body-2-expected.png: Added.
+ * platform/mac/fast/repaint/view-background-from-body-2-expected.txt: Added.
+
2010-07-19 Anders Carlsson <andersca at apple.com>
Reviewed by Adam Roben.
diff --git a/LayoutTests/fast/repaint/view-background-from-body-1.html b/LayoutTests/fast/repaint/view-background-from-body-1.html
new file mode 100644
index 0000000..1319830
--- /dev/null
+++ b/LayoutTests/fast/repaint/view-background-from-body-1.html
@@ -0,0 +1,12 @@
+<head>
+ <!-- The entire viewport should be white, with no red margin. -->
+ <script src="resources/repaint.js" type="text/javascript"></script>
+ <script type="text/javascript">
+ function repaintTest()
+ {
+ document.body.style.display = "none";
+ }
+ </script>
+</head>
+<body onload="runRepaintTest();" style="margin: 50px; background-color: red;">
+</body>
diff --git a/LayoutTests/fast/repaint/view-background-from-body-2.html b/LayoutTests/fast/repaint/view-background-from-body-2.html
new file mode 100644
index 0000000..a1d1709
--- /dev/null
+++ b/LayoutTests/fast/repaint/view-background-from-body-2.html
@@ -0,0 +1,12 @@
+<head>
+ <!-- The entire viewport should be solid blue, with no white margin. -->
+ <script src="resources/repaint.js" type="text/javascript"></script>
+ <script type="text/javascript">
+ function repaintTest()
+ {
+ document.body.style.removeProperty("display");
+ }
+ </script>
+</head>
+<body onload="runRepaintTest();" style="margin: 50px; background-color: blue; display: none;">
+</body>
diff --git a/LayoutTests/platform/chromium-mac/fast/js/missing-title-end-tag-js-expected.checksum b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-1-expected.checksum
similarity index 100%
copy from LayoutTests/platform/chromium-mac/fast/js/missing-title-end-tag-js-expected.checksum
copy to LayoutTests/platform/mac/fast/repaint/view-background-from-body-1-expected.checksum
diff --git a/LayoutTests/platform/mac/fast/repaint/view-background-from-body-1-expected.png b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-1-expected.png
new file mode 100644
index 0000000..3892168
Binary files /dev/null and b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-1-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/events/onloadFrameCrash-expected.txt b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-1-expected.txt
similarity index 100%
copy from LayoutTests/platform/mac/fast/events/onloadFrameCrash-expected.txt
copy to LayoutTests/platform/mac/fast/repaint/view-background-from-body-1-expected.txt
diff --git a/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.checksum b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.checksum
new file mode 100644
index 0000000..9920a44
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.checksum
@@ -0,0 +1 @@
+483a463f69d2fd454249a4813d925c6c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.png b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.png
new file mode 100644
index 0000000..be3747e
Binary files /dev/null and b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.txt b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.txt
new file mode 100644
index 0000000..530ef06
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/view-background-from-body-2-expected.txt
@@ -0,0 +1,5 @@
+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 (50,50) size 700x500 [bgcolor=#0000FF]
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 78b0a7a..4017923 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-07-19 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
+ https://bugs.webkit.org/show_bug.cgi?id=34913
+
+ Tests: fast/repaint/view-background-from-body-1.html
+ fast/repaint/view-background-from-body-2.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
+ null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
+ style changes.
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
+ repaint the view, in case the body’s background was propagated to the view.
+
2010-07-19 Adam Roben <aroben at apple.com>
Fix an assertion when a plugin returns -1 from NPP_Write
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index f8d9497..2020003 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -3,7 +3,7 @@
* (C) 1999 Antti Koivisto (koivisto at kde.org)
* (C) 2005 Allan Sandfeld Jensen (kde at carewolf.com)
* (C) 2005, 2006 Samuel Weinig (sam.weinig at gmail.com)
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -145,7 +145,9 @@ void RenderBox::styleWillChange(StyleDifference diff, const RenderStyle* newStyl
if (isFloating() && !isPositioned() && (newStyle->position() == AbsolutePosition || newStyle->position() == FixedPosition))
removeFloatingOrPositionedChildFromBlockLists();
}
- }
+ } else if (newStyle && isBody())
+ view()->repaint();
+
if (FrameView *frameView = view()->frameView()) {
bool newStyleIsFixed = newStyle && newStyle->position() == FixedPosition;
bool oldStyleIsFixed = style() && style()->position() == FixedPosition;
diff --git a/WebCore/rendering/RenderObjectChildList.cpp b/WebCore/rendering/RenderObjectChildList.cpp
index 6775537..323dc20 100644
--- a/WebCore/rendering/RenderObjectChildList.cpp
+++ b/WebCore/rendering/RenderObjectChildList.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -62,9 +62,12 @@ RenderObject* RenderObjectChildList::removeChildNode(RenderObject* owner, Render
// disappears gets repainted properly.
if (!owner->documentBeingDestroyed() && fullRemove && oldChild->m_everHadLayout) {
oldChild->setNeedsLayoutAndPrefWidthsRecalc();
- oldChild->repaint();
+ if (oldChild->isBody())
+ owner->view()->repaint();
+ else
+ oldChild->repaint();
}
-
+
// If we have a line box wrapper, delete it.
if (oldChild->isBox())
toRenderBox(oldChild)->deleteLineBoxWrapper();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list