Bug 90073 - Use floating keyframe rule list when parsing @-webkit-keyframes and allow abrupt rule termination
Summary: Use floating keyframe rule list when parsing @-webkit-keyframes and allow abr...
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Alexander Pavlov (apavlov)
Depends on:
Reported: 2012-06-27 06:57 PDT by Alexander Pavlov (apavlov)
Modified: 2012-06-29 01:56 PDT (History)
7 users (show)

See Also:

Patch (8.14 KB, patch)
2012-06-28 03:36 PDT, Alexander Pavlov (apavlov)
no flags Details | Formatted Diff | Diff
Patch (8.16 KB, patch)
2012-06-28 04:56 PDT, Alexander Pavlov (apavlov)
koivisto: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Pavlov (apavlov) 2012-06-27 06:57:52 PDT
Currently, a StyleRuleKeyframes instance is created in the empty alternative of "keyframes_rule", which makes use of the left recursion. This is inconsistent with the current approach of "floating" lists used when parsing sequences of other objects (selectors, rules in a block rule, etc.) and requires complex constructs to implement the sourcecode data extraction for keyframes rules.

Also, the current grammar does not allow the abrupt termination of a @-webkit-keyframes rule (i.e. a missing closing brace), which is required by http://www.w3.org/TR/CSS21/syndata.html#parsing-errors (see bug 89980, which treats the same issue about the @font-face rule).
Comment 1 Alexander Pavlov (apavlov) 2012-06-28 03:36:48 PDT
Created attachment 149915 [details]
Comment 2 Build Bot 2012-06-28 04:52:21 PDT
Comment on attachment 149915 [details]

Attachment 149915 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13118005
Comment 3 Alexander Pavlov (apavlov) 2012-06-28 04:56:50 PDT
Created attachment 149927 [details]
Comment 4 Antti Koivisto 2012-06-29 01:31:48 PDT
Comment on attachment 149927 [details]

Comment 5 Alexander Pavlov (apavlov) 2012-06-29 01:56:07 PDT
Committed r121531: <http://trac.webkit.org/changeset/121531>