[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 11:45:56 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit d8508d1e72932e22e0c620ad3e8284814069fcca
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Aug 6 01:54:40 2010 +0000
2010-08-05 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r63653.
http://trac.webkit.org/changeset/63653
https://bugs.webkit.org/show_bug.cgi?id=43592
regressed multiple background-images (Requested by smfr on
#webkit).
* manual-tests/css3-background-layer-count.html: Removed.
* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::fillUnsetProperties):
(WebCore::FillLayer::cullEmptyLayers):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::adjustBackgroundLayers):
(WebCore::InheritedFlags::adjustMaskLayers):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a713064..32a2186 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-08-05 Sheriff Bot <webkit.review.bot at gmail.com>
+
+ Unreviewed, rolling out r63653.
+ http://trac.webkit.org/changeset/63653
+ https://bugs.webkit.org/show_bug.cgi?id=43592
+
+ regressed multiple background-images (Requested by smfr on
+ #webkit).
+
+ * manual-tests/css3-background-layer-count.html: Removed.
+ * rendering/style/FillLayer.cpp:
+ (WebCore::FillLayer::fillUnsetProperties):
+ (WebCore::FillLayer::cullEmptyLayers):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::adjustBackgroundLayers):
+ (WebCore::InheritedFlags::adjustMaskLayers):
+
2010-08-05 Mark Rowe <mrowe at apple.com>
Reviewed by Jon Honeycutt.
diff --git a/WebCore/manual-tests/css3-background-layer-count.html b/WebCore/manual-tests/css3-background-layer-count.html
deleted file mode 100644
index fc21fd7..0000000
--- a/WebCore/manual-tests/css3-background-layer-count.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: Number of background properties greater than number of background images</title>
- <style type="text/css">
- div
- {
- margin: 10px;
- width: 250px;
- height: 250px;
- border: thick solid black;
- }
- #test
- {
- background-image: url("resources/non-animated.gif"), url("resources/non-animated.gif"), url("resources/non-animated.gif");
- background-position: right bottom, right top, left bottom, left center, right center;
- background-repeat: no-repeat, no-repeat, repeat-x, repeat, repeat-y;
- }
- #reference
- {
- background-image: url("resources/non-animated.gif"), url("resources/non-animated.gif"), url("resources/non-animated.gif");
- background-position: right bottom, right top, left bottom;
- background-repeat: no-repeat, no-repeat, repeat-x;
- }
- </style>
- </head>
- <body>
- <p>Test passes if the contents of the black boxes look exactly the same.</p>
- <table>
- <td>
- <div id="test"></div>
- </td>
- <td>
- <div id="reference"></div>
- </td>
- </table>
- </body>
-</html>
diff --git a/WebCore/rendering/style/FillLayer.cpp b/WebCore/rendering/style/FillLayer.cpp
index 3469e97..59f3bb2 100644
--- a/WebCore/rendering/style/FillLayer.cpp
+++ b/WebCore/rendering/style/FillLayer.cpp
@@ -129,6 +129,17 @@ bool FillLayer::operator==(const FillLayer& o) const
void FillLayer::fillUnsetProperties()
{
FillLayer* curr;
+ for (curr = this; curr && curr->isImageSet(); curr = curr->next()) { }
+ if (curr && curr != this) {
+ // We need to fill in the remaining values with the pattern specified.
+ for (FillLayer* pattern = this; curr; curr = curr->next()) {
+ curr->m_image = pattern->m_image;
+ pattern = pattern->next();
+ if (pattern == curr || !pattern)
+ pattern = this;
+ }
+ }
+
for (curr = this; curr && curr->isXPositionSet(); curr = curr->next()) { }
if (curr && curr != this) {
// We need to fill in the remaining values with the pattern specified.
@@ -232,27 +243,15 @@ void FillLayer::fillUnsetProperties()
void FillLayer::cullEmptyLayers()
{
- // CSS3 background layering: the number of background layers is determined
- // by the number of values in the 'background-image' property.
- // http://www.w3.org/TR/css3-background/#layering
-
FillLayer* next;
for (FillLayer* p = this; p; p = next) {
next = p->m_next;
- if (!next)
- break;
-
- bool anyAttributeSet = next->isXPositionSet()
- || next->isYPositionSet()
- || next->isAttachmentSet()
- || next->isClipSet()
- || next->isCompositeSet()
- || next->isOriginSet()
- || next->isRepeatXSet()
- || next->isRepeatYSet()
- || next->isSizeSet();
-
- if (!next->isImageSet() || !anyAttributeSet) {
+ if (next && !next->isImageSet() &&
+ !next->isXPositionSet() && !next->isYPositionSet() &&
+ !next->isAttachmentSet() && !next->isClipSet() &&
+ !next->isCompositeSet() && !next->isOriginSet() &&
+ !next->isRepeatXSet() && !next->isRepeatYSet()
+ && !next->isSizeSet()) {
delete next;
p->m_next = 0;
break;
diff --git a/WebCore/rendering/style/RenderStyle.h b/WebCore/rendering/style/RenderStyle.h
index e898065..df1b341 100644
--- a/WebCore/rendering/style/RenderStyle.h
+++ b/WebCore/rendering/style/RenderStyle.h
@@ -873,8 +873,8 @@ public:
void adjustBackgroundLayers()
{
if (backgroundLayers()->next()) {
- accessBackgroundLayers()->fillUnsetProperties();
accessBackgroundLayers()->cullEmptyLayers();
+ accessBackgroundLayers()->fillUnsetProperties();
}
}
@@ -884,8 +884,8 @@ public:
void adjustMaskLayers()
{
if (maskLayers()->next()) {
- accessMaskLayers()->fillUnsetProperties();
accessMaskLayers()->cullEmptyLayers();
+ accessMaskLayers()->fillUnsetProperties();
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list