Clamp non-finite inputs to legacy color formats at parse time #41803
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
web-platform-tests/interop#369
All legacy colors parse to
rgb( , , )
orrgba( , , , )
with integersin the range [0, 255] for the color channels and [0, 1] for alpha. Since
the channels are bounded, non finite inputs should resolve to the upper
bound for "infinity" and the lower bound for "-infinity" and "NaN".
The parser was also previously allowing unbounded alpha at parse time.
Alpha is also a bounded channel and non-finite inputs should be clamped
to [0, 1]. This behavior was previously untested, but is tested here
in new tests added to color-valid-rgb.html.
Bug: 1478766
Change-Id: I85602f4bffa046e1fd7652b33f119e468287e258
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4839697
Commit-Queue: Aaron Krajeski <[email protected]>
Reviewed-by: Rune Lillesveen <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1193043}