Bug 109770 - [CSS Shaders] Parse src property in @-webkit-filter at-rules
Summary: [CSS Shaders] Parse src property in @-webkit-filter at-rules
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Max Vujovic
URL:
Keywords:
Depends on:
Blocks: 71392
  Show dependency treegraph
 
Reported: 2013-02-13 16:35 PST by Max Vujovic
Modified: 2013-02-15 11:56 PST (History)
8 users (show)

See Also:


Attachments
Patch for Review (41.25 KB, patch)
2013-02-14 10:39 PST, Max Vujovic
dino: review+
mvujovic: commit-queue-
Details | Formatted Diff | Diff
Patch for Landing (42.23 KB, patch)
2013-02-15 10:13 PST, Max Vujovic
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Max Vujovic 2013-02-13 16:35:14 PST
The Filter Effects spec [1] specifies the syntax for CSS "src" property in for @filter at-rules:
src: [ <uri> [format(<string>)]?]#

In practice, it can look like:
src: url(shader.vs) format('x-shader/x-vertex'), url(shader.fs) format('x-shader/x-fragment');

This src property is similar to the src property in CSS font-face rules, but a little different. The CSS Fonts spec [2] specifies:
src: [ <uri> [format(<string>#)]? | <font-face-name> ]#
The syntax for a <font-face-name> is a unique font face name enclosed by "local(" and ")".

Unlike the filter src property, the font face src property accepts the local function [e.g. src: local("SomeFont");]. Also, the font face src property accepts a list of strings instead of just one string in its format function.

[1]: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-src
[2]: http://www.w3.org/TR/css3-fonts/#src-desc
Comment 1 Max Vujovic 2013-02-14 10:39:44 PST
Created attachment 188381 [details]
Patch for Review
Comment 2 Dean Jackson 2013-02-14 17:05:01 PST
Comment on attachment 188381 [details]
Patch for Review

Great tests!
Comment 3 Max Vujovic 2013-02-15 10:13:29 PST
Created attachment 188596 [details]
Patch for Landing

Thanks!

Rebased patch. Added one more positive test case for no whitespace between URL and format [e.g. src: url(shader.vs)format('x-shader/x-vertex'); ]. Rerunning the bots before I set cq+.
Comment 4 Max Vujovic 2013-02-15 10:37:51 PST
Comment on attachment 188596 [details]
Patch for Landing

Chromium bots look good. Setting cq+.
Comment 5 WebKit Review Bot 2013-02-15 10:52:12 PST
Comment on attachment 188596 [details]
Patch for Landing

Rejecting attachment 188596 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=gce-cq-01', 'validate-changelog', '--non-interactive', 188596, '--port=chromium-xvfb']" exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
_by_irc_nickname(string_in_lowercase)
  File "/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/common/config/committers.py", line 753, in contributor_by_name
    return self._name_to_contributor_map().get(name.lower()) if name else None
  File "/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/common/config/committers.py", line 634, in _name_to_contributor_map
    assert(contributor.full_name.lower() not in self._contributors_by_name)  # We should never have duplicate names.
AssertionError

Full output: http://queues.webkit.org/results/16580927
Comment 6 Max Vujovic 2013-02-15 11:27:52 PST
Comment on attachment 188596 [details]
Patch for Landing

Setting cq+ again.

Commit-queue was broken, but it should be fixed now:
http://trac.webkit.org/changeset/143017/trunk/Tools/Scripts/webkitpy/common/config/committers.py
Comment 7 WebKit Review Bot 2013-02-15 11:56:37 PST
Comment on attachment 188596 [details]
Patch for Landing

Clearing flags on attachment: 188596

Committed r143028: <http://trac.webkit.org/changeset/143028>
Comment 8 WebKit Review Bot 2013-02-15 11:56:41 PST
All reviewed patches have been landed.  Closing bug.