Commit graph

85 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
cbb5b58f4d Bug 1772555 - Use style interpolation code for gradients. r=nical
This ensures they're clamped on Animated -> sRGB conversion, and in the
future we'll have to implement different color spaces so we'll need to
use it anyways.

Differential Revision: https://phabricator.services.mozilla.com/D149792
2022-06-22 23:02:34 +00:00
Iulian Moraru
0ebda972c1 Backed out changeset 003cad9bbcc6 (bug 1772555) for causing reftest failures on bugs/1315113-1.html. 2022-06-22 22:00:53 +03:00
Emilio Cobos Álvarez
827fe3a33e Bug 1772555 - Use style interpolation code for gradients. r=nical
This ensures they're clamped on Animated -> sRGB conversion, and in the
future we'll have to implement different color spaces so we'll need to
use it anyways.

Differential Revision: https://phabricator.services.mozilla.com/D149792
2022-06-22 17:00:56 +00:00
Daniel Holbert
cdc5972bff Bug 1754315: Fix non-unified build errors in layout/painting, and mark it as safe to build in non-unified mode. r=boris
Build errors fixed here:

layout/painting/DottedCornerFinder.cpp:33:1: error: no template named 'nsTHashMap'
(and similar for layout/painting/DashedCornerFinder.cpp)

* Fixed by including nsTHashMap.h

layout/painting/WindowRenderer.cpp:186:38: error: use of undeclared identifier 'Rect'; did you mean 'gfx::Rect'?
layout/painting/WindowRenderer.cpp:111:18: error: unknown type name 'PersistentBufferProvider'; did you mean 'layers::PersistentBufferProvider'?
(and more similar errors for e.g. `PersistentBufferProviderBasic::Create`, etc.)

* Fixed by adding 'using' statements.

layout/painting/WindowRenderer.cpp:117:8: error: use of undeclared identifier 'gfxPlatform'
layout/painting/WindowRenderer.cpp:148:57: error: member access into incomplete type 'mozilla::dom::AnimationEffect'
layout/painting/WindowRenderer.cpp:150:16: error: incomplete type 'mozilla::EffectSet' named in nested name specifier
layout/painting/WindowRenderer.cpp:211:26: error: member access into incomplete type 'mozilla::nsDisplayList'

* Fixed by including these types' headers.

layout/painting/HitTestInfo.cpp:67:32: error: use of undeclared identifier 'CompositorHitTestFlags'; did you mean 'gfx::CompositorHitTestFlags'?

* Fixed by adding 'using' statement.

layout/painting/nsCSSRenderingGradients.cpp:772:26: error: incomplete type 'nsLayoutUtils' named in nested name specifier

* Fixed by including nsLayoutUtils.h

layout/painting/nsCSSRenderingGradients.h:106:29: error: unknown type name 'gfxPattern'

* Fixed with a forward-decl.

layout/painting/nsCSSRenderingGradients.h:107:30: error: unknown type name 'gfxRect'

* Fixed with an include (can't use a forward-decl here; gfxRect is a typedef and hence can't really be forward-declared).

Differential Revision: https://phabricator.services.mozilla.com/D138219
2022-02-09 01:06:29 +00:00
Emilio Cobos Álvarez
7459740759 Bug 1709746 - Factor out some sRGBColor interpolation code. r=aosmond
I didn't end up needing this for bug 1709719, but I wrote it and might
be worth landing.

Differential Revision: https://phabricator.services.mozilla.com/D114429
2021-05-11 13:24:24 +00:00
Gerald Squelart
2416d881e2 Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian
There are no code changes, only #include changes.
It was a fairly mechanical process: Search for all "AUTO_PROFILER_LABEL", and in each file, if only labels are used, convert "GeckoProfiler.h" into "ProfilerLabels.h" (or just add that last one where needed).
In some files, there were also some marker calls but no other profiler-related calls, in these cases "GeckoProfiler.h" was replaced with both "ProfilerLabels.h" and "ProfilerMarkers.h", which still helps in reducing the use of the all-encompassing "GeckoProfiler.h".

