Use floating keyframe rule list when parsing @-webkit-keyframes and allow abrupt...
authorapavlov@chromium.org <apavlov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2012 08:55:47 +0000 (08:55 +0000)
committerapavlov@chromium.org <apavlov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2012 08:55:47 +0000 (08:55 +0000)
commitcf8e041e6a247c5e689df7ee4a43dc794f09d5a7
tree5f6ccd409fa4692d09efd5dbd96e8036f09027fd
parentaef0fbb686f82f7a709749bd11a106f490f7b2de
Use floating keyframe rule list when parsing @-webkit-keyframes and allow abrupt rule termination
https://bugs.webkit.org/show_bug.cgi?id=90073

Reviewed by Antti Koivisto.

Source/WebCore:

- The grammar is changed to allow abruptly terminated stylesheet in the @-webkit-keyframes (use closing_brace, not '}').
- A floating StyleKeyframe vector is introduced to separate the creation and filling of StyleRuleKeyframes, as other rules do.

Test: fast/css/css-keyframe-unexpected-end.html

* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::createFloatingKeyframeVector):
(WebCore):
(WebCore::CSSParser::sinkFloatingKeyframeVector):
(WebCore::CSSParser::createKeyframesRule):
* css/CSSParser.h:

LayoutTests:

* fast/css/css-keyframe-unexpected-end-expected.txt: Added.
* fast/css/css-keyframe-unexpected-end.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/css/css-keyframe-unexpected-end-expected.txt [new file with mode: 0644]
LayoutTests/fast/css/css-keyframe-unexpected-end.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/css/CSSGrammar.y
Source/WebCore/css/CSSParser.cpp
Source/WebCore/css/CSSParser.h