[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