Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Unified Diff: LayoutTests/animations/keyframes-invalid-keys.html

Issue 13871007: Add CSS parser recovery from errors while parsing @-webkit-keyframes key values. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Brought the behavior closer to the spec, added another test Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/animations/keyframes-invalid-keys.html
diff --git a/LayoutTests/animations/keyframes.html b/LayoutTests/animations/keyframes-invalid-keys.html
similarity index 58%
copy from LayoutTests/animations/keyframes.html
copy to LayoutTests/animations/keyframes-invalid-keys.html
index 5205a2265645cd5746001e8ef5bca684d898d19a..c84de502c162750f08202ac358a0f556b2c3497d 100644
--- a/LayoutTests/animations/keyframes.html
+++ b/LayoutTests/animations/keyframes-invalid-keys.html
@@ -4,11 +4,18 @@
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Keyframes test</title>
+ <title>Keyframes with invalid keys</title>
<style type="text/css" media="screen">
+ @-webkit-keyframes "anim" {
+ 0, from { left: 100px; }
+ fromto { left: 100px; }
+ 50% { left: 3px; }
+ 60%, unknown { left: 100px; }
+ 100 { left: 100px; }
+ }
#box {
position: absolute;
- left: 0;
+ left: 3px;
top: 100px;
height: 100px;
width: 100px;
@@ -17,31 +24,26 @@
-webkit-animation-timing-function: linear;
-webkit-animation-name: "anim";
}
- @-webkit-keyframes "anim" {
- from { left: 50px; }
- 20% { left: 100px; }
- 40% { left: 100px; }
- 60% { left: 200px; }
- 80% { left: 200px; }
- to { left: 300px; }
- }
+
</style>
<script src="resources/animation-test-helpers.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
-
+
const expectedValues = [
// [animation-name, time, element-id, property, expected-value, tolerance]
- ["anim", 0.3, "box", "left", 100, 1],
- ["anim", 0.7, "box", "left", 200, 1],
+ ["anim", 0.2, "box", "left", 3, 1],
+ ["anim", 0.8, "box", "left", 3, 1],
];
-
+
runAnimationTest(expectedValues);
-
+
</script>
</head>
<body>
-This test performs an animation of the left property. It should stop for 100ms at 100px and 200px
-We test for those values 50ms after it has stopped at each position.
+This test performs an animation of the left property. It should always remain 3px, unless there are
+errors during parsing, resulting in other values in keyframes with bad keys.
+Four of the keyframes contain invalid keys, and should be discarded altogether
+("If a keyframe selector specifies negative percentage values or values higher than 100%, then the keyframe will be ignored", see <a href="http://www.w3.org/TR/css3-animations/#keyframes">http://www.w3.org/TR/css3-animations/#keyframes</a>).
<div id="box">
</div>
<div id="result">
« no previous file with comments | « no previous file | LayoutTests/animations/keyframes-invalid-keys-expected.txt » ('j') | Source/WebCore/css/CSSGrammar.y.in » ('J')

Powered by Google App Engine
This is Rietveld 408576698