[Webkit-unassigned] [Bug 116950] CSS parser improvements

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 11 17:32:32 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=116950





--- Comment #1 from Ryosuke Niwa <rniwa at webkit.org>  2013-06-11 17:31:08 PST ---
More:
https://chromium.googlesource.com/chromium/blink/+/9569b31a96104b56775dca59c0e540ce7c3fd40d
Adding initializer for CSSParserValue.

https://chromium.googlesource.com/chromium/blink/+/f392572c3bdb9db442cbf4d5a56602bae8e95e3e
Error reporting in @supports rule header.

https://chromium.googlesource.com/chromium/blink/+/b72198e815773b03b7d3f1eedfb0d9cd753f89d1
Fixing error recovery in block_rule_list. Prevoius code with save_block didn't work.
Now having "block_rule_list error rule_error_recovery" on the stack the parser may reduce it to "block_rule_list invalid_rule" if the tail looks like invalid_block (next token is '{') or to "block_rule_body" if next token is '}'.

https://chromium.googlesource.com/chromium/blink/+/d1ba305dbb02e30bc02e87c2848fe476be3f1d93
Fixing error recovery in media query.

https://chromium.googlesource.com/chromium/blink/+/38cc6cdbb0e1e4ff359ce5b6473c12188741296b
Resolving a conflict with page_selector in CSS grammar. if page selector is /* empty */ it is ambiguously surrounded by 2 maybe_space.

https://chromium.googlesource.com/chromium/blink/+/b486b6bd86c572de3895bf5bea2a72766c352cd9
Fixing 2 conflicts in CSS grammar (DISTRIBUTEDFUNCTION). "relative_selector" is based on "selector" which handles trailing whitespace. Rules for CUEFUNCTION, NOTFUNCTION and ANYFUNCTION do have maybe_space before ')'. It is because they use simple_selector_list which is different (doesn't handle trailing whitespace). Also removed "selector_with_trailing_whitespace" because it is longer than simply "selector WHITESPACE" what it represents.

https://chromium.googlesource.com/chromium/blink/+/2e4087aa70c014724125f8f986a3d92213fbe1c7
Fixing 15 conflicts in CSS grammar. expr nonterminal eats trailing whitespace itself.

https://chromium.googlesource.com/chromium/blink/+/e7d83e05b27327869ec5502dbb9b7af9e75a5f27
Fixing error recovery in @-webkit-filter rule.

https://chromium.googlesource.com/chromium/blink/+/075514814a58e94e0a22f2689b986971d1f0d2bb
Fixing one more conflict in CSS grammar. Grammar allows to reduce CSS like '@charset "xxx"; ...' to both maybe_charset and ignored_charset. Adding error into ignored charset resolves this conflict.

https://chromium.googlesource.com/chromium/blink/+/577b69fc1b03d7da268e8641470ae0cfffda083d
Simplifying error recovery in declaration list.

Now declaration handles all errors (instead of splitting error hendling among declaration, delaration_list and decl_list).

Changed error message when syntax error appear in a property value (now it is reported as invalid property value with whole value quited).
Previously it was used only for symantic errors.

CSS error filtering moved into frontend in order to make possible to test the change. The place where filtering happen is not the place where other messages are filtered. It needed in order to not affect warning counter (should filtering be moved entirely into ConsoleModel? I think situation when error counter shows 15 messages but console shoow 3 is confusing).

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list