Bug 92537

Summary: [CSS Shaders] CSS parser rejects parameter names that are also CSS keywords
Product: WebKit Reporter: Max Vujovic <mvujovic>
Component: CSSAssignee: Max Vujovic <mvujovic>
Status: RESOLVED FIXED    
Severity: Normal CC: achicu, cmarcelo, dglazkov, macpherson, menard, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
webkit.review.bot: commit-queue-
Archive of layout-test-results from gce-cr-linux-07
none
Patch
webkit.review.bot: commit-queue-
Archive of layout-test-results from gce-cr-linux-06
none
Patch
none
Patch
none
Patch none

Description Max Vujovic 2012-07-27 12:39:13 PDT
For example, the following does not parse because the parameter name "background" is also a CSS keyword:

-webkit-filter: custom(none url(fragment.shader), background 0 1 0 1)

According to the Filter Effects spec, it should parse. Parameter names are allowed to be any valid CSS identifier:
"""
<param-def>    <param-name>wsp<param-value>
<param-name>    <ident>
"""
https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html#feCustom
Comment 1 Max Vujovic 2012-07-30 11:09:49 PDT
Created attachment 155323 [details]
Patch
Comment 2 WebKit Review Bot 2012-07-30 12:27:54 PDT
Comment on attachment 155323 [details]
Patch

Attachment 155323 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13381877

New failing tests:
css3/filters/custom/custom-filter-property-parsing.html
Comment 3 WebKit Review Bot 2012-07-30 12:27:58 PDT
Created attachment 155339 [details]
Archive of layout-test-results from gce-cr-linux-07

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-07  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid
Comment 4 Max Vujovic 2012-07-30 14:00:23 PDT
Created attachment 155356 [details]
Patch

Added an end-to-end test in addition to the parsing test. Added Chromium V8-specific parsing expectations.
Comment 5 WebKit Review Bot 2012-07-30 14:34:40 PDT
Comment on attachment 155356 [details]
Patch

Attachment 155356 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13401173

New failing tests:
css3/filters/custom/custom-filter-css-keyword-as-parameter-name.html
Comment 6 WebKit Review Bot 2012-07-30 14:34:44 PDT
Created attachment 155366 [details]
Archive of layout-test-results from gce-cr-linux-06

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-06  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid
Comment 7 Max Vujovic 2012-07-30 15:56:59 PDT
Created attachment 155388 [details]
Patch

Added new test to Chromium TestExpectations for rebaselining on Win and Linux.
Comment 8 Max Vujovic 2012-07-31 09:59:11 PDT
Created attachment 155575 [details]
Patch

Added more detail to the ChangeLogs, per Dirk's request on IRC.
Comment 9 Max Vujovic 2012-07-31 10:03:46 PDT
Created attachment 155577 [details]
Patch

Reuploaded. Forgot to make a git --binary patch because of the pixel test.
Comment 10 Dirk Schulze 2012-07-31 10:28:41 PDT
Comment on attachment 155577 [details]
Patch

LGTM. r=me
Comment 11 WebKit Review Bot 2012-07-31 12:04:19 PDT
Comment on attachment 155577 [details]
Patch

Clearing flags on attachment: 155577

Committed r124233: <http://trac.webkit.org/changeset/124233>
Comment 12 WebKit Review Bot 2012-07-31 12:04:24 PDT
All reviewed patches have been landed.  Closing bug.