Differential Revision: https://phabricator.services.mozilla.com/D104588
2021-02-16 04:44:19 +00:00
Simon Giesecke
ebbc7ae838 Bug 1642989 - Use RemoveLastElements instead of RemoveElementsAt where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78049
2020-06-08 08:50:15 +00:00
Ting-Yu Lin
0865183345 Bug 1638917 - Replace mozilla::Tuple with std::tuple in layout. r=emilio
Also, replace mozilla::Tie with std::tie, and use C++17 structured
binding at some places where they make sense.

Differential Revision: https://phabricator.services.mozilla.com/D75821
2020-05-19 03:59:23 +00:00
Chris Fronk
d5b004443b Bug 1143478 - Rename mozilla::Pair to CompactPair. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D64511

--HG--
rename : mfbt/Pair.h => mfbt/CompactPair.h
extra : moz-landing-system : lando
2020-03-17 12:42:12 +00:00
shindli
b02b3a6e1a Backed out changeset a08637fb30c8 (bug 1143478) for causing bustages in /builds/worker/checkouts/gecko/ipc/mscom/Registration.cpp CLOSED TREE
--HG--
rename : mfbt/CompactPair.h => mfbt/Pair.h
2020-03-11 14:30:54 +02:00
Chris Fronk
a27e438c2d Bug 1143478 - Rename mozilla::Pair to CompactPair. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D64511

--HG--
rename : mfbt/Pair.h => mfbt/CompactPair.h
extra : moz-landing-system : lando
2020-03-11 12:18:13 +00:00
Andrew Osmond
964c6a2c3f Bug 1616444 - Ensure gradients are properly color managed with WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66087

--HG--
extra : moz-landing-system : lando
2020-03-09 17:11:54 +00:00
Tim Nguyen
d7a0deeae7 Bug 1620951 - Fix definition of conic-gradient stopDelta in nsCSSGradientRenderer::Paint. r=emilio
I was working around stopDelta always being 0 for conic-gradient since it doesn't have a gradient line and disabled the essential normalization code. This patch fixes the definition of stopDelta for conic gradients and re-enables the normalization code.

Differential Revision: https://phabricator.services.mozilla.com/D65994

--HG--
extra : moz-landing-system : lando
2020-03-09 15:24:39 +00:00
Andrew Osmond
91b071ed14 Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel
gfx::Color is currently misused in many places. The DrawTargets expect
the color space to be in device space, e.g. what we are actually going
to draw using. Everything sitting above generally deals with sRGB, as
specified in CSS. Sometimes we missed the conversion from sRGB to device
space when issuing draw calls, and similarly sometimes we converted the
color to device space twice.

This patch splits the type in two. sRGBColor and DeviceColor now
represent sRGB and device color spaces respectively. DrawTarget only
accepts DeviceColor, and one can get a DeviceColor from an sRGBColor via
the ToDeviceColor helper API. The reftests now pass with color
management enabled for everything (e.g. CSS) instead of just tagged
raster images.

There will be a follow up patch to enable color management everywhere by
default on all supported platforms.

Differential Revision: https://phabricator.services.mozilla.com/D64771

--HG--
extra : moz-landing-system : lando
2020-03-09 14:16:17 +00:00
Tim Nguyen
6cec94d9be Bug 1620328 - Set conic-gradient angle range on Skia. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D65910

--HG--
extra : moz-landing-system : lando
2020-03-08 21:46:06 +00:00
Tim Nguyen
08ab9ceb1e Bug 1616587 - Implement conic-gradient for Skia graphics backend. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63415

--HG--
extra : moz-landing-system : lando
2020-02-21 00:12:47 +00:00
Csoregi Natalia
ff5e1dafb1 Backed out changeset bf981458da0c (bug 1616587) for bustage on DrawTargetCairo.cpp. CLOSED TREE 2020-02-21 02:07:11 +02:00
Tim Nguyen
edf9be08c3 Bug 1616587 - Implement conic-gradient for Skia graphics backend. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63415

--HG--
extra : moz-landing-system : lando
2020-02-20 23:50:06 +00:00
Csoregi Natalia
30fc2949d8 Backed out changeset 2d804daeaccb (bug 1616587) for bustages on DrawTargetCairo.cpp. CLOSED TREE 2020-02-21 01:19:36 +02:00
Tim Nguyen
41df136301 Bug 1616587 - Implement conic-gradient for Skia graphics backend. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63415

