[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

simon.fraser at apple.com simon.fraser at apple.com
Wed Apr 7 23:53:36 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 2790624767ec35f268144c19b51370629091d3b2
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Nov 22 00:18:46 2009 +0000

    2009-11-21  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Dan Bernstein.
    
            CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
            https://bugs.webkit.org/show_bug.cgi?id=31588
    
            In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
            so that findRule() and deleteRule() work with these keywords.
    
            * css/WebKitCSSKeyframesRule.cpp:
            (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 9d74ab3..5709ae3 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2009-11-21  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
+        https://bugs.webkit.org/show_bug.cgi?id=31588
+        
+        Add tests for finding and deleting keyframes using 'from' and 'to'.
+
+        * animations/keyframes-rule-expected.txt:
+        * animations/keyframes-rule.html:
+
 2009-11-20  Chris Fleizach  <cfleizach at apple.com>
 
         Reviewed by Beth Dakin.
diff --git a/LayoutTests/animations/keyframes-rule-expected.txt b/LayoutTests/animations/keyframes-rule-expected.txt
index 2123478..51aa8dc 100644
--- a/LayoutTests/animations/keyframes-rule-expected.txt
+++ b/LayoutTests/animations/keyframes-rule-expected.txt
@@ -43,6 +43,13 @@ Find a rule
 PASS rule.type is window.CSSRule.WEBKIT_KEYFRAME_RULE
 PASS rule.cssText is '50% { left: 30px; }'
 
+Find a rule using from and to
+PASS keyframesFromTo.type is window.CSSRule.WEBKIT_KEYFRAMES_RULE
+PASS rule.type is window.CSSRule.WEBKIT_KEYFRAME_RULE
+PASS rule.cssText is '0% { left: 10px; }'
+PASS rule.type is window.CSSRule.WEBKIT_KEYFRAME_RULE
+PASS rule.cssText is '100% { left: 20px; }'
+
 Try to find a rule that doesn't exist
 PASS Non-existent rule was not found
 
@@ -52,6 +59,12 @@ PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
 PASS rules2.item(0).keyText is '0%'
 PASS rules2.item(1).keyText is '100%'
 
+Delete a from rule
+PASS rulesFromTo.length is 2
+PASS rulesFromTo.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
+PASS rulesFromTo.item(0).keyText is '50%'
+PASS rulesFromTo.item(1).keyText is '100%'
+
 Delete a rule that doesn't exist
 PASS rules2.length is 2
 PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
diff --git a/LayoutTests/animations/keyframes-rule.html b/LayoutTests/animations/keyframes-rule.html
index 97bad7a..fda6652 100644
--- a/LayoutTests/animations/keyframes-rule.html
+++ b/LayoutTests/animations/keyframes-rule.html
@@ -11,6 +11,11 @@
     50% { left: 30px; }
     100% { left: 20px; }
   }
+  @-webkit-keyframes test-from-to {
+    from { left: 10px; }
+    50% { left: 30px; }
+    to { left: 20px; }
+  }
 </style>
 <script src="../fast/js/resources/js-test-pre.js"></script>
 </head>
@@ -109,6 +114,19 @@ shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE");
 shouldBe("rule.cssText", "'50% { left: 30px; }'");
 
 debug("");
+debug("Find a rule using from and to");
+
+var keyframesFromTo = document.styleSheets.item(1).cssRules.item(2);
+shouldBe("keyframesFromTo.type", "window.CSSRule.WEBKIT_KEYFRAMES_RULE");
+rule = keyframesFromTo.findRule("From");
+shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE");
+shouldBe("rule.cssText", "'0% { left: 10px; }'");
+
+rule = keyframesFromTo.findRule("TO");
+shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE");
+shouldBe("rule.cssText", "'100% { left: 20px; }'");
+
+debug("");
 debug("Try to find a rule that doesn't exist");
 
 rule = keyframes2.findRule("70%");
@@ -128,6 +146,16 @@ shouldBe("rules2.item(0).keyText", "'0%'");
 shouldBe("rules2.item(1).keyText", "'100%'");
 
 debug("");
+debug("Delete a from rule");
+keyframesFromTo.deleteRule("0%");
+var rulesFromTo = keyframesFromTo.cssRules;
+shouldBe("rulesFromTo.length", "2");
+shouldBe("rulesFromTo.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE");
+shouldBe("rulesFromTo.item(0).keyText", "'50%'");
+shouldBe("rulesFromTo.item(1).keyText", "'100%'");
+
+
+debug("");
 debug("Delete a rule that doesn't exist");
 
 keyframes2.deleteRule("70%");
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 86a265d..2602915 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2009-11-21  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
+        https://bugs.webkit.org/show_bug.cgi?id=31588
+        
+        In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
+        so that findRule() and deleteRule() work with these keywords.
+
+        * css/WebKitCSSKeyframesRule.cpp:
+        (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
+
 2009-11-21  Daniel Bates  <dbates at webkit.org>
 
         Reviewed by Eric Seidel.
diff --git a/WebCore/css/WebKitCSSKeyframesRule.cpp b/WebCore/css/WebKitCSSKeyframesRule.cpp
index 440d7a2..23f9f34 100644
--- a/WebCore/css/WebKitCSSKeyframesRule.cpp
+++ b/WebCore/css/WebKitCSSKeyframesRule.cpp
@@ -108,8 +108,16 @@ WebKitCSSKeyframeRule* WebKitCSSKeyframesRule::findRule(const String& s)
 
 int WebKitCSSKeyframesRule::findRuleIndex(const String& key) const
 {
+    String percentageString;
+    if (equalIgnoringCase(key, "from"))
+        percentageString = "0%";
+    else if (equalIgnoringCase(key, "to"))
+        percentageString = "100%";
+    else
+        percentageString = key;
+
     for (unsigned i = 0; i < length(); ++i) {
-        if (item(i)->keyText() == key)
+        if (item(i)->keyText() == percentageString)
             return i;
     }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list