Commit Graph
23 Commits
Author SHA1 Message Date
Norisz Fay b652a359e8 Backed out changeset 09a6e2a57a02 (bug 1847503) for causing canvas failures on canvas-display-p3-drawImage.https.html 2023-11-01 17:58:20 +02:00
Tiaan Louw ea3110b316 Bug 1847503 - Map colors into gamut limits before rendering. r=layout-reviewers,emilio
When colors are converted to sRGB to render onto the display, make sure
that they are within sRGB gamut limits.

Gamut mapping is implemented according to:
https://drafts.csswg.org/css-color-4/#gamut-mapping

The color-mix-non-srgb-001 test is checking the expected result in
sRGB, which happens to be out of gamut limits, but because the test
is for color-mix and not gamut mapping, I changed the expected
results to the color space of the mix.

The svg reftest now has an increased fuzzy to allow for the final colors
to be gamut mapped. Gamut mapping is dependent of available hardware, so
we can't pin down exact colors for the result.

Differential Revision: https://phabricator.services.mozilla.com/D191083
2023-11-01 08:28:33 +00:00
Narcis Beleuzu 14fa4e3a95 Backed out changeset e5e1bc9736a5 (bug 1847503) for reftest failures on anim-css-floodcolor-overflow-1-from-by.svg . CLOSED TREE 2023-11-01 03:22:46 +02:00
Tiaan Louw 25394ca6b3 Bug 1847503 - Map colors into gamut limits before rendering. r=layout-reviewers,emilio
When colors are converted to sRGB to render onto the display, make sure
that they are within sRGB gamut limits.

Gamut mapping is implemented according to:
https://drafts.csswg.org/css-color-4/#gamut-mapping

The color-mix-non-srgb-001 test is checking the expected result in
sRGB, which happens to be out of gamut limits, but because the test
is for color-mix and not gamut mapping, I changed the expected
results to the color space of the mix.

The svg reftest now has an increased fuzzy to allow for the final colors
to be gamut mapped. Gamut mapping is dependent of available hardware, so
we can't pin down exact colors for the result.

Differential Revision: https://phabricator.services.mozilla.com/D191083
2023-11-01 00:06:11 +00:00
Iulian Moraru 6fbd4db761 Backed out changeset 667d97f09248 (bug 1847503) for causing reftest failures on anim-css-fill-overflow-1-by.svg. CLOSED TREE 2023-10-18 19:04:41 +03:00
Tiaan Louw e91ba877f4 Bug 1847503 - Map colors into gamut limits before rendering. r=layout-reviewers,emilio
When colors are converted to sRGB to render onto the display, make sure
that they are within sRGB gamut limits.

Gamut mapping is implemented according to:
https://drafts.csswg.org/css-color-4/#gamut-mapping

The color-mix-non-srgb-001 test is checking the expected result in
sRGB, which happens to be out of gamut limits, but because the test
is for color-mix and not gamut mapping, I changed the expected
results to the color space of the mix.

Differential Revision: https://phabricator.services.mozilla.com/D191083
2023-10-18 14:16:40 +00:00
Tiaan Louw 33b1bb1d7a Bug 1813481 - Allow 'none' keyword in color components r=emilio,supply-chain-reviewers,devtools-reviewers
Make use of the new changes in the cssparser that allows 'none' keywords
in color components where allowed.  We store the none values as 0.0 (as
per the spec) and mark the components with the flags. This way we don't
have to check anything on the components before doing calculations.

As this is the last part intended to be released for the new [color-4]
changes, I've also enabled the changes on nightly.

Differential Revision: https://phabricator.services.mozilla.com/D170208
2023-03-16 11:50:55 +00:00
Marian-Vasile Laza 1336fae15a Backed out changeset 160ac6b5f726 (bug 1813481) for assertion failure on nsCSSRenderingGradients.cpp. 2023-03-16 01:50:39 +02:00
Tiaan Louw 6333a5b9c0 Bug 1813481 - Allow 'none' keyword in color components r=emilio,supply-chain-reviewers,devtools-reviewers
Make use of the new changes in the cssparser that allows 'none' keywords
in color components where allowed.  We store the none values as 0.0 (as
per the spec) and mark the components with the flags. This way we don't
have to check anything on the components before doing calculations.

As this is the last part intended to be released for the new [color-4]
changes, I've also enabled the changes on nightly.

Differential Revision: https://phabricator.services.mozilla.com/D170208
2023-03-15 21:10:43 +00:00
Tiaan Louw aff0f1c4d5 Bug 1817641 - Convert RGBA to AbsoluteColor for computed/animated/resolved CSS colors r=emilio
Computed color values will not be in the correct format, closer to the
one specified by the author.  This also means that colors accross the
code are stored now as AbsoluteColor or StyleAbsoluteColor.  This allows
color space/gamut information to be available for use.

Some animation related test failures had to be changed, because colors
now has greater precision.  Animated a color now causes a lot more
animation updates, which was not initially expected.  See the bug for
discussion.