--HG--
extra : moz-landing-system : lando
2020-02-20 22:58:59 +00:00
Tim Nguyen
378e9808bf Bug 1615862 - Handle conic-gradients in nsCSSGradientRenderer for WebRender. r=emilio,mstange
Differential Revision: https://phabricator.services.mozilla.com/D63018

--HG--
extra : moz-landing-system : lando
2020-02-20 22:07:32 +00:00
Tim Nguyen
c15714cbeb Bug 1615489 - Refactor GenericGradient for conic-gradient support. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D62923

--HG--
extra : moz-landing-system : lando
2020-02-15 22:04:35 +00:00
Arthur Iakab
8fc81437b1 Backed out changeset 0721d0777474 (bug 1615489) for multiple build bustages.
DONTBUILD
CLOSED TREE
2020-02-15 21:50:33 +02:00
Tim Nguyen
cc1ec3b906 Bug 1615489 - Refactor GenericGradient for conic-gradient support. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D62923

--HG--
extra : moz-landing-system : lando
2020-02-15 19:07:54 +00:00
shindli
ef9b6edae2 Backed out changeset 07fc980b7ed8 (bug 1615489) for causing linux build bustages 2020-02-15 15:41:45 +02:00
Tim Nguyen
dc4ed94109 Bug 1615489 - Refactor GenericGradient for conic-gradient support. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D62923

--HG--
extra : moz-landing-system : lando
2020-02-15 13:16:36 +00:00
Tim Nguyen
5f5b496d2d Bug 1614648 - Make GradientItem and ColorStop support angular color stops. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D62544

--HG--
extra : moz-landing-system : lando
2020-02-12 18:22:51 +00:00
Emilio Cobos Álvarez
af75fc5d27 Bug 1609711 - Compute gradient positions in css pixels. r=jrmuizel
The gradient code is the only one that does a really weird thing with
LengthPercentage values, by getting the percentage and length separately and
turning the length into a percentage relative to the line length (which is in
device pixels).

This won't work once we have min() / max() / etc. in CSS (as we can't access
the length and percentage components separately, as which one you choose may
depend on the percentage basis). So instead of that, use the regular
ResolveToCssPixels there are lengths involved.

We change a bit the surrounding code to work in CSS pixels, so as to avoid
unneeded CSS -> device pixel conversions.

Differential Revision: https://phabricator.services.mozilla.com/D60159

--HG--
extra : moz-landing-system : lando
2020-01-23 09:18:21 +00:00
Cosmin Sabou
c562fe95c5 Backed out 2 changesets (bug 1609711) for causing reftest failures on radial-size-1b.html. CLOSED TREE
Backed out changeset 2857feeff01b (bug 1609711)
Backed out changeset 627ee9bf5573 (bug 1609711)

--HG--
extra : histedit_source : 35debdd9cdab035b9538972fff10cc556e724f74
2020-01-23 07:19:28 +02:00
Emilio Cobos Álvarez
049fa64ff0 Bug 1609711 - Compute gradient positions in css pixels. r=jrmuizel
The gradient code is the only one that does a really weird thing with
LengthPercentage values, by getting the percentage and length separately and
turning the length into a percentage relative to the line length (which is in
device pixels).

This won't work once we have min() / max() / etc. in CSS (as we can't access
the length and percentage components separately, as which one you choose may
depend on the percentage basis). So instead of that, use the regular
ResolveToCssPixels there are lengths involved.

We change a bit the surrounding code to work in CSS pixels, so as to avoid
unneeded CSS -> device pixel conversions.

Differential Revision: https://phabricator.services.mozilla.com/D60159

--HG--
extra : moz-landing-system : lando
2020-01-23 00:36:12 +00:00
Sylvestre Ledru
131d0c6a02 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35622

--HG--
extra : moz-landing-system : lando
2019-07-06 08:18:28 +00:00
Emilio Cobos Álvarez
67c30d05d2 Bug 1557212 - Use cbindgen for gradients. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D33901

