New issue
Advanced search Search tips

Issue 618607 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Compat



Sign in to add a comment

Clamp the argument to filter functions grayscale, invert, opacity and sepia when they are > 100% (or 1), don't fail

Project Member Reported by f...@opera.com, Jun 9 2016

Issue description

The spec says the following for these functions:

"Values of amount over 100% are allowed but UAs must clamp the values to 1."

This is the behavior that Gecko and Edge implements.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46

commit 88fb78b89bcb21f7b11388cb3ea5edd3125b2a46
Author: fs <fs@opera.com>
Date: Fri Jun 10 08:29:12 2016

Clean up script-tests in css3/filters

Rewrite the parsing tests using
css-parser/resources/property-parsing-test.js and also use testharness
for the computed style test.

Drop css3/filters/filter-property.html since that is already covered by
the wider parsing tests. Also remove the template html file and inline
the scripts for effect-reference-reset-style-delete-crash.html [1] and
effect-reference-delete-crash.html, clearing out the script-tests sub-
directory.

[1] This test was actually referencing the
    effect-reference-delete-crash.js file, meaning it was a duplicate.

BUG= 618607 

Review-Url: https://codereview.chromium.org/2055733002
Cr-Commit-Position: refs/heads/master@{#399136}

[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/effect-reference-delete-crash.html
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash-expected.txt
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-computed-style-expected.txt
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/filter-property-computed-style.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-expected.txt
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-expected.txt
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-invalid-expected.txt
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-invalid.html
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/TEMPLATE.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/effect-reference-delete-crash.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/effect-reference-reset-style-delete-crash.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property-computed-style.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property-parsing-invalid.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property-parsing.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property.js

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2fd3378f869dd3f9b5564d1e9ae96a0691126356

commit 2fd3378f869dd3f9b5564d1e9ae96a0691126356
Author: fs <fs@opera.com>
Date: Fri Jun 10 09:43:47 2016

Clamp filter functions {grayscale, invert, opacity, sepia} to 100%

The spec says the following for these functions:

 "Values of amount over 100% are allowed but UAs must clamp the values
  to 1."

So do that rather than failing. This matches the behavior of Gecko and
Edge.

This fixes

http://test.csswg.org/suites/filters-1_dev/nightly-unstable/html/filter-grayscale-005.htm

from the CSS WG Filter Effects testsuite (w/ the property unprefixed.)

BUG= 618607 

Review-Url: https://codereview.chromium.org/2052883002
Cr-Commit-Position: refs/heads/master@{#399144}

[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/LayoutTests/css3/calc/number-parsing.html
[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-invalid.html
[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing.html
[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp

Comment 3 by f...@opera.com, Jun 10 2016

Owner: f...@opera.com
Status: Fixed (was: Available)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46

commit 88fb78b89bcb21f7b11388cb3ea5edd3125b2a46
Author: fs <fs@opera.com>
Date: Fri Jun 10 08:29:12 2016

Clean up script-tests in css3/filters

Rewrite the parsing tests using
css-parser/resources/property-parsing-test.js and also use testharness
for the computed style test.

Drop css3/filters/filter-property.html since that is already covered by
the wider parsing tests. Also remove the template html file and inline
the scripts for effect-reference-reset-style-delete-crash.html [1] and
effect-reference-delete-crash.html, clearing out the script-tests sub-
directory.

[1] This test was actually referencing the
    effect-reference-delete-crash.js file, meaning it was a duplicate.

BUG= 618607 

Review-Url: https://codereview.chromium.org/2055733002
Cr-Commit-Position: refs/heads/master@{#399136}

[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/effect-reference-delete-crash.html
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash-expected.txt
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-computed-style-expected.txt
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/filter-property-computed-style.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-expected.txt
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-expected.txt
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-invalid-expected.txt
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-invalid.html
[modify] https://crrev.com/88fb78b89bcb21f7b11388cb3ea5edd3125b2a46/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/filter-property.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/TEMPLATE.html
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/effect-reference-delete-crash.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/effect-reference-reset-style-delete-crash.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property-computed-style.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property-parsing-invalid.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property-parsing.js
[delete] https://crrev.com/15c873daec19bf34e8b3d4925c9668faaba5e634/third_party/WebKit/LayoutTests/css3/filters/script-tests/filter-property.js

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2fd3378f869dd3f9b5564d1e9ae96a0691126356

commit 2fd3378f869dd3f9b5564d1e9ae96a0691126356
Author: fs <fs@opera.com>
Date: Fri Jun 10 09:43:47 2016

Clamp filter functions {grayscale, invert, opacity, sepia} to 100%

The spec says the following for these functions:

 "Values of amount over 100% are allowed but UAs must clamp the values
  to 1."

So do that rather than failing. This matches the behavior of Gecko and
Edge.

This fixes

http://test.csswg.org/suites/filters-1_dev/nightly-unstable/html/filter-grayscale-005.htm

from the CSS WG Filter Effects testsuite (w/ the property unprefixed.)

BUG= 618607 

Review-Url: https://codereview.chromium.org/2052883002
Cr-Commit-Position: refs/heads/master@{#399144}

[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/LayoutTests/css3/calc/number-parsing.html
[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing-invalid.html
[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/LayoutTests/css3/filters/filter-property-parsing.html
[modify] https://crrev.com/2fd3378f869dd3f9b5564d1e9ae96a0691126356/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp

Comment 6 by suzyh@chromium.org, Apr 5 2017

Components: -Blink>CSS>Filters Blink>Compositing>Filters

Sign in to add a comment