Differential Revision: https://phabricator.services.mozilla.com/D171021
2023-03-07 11:28:15 +00:00
Tiaan Louw abd417f53d Bug 1352757 - Add lab(), lch(), oklab(), oklch() to specified colors. r=supply-chain-reviewers,emilio
Use new changes from cssparser and use the new lab/lch/oklab/oklch color
formats.

Introduced a new color type AbsoluteColor.  It represents any kind of
color that has absolute numerical values.  It is also tied to a color
space and therefore can be trivially converted to another color space.

Differential Revision: https://phabricator.services.mozilla.com/D163579
2023-01-20 10:55:51 +00:00
Cosmin Sabou 92a112221d Backed out changeset 218b12b92ccb (bug 1352757) for causing failures on test_transitions_per_property.html. 2023-01-19 19:34:50 +02:00
Tiaan Louw 989c929e7c Bug 1352757 - Add lab(), lch(), oklab(), oklch() to specified colors. r=supply-chain-reviewers,emilio
Use new changes from cssparser and use the new lab/lch/oklab/oklch color
formats.

Introduced a new color type AbsoluteColor.  It represents any kind of
color that has absolute numerical values.  It is also tied to a color
space and therefore can be trivially converted to another color space.

Differential Revision: https://phabricator.services.mozilla.com/D163579
2023-01-19 16:17:15 +00:00
Emilio Cobos Álvarez 7404feed44 Bug 1770829 - Use ColorMix for interpolated colors in the computed style rather than ComplexColorRatios. r=barret
This among other things preserves the right color-space when
interpolating currentColor.

Differential Revision: https://phabricator.services.mozilla.com/D147512
2022-06-03 19:11:07 +00:00
Emilio Cobos Álvarez bf3f53be94 Bug 1695369 - Simplify StyleColor representation. r=jwatt
There's no need for CurrentColor / Numeric variants when we can
represent them with the complex form.

Differential Revision: https://phabricator.services.mozilla.com/D106690
2021-03-01 16:05:14 +00:00
Emilio Cobos Álvarez 596d38471b Bug 1554716 - Remove nsStyleColor moving the color property to nsStyleText. r=jfkthame
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.

Differential Revision: https://phabricator.services.mozilla.com/D32726
2019-05-31 14:48:22 +00:00
Sylvestre Ledru 72e7e7d7e7 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D27245
2019-04-12 13:14:25 +00:00
Emilio Cobos Álvarez 512b1b35d0 Bug 760345 - Remove the last usage of lossy currentcolor. r=heycam
We don't have lossy currentcolor in the style system anymore, except for a
single property -moz-font-smoothing-background-color.

I could've converted it into a proper StyleColor and thread down all the
necessary information to the font metrics code.

But it doesn't really seem worth it given it's not exposed to the web, so I just
did the simplest thing, which is making currentcolor compute to transparent to
that specific property.

This patch also removes the stores_complex_colors_lossily code and related,
since now we always can cache computed colors.

Differential Revision: https://phabricator.services.mozilla.com/D26187
2019-04-06 17:47:58 +00:00
Brindusan Cristian ec78565ab3 Backed out changeset 1ea4b3582033 (bug 760345) for build bustages at ia2AccessibleComponent.cpp. 2019-04-05 07:49:09 +03:00
Emilio Cobos Álvarez 23e11d36bb Bug 760345 - Remove the last usage of lossy currentcolor. r=heycam
We don't have lossy currentcolor in the style system anymore, except for a
single property -moz-font-smoothing-background-color.

I could've converted it into a proper StyleColor and thread down all the
necessary information to the font metrics code.

But it doesn't really seem worth it given it's not exposed to the web, so I just
did the simplest thing, which is making currentcolor compute to transparent to
that specific property.

This patch also removes the stores_complex_colors_lossily code and related,
since now we always can cache computed colors.

Differential Revision: https://phabricator.services.mozilla.com/D26187
2019-04-04 22:06:03 +00:00
Emilio Cobos Álvarez 63eaf7030d Bug 1541546 - Use only the new name for StyleColor. r=heycam
That is, change all uses of StyleComplexColor to just StyleColor.

Differential Revision: https://phabricator.services.mozilla.com/D25977
2019-04-04 14:53:47 +02:00
Cosmin Sabou bb77d51f88 Backed out 3 changesets (bug 1541546) for causing build bustages. CLOSED TREE
Backed out changeset 895863144707 (bug 1541546)
Backed out changeset 4da6fb98e8f9 (bug 1541546)
Backed out changeset ba71816514eb (bug 1541546)
2019-04-04 15:04:25 +03:00
Emilio Cobos Álvarez ab84198a6f Bug 1541546 - Use only the new name for StyleColor. r=heycam
That is, change all uses of StyleComplexColor to just StyleColor.

Differential Revision: https://phabricator.services.mozilla.com/D25977
2019-04-04 11:35:33 +00:00