--HG--
extra : moz-landing-system : lando
2019-06-07 14:13:17 +00:00
Emilio Cobos Álvarez
0593b77cc0 Bug 1547674 - Use rust types for gradient stops. r=boris
This doesn't clean up all that much, yet, but it's a step in the right
direction.

Differential Revision: https://phabricator.services.mozilla.com/D29168

--HG--
extra : moz-landing-system : lando
2019-04-30 20:37:54 +00:00
Emilio Cobos Álvarez
3a1e1a41c4 Bug 1541546 - Use the rust color representation. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D25976
2019-04-04 14:53:44 +02:00
Cosmin Sabou
8731816b89 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)

--HG--
rename : layout/style/StyleColor.cpp => layout/style/StyleComplexColor.cpp
rename : layout/style/StyleColorInlines.h => layout/style/StyleComplexColor.h
2019-04-04 15:04:25 +03:00
Emilio Cobos Álvarez
bc41ea853c Bug 1541546 - Use the rust color representation. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D25976

--HG--
extra : moz-landing-system : lando
2019-04-04 11:35:16 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Miko Mynttinen
b7eaedb6ea Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

Differential Revision: https://phabricator.services.mozilla.com/D3871

--HG--
extra : moz-landing-system : lando
2018-09-04 20:46:21 +00:00
Csoregi Natalia
5984db0879 Backed out 2 changesets (bug 1484966) for bustage on RefPtr.h:42. CLOSED TREE
Backed out changeset 7b246c8f9de8 (bug 1484966)
Backed out changeset 399158a0a9b3 (bug 1484966)
2018-09-04 23:42:36 +03:00
Miko Mynttinen
bb2d78e17e Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

Differential Revision: https://phabricator.services.mozilla.com/D3871

--HG--
extra : moz-landing-system : lando
2018-09-04 17:21:36 +00:00
Miko Mynttinen
2f3ec8cc90 Bug 1484966 - Part 1: Fix most clang-tidy warnings for layout/painting/ r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D3869

--HG--
extra : moz-landing-system : lando
2018-09-04 17:19:36 +00:00
Dan Glastonbury
7a5cb13bc2 Bug 1467379 - P1: nsStyleGradientStop - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: D9KQcv9uQ4S

--HG--
extra : rebase_source : 5a9bc69455c9c752a2be6a9579185400cce149df
2018-06-07 15:55:26 +10:00
Emilio Cobos Álvarez
5dd86ab547 Bug 1464589: Split nsCSSGradientRenderer::Create in smaller functions. r=rhunt
In particular, split the computation of the resolved stops into its own
function, and inside of it, the switch computing the specified length of a
gradient too, since in bug 1352643 there'll be two of those.

MozReview-Commit-ID: FSYzzAxNBbV

--HG--
extra : rebase_source : 9b3a0dc89c5c107adfa9a5e3743a709d3cac240c
2018-05-26 15:20:41 +02:00
Bas Schouten
2c2327c372 Bug 1427063: Have D2D interpret colors in premultiplied space. As it says is its default. r=rhunt
MozReview-Commit-ID: 5OWjHW1CqjN
2018-04-23 19:27:48 +02:00
Ryan Hunt
7e1a91f21c Add a fast path for tiled gradients with no pixel alignment or repeat spacing. (bug 1443912, r=mattwoodrow)
MozReview-Commit-ID: 2TKL2ohrex4

--HG--
extra : rebase_source : f458fa129b9448eb3dd196606b3f7268fa578cf0
2018-03-19 13:31:41 -05:00
Andreea Pavel
10de3b2d5a Backed out changeset 38fd94fbfdaf (bug 1443912) for QR crastest failures at /xpcom/string/crashtests/1113005.html a=backout 2018-03-27 15:01:23 +03:00
Ryan Hunt
f9ce570d9b Add a fast path for tiled gradients with no pixel alignment or repeat spacing. (bug 1443912, r=mattwoodrow)
MozReview-Commit-ID: 2TKL2ohrex4

--HG--
extra : rebase_source : 5f5f9af22f950fbdc0c695f2e2ad631a33607654
2018-03-19 13:31:41 -05:00
Emilio Cobos Álvarez
e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00