[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
simon.fraser at apple.com
simon.fraser at apple.com
Thu Dec 3 13:42:15 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 77d6ea3499486d7f40306fbf47a04386ee2814eb
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