Commit Graph

218 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
9fd496bc64 Bug 1678487 - Color-manage system colors from style too. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D104947
2021-03-08 02:02:42 +00:00
Emilio Cobos Álvarez
03a9e5e97f Bug 1678487 - Make CMSMode an enum class. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D104945
2021-02-13 03:59:23 +00:00
Emilio Cobos Álvarez
cbc69a5200 Bug 1678487 - Minor cleanups to nsXPLookAndFeel::GetColorValue. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D104943
2021-02-13 03:59:22 +00:00
Mihai Alexandru Michis
5576d0f08a Backed out 3 changesets (bug 1678487) for causing reftest failures.
CLOSED TREE

Backed out changeset f6519420f910 (bug 1678487)
Backed out changeset 9beae015d19b (bug 1678487)
Backed out changeset 029cc10d2477 (bug 1678487)
2021-02-13 05:18:54 +02:00
Emilio Cobos Álvarez
77a7101fad Bug 1678487 - Make CMSMode an enum class. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D104945
2021-02-13 02:15:22 +00:00
Emilio Cobos Álvarez
0edb8e957b Bug 1678487 - Minor cleanups to nsXPLookAndFeel::GetColorValue. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D104943
2021-02-13 02:15:21 +00:00
Brindusan Cristian
860beb5cdb Backed out 5 changesets (bug 1678487) for multiple failures. CLOSED TREE
Backed out changeset 00242b4230f2 (bug 1678487)
Backed out changeset 63612a51cfee (bug 1678487)
Backed out changeset bd0321ad1968 (bug 1678487)
Backed out changeset c6a4d3c17d39 (bug 1678487)
Backed out changeset 5de112a29a87 (bug 1678487)
2021-02-13 02:41:17 +02:00
Emilio Cobos Álvarez
6e677449c8 Bug 1678487 - Color-manage system colors from style too. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D104947
2021-02-12 23:30:02 +00:00
Emilio Cobos Álvarez
5d41c32c60 Bug 1678487 - Make CMSMode an enum class. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D104945
2021-02-12 23:23:31 +00:00
Emilio Cobos Álvarez
b021d740b7 Bug 1678487 - Minor cleanups to nsXPLookAndFeel::GetColorValue. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D104943
2021-02-12 23:23:30 +00:00
Emilio Cobos Álvarez
3d33a0dbf0 Bug 1692224 - Remove ui.use_native_colors. r=spohl
It's not set to false anywhere and the browser would be quite broken
with it set to false.

Differential Revision: https://phabricator.services.mozilla.com/D104906
2021-02-12 01:01:32 +00:00
Emilio Cobos Álvarez
faa4f3440a Bug 1692224 - Use standins for system colors pairs that paint over non-native theme widgets to guarantee contrast. r=spohl
Nothing like having the code already written for you :-)

Differential Revision: https://phabricator.services.mozilla.com/D104905
2021-02-12 01:01:31 +00:00
Emilio Cobos Álvarez
0aaf3abf29 Bug 1691781 - Make Linux tab bar use the darker of the highlight / highlighttext colors. r=dao
Some GTK themes use very soft colors for selection backgrounds, using
darker colors for the text. This makes the tab and focus outlines in the
tab bar not have sufficient contrast with usual backgrounds.

I needed to do this for bug 1690778, but it seems worth doing it on the
front-end as well.

Differential Revision: https://phabricator.services.mozilla.com/D104547
2021-02-11 16:36:54 +00:00
Emilio Cobos Álvarez
f289716ef6 Bug 1690778 - Derive accent color from theme highlight color in GTK. r=mstange
This makes form controls match the rest of the GTK theme like selection
colors, etc.

An alternative to this would be to just use non-native colors on GTK for
all content, but that seems somewhat unfortunate and we do the right
thing for scrollbars so...

I've tried on a variety of themes and this looks nice so far.

Differential Revision: https://phabricator.services.mozilla.com/D104496
2021-02-10 00:47:38 +00:00
Cameron McCormack
7ecd491d82 Bug 1683204 - Include content theme configuration details in FullLookAndFeel. r=spohl
And re-enable the RemoteLookAndFeel by default with Gtk.

When the RemoteLookAndFeel is enabled and the non-native theme is not
enabled, we still need to configure the Gtk theme in content processes,
since we're still using Gtk to paint widget backgrounds etc. Without
this, we can end up using LookAndFeel colors from a light theme but
painting widget backgrounds from a dark theme.

Other platforms don't configure themes for content processes
differently, so on those platforms LookAndFeelTheme is an empty struct
and we skip the ConfigureTheme call.

Differential Revision: https://phabricator.services.mozilla.com/D100223
2020-12-22 19:26:41 +00:00
Cameron McCormack
d23e8966e3 Bug 1672097 - Part 2: Cache FullLookAndFeel data. r=karlt
This avoids us doing the full work of ExtractData every time a new content
process is created.  That work is probably not super expensive, but without
this caching it does trip up
browser/base/content/test/performance/browser_preferences_usage.js due to
looking up a non-mirrored pref.

Differential Revision: https://phabricator.services.mozilla.com/D98990
2020-12-16 04:41:46 +00:00
Jed Davis
1b8abec1d6 Bug 1470983 - Remote all LookAndFeel values for the Gtk backend. r=spohl,jld
This adds a new LookAndFeel implementation, RemoteLookAndFeel, which can
be used in content processes and is supplied with all of its values by the
parent process.

Co-authored-by: Cameron McCormack <cam@mcc.id.au>

Differential Revision: https://phabricator.services.mozilla.com/D97977
2020-12-16 04:17:36 +00:00
Cameron McCormack
5e9c1838db Bug 1678540 - Refactor nsXPLookAndFeel::GetIntImpl etc. r=spohl
This will allow calling into NativeGetInt etc. to get native LookAndFeel values without
looking at the prefs.

Differential Revision: https://phabricator.services.mozilla.com/D97725
2020-11-20 23:52:47 +00:00
Cameron McCormack
9c7a28a837 Bug 1678540 - Don't provide default values for IntID::ScrollButtonLeftMouseButtonAction etc. r=spohl
This simplifies the way nsXPLookAndFeel::GetIntImpl and its overrides interact.

Differential Revision: https://phabricator.services.mozilla.com/D97724
2020-11-20 23:52:52 +00:00
Jed Davis
b63dc3a560 Bug 1657401 - Change LookAndFeel IPC to use IPDL structs. r=spohl
Aside from automating boilerplate, this will allow reusing some of these
structs for full LookAndFeel remoting in bug 1470983.

Differential Revision: https://phabricator.services.mozilla.com/D94531
2020-11-11 23:26:51 +00:00
Cameron McCormack
76c4bb2130 Bug 1676057 - Test. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D96499
2020-11-10 22:15:25 +00:00
Emilio Cobos Álvarez
aae08399a8 Bug 1668875 - Distinguish theme changes that can and cannot affect style/layout. r=tnikkel
This should make the optimization landed earlier in this bug apply for
some of the NotifyThemeChanged() calls in nsWindow.cpp which are causing
all the extra invalidations.

If we know that system colors/fonts didn't change, we can avoid doing a
bunch of reflow work and the patch from earlier in the bug can avoid
re-rasterizing images too.

Differential Revision: https://phabricator.services.mozilla.com/D94425
2020-10-27 10:24:40 +00:00
Cameron McCormack
661665bbaa Bug 1671401 - Use separate Scrollbar and ThemedScrollbar ColorIDs. r=spohl
Otherwise on Windows, we have a ColorID::Scrollbar but not any of the other scrollbar part
colors, and the Windows-provided value for Scrollbar doesn't work well
with the default values for the other scrollbar parts that come from the
non-native theme.

Differential Revision: https://phabricator.services.mozilla.com/D93728
2020-10-16 12:49:47 +00:00
Cameron McCormack
8ef9bdb1a8 Bug 1669368 - Use LookAndFeelCache to pass Gtk theme-derived scrollbar colors to content processes. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D93467
2020-10-15 04:54:41 +00:00
Cameron McCormack
3e0a4ed3c4 Bug 1670145 - Record telemetry on Gtk version and other theme related info. r=tdsmith,spohl
Differential Revision: https://phabricator.services.mozilla.com/D93051
2020-10-15 04:50:48 +00:00
Razvan Maries
3c2d9af799 Backed out 4 changesets (bug 1670694, bug 1670853, bug 1669368, bug 1670145) for build bustages on nsNativeBasicTheme.h. CLOSED TREE
Backed out changeset fcb1b57645e0 (bug 1669368)
Backed out changeset 6ac5b674c3b6 (bug 1670853)
Backed out changeset 913fd041e5dd (bug 1670145)
Backed out changeset 89504c0fb0cd (bug 1670694)
2020-10-15 07:45:35 +03:00
Cameron McCormack
6dcdda5366 Bug 1669368 - Use LookAndFeelCache to pass Gtk theme-derived scrollbar colors to content processes. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D93467
2020-10-15 00:24:09 +00:00
Cameron McCormack
e317370311 Bug 1670145 - Record telemetry on Gtk version and other theme related info. r=tdsmith,spohl
Differential Revision: https://phabricator.services.mozilla.com/D93051
2020-10-15 00:23:57 +00:00
Chris Martin
d7b136975a Bug 1652561 - Remote Win32k calls in nsLookAndFeel::GetFontImpl() r=emilio,geckoview-reviewers,agi,froydnj
Content processes will now receive cached values for GetFontImpl() from the
parent process during initialization and whenever the theme changes.

This eliminates the use of several Win32k calls in content.

Differential Revision: https://phabricator.services.mozilla.com/D83406
2020-07-31 16:21:44 +00:00
Zeke Medley
beba0d23dd Bug 1654918 - Improve prefers-contrast reftests with the ui.useAccessibilityTheme preference r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D84765
2020-07-29 20:27:42 +00:00
Simon Giesecke
ddffa12c0e Bug 1651930 - Add missing include in nsXPLookAndFeel.cpp. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D83048
2020-07-15 12:45:07 +00:00
Sylvestre Ledru
4f426b54e1 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D79795
2020-06-16 14:37:23 +00:00
Emilio Cobos Álvarez
f998ecc386 Bug 1640623 - Use enum classes for LookAndFeel int and float IDs. r=jmathies,geckoview-reviewers,esawin
Differential Revision: https://phabricator.services.mozilla.com/D76694
2020-06-11 11:27:43 +00:00
Colomban Wendling
1caab2b68a Bug 1628762 - Fix tree column header color to follow theme. r=geckoview-reviewers,snorp
The background color for the tree column headers is drawn using the
system APIs, but the foreground uses custom colors, which didn't follow
theme.  This can lead to unreadable text with specific colors, e.g.
leading to black on black.

Fix this by using system colors for the foreground as well.  It also
adds on-hover styling to match possible background change on hover.

Differential Revision: https://phabricator.services.mozilla.com/D78073
2020-06-03 20:52:55 +00:00
Kashav Madan
28a7ad7a0f Bug 1641929 - Replace uses of StaticPrefs::fission_autostart() with FissionAutostart(), r=nika
Differential Revision: https://phabricator.services.mozilla.com/D78799
2020-06-08 23:00:21 +00:00
Emilio Cobos Álvarez
8a40945fd2 Bug 1640264 - Simplify the "notify of theme changes in all windows" code in Android. r=geckoview-reviewers,agi
I want to do something similar in the child process, and turns out
we already kinda have something like this.

Differential Revision: https://phabricator.services.mozilla.com/D76535
2020-05-22 23:03:43 +00:00
Emilio Cobos Álvarez
d6d53000ee Bug 1609024 - Remove cache mechanism which is not very useful. r=hiro,snorp,mccr8
I don't think all this complexity is worth it for having a
marginally-more-realistic testing story. Using the pref just works and we should
do that, I think.

Differential Revision: https://phabricator.services.mozilla.com/D59980
2020-05-21 17:02:06 +00:00
Hiroyuki Ikezoe
dcb62f9db9 Bug 1610974 - Drop colorValue in LookAndFeelInt. r=geckoview-reviewers,snorp
It should have been dropped in bug 1606503, I did foget it.

Differential Revision: https://phabricator.services.mozilla.com/D60776
2020-01-24 15:01:48 +00:00
Hiroyuki Ikezoe
7fc8e966bd Bug 1606503 - Get the value for prefers-reduced-motion via LookAndFeelInt. r=geckoview-reviewers,snorp
With this change we have the same setup for prefers-reduced-motion so that
we can change the value with the same manner in automated tests.

Differential Revision: https://phabricator.services.mozilla.com/D59023
2020-01-14 05:51:06 +00:00
Hiroyuki Ikezoe
bcbce95bca Bug 1606503 - Move prefers-reduced-motion bits for testing into LookAndFeel. r=emilio
Now both of GTK and MacOSX backends use the same machinery, LookAndFeelInt, for
prefers-reduced-motion. And we are going to use it on Android as well so it'd
make sense to move the code into there.

On Windows we can also use the same LookAndFeelInt machinery and probably
all we have to do is to call SendNotifyMessage with SPI_SETCLIENTAREAANIMATION
in SetPrefersReducedMotionOverrideForTest.

Differential Revision: https://phabricator.services.mozilla.com/D59022
2020-01-14 05:50:53 +00:00
shindli
1edfb88ef5 Backed out 3 changesets (bug 1606503) for causing bustages in nsXPLookAndFeel.cpp CLOSED TREE
Backed out changeset 7e9d421335e0 (bug 1606503)
Backed out changeset 371f74475fb9 (bug 1606503)
Backed out changeset 8aada655d8bc (bug 1606503)
2020-01-14 05:07:14 +02:00
Hiroyuki Ikezoe
12fc1f3d5b Bug 1606503 - Get the value for prefers-reduced-motion via LookAndFeelInt. r=geckoview-reviewers,snorp
With this change we have the same setup for prefers-reduced-motion so that
we can change the value with the same manner in automated tests.

Differential Revision: https://phabricator.services.mozilla.com/D59023
2020-01-14 02:34:45 +00:00
Hiroyuki Ikezoe
05351dff90 Bug 1606503 - Move prefers-reduced-motion bits for testing into LookAndFeel. r=emilio
Now both of GTK and MacOSX backends use the same machinery, LookAndFeelInt, for
prefers-reduced-motion. And we are going to use it on Android as well so it'd
make sense to move the code into there.

On Windows we can also use the same LookAndFeelInt machinery and probably
all we have to do is to call SendNotifyMessage with SPI_SETCLIENTAREAANIMATION
in SetPrefersReducedMotionOverrideForTest.

Differential Revision: https://phabricator.services.mozilla.com/D59022
2020-01-14 02:17:47 +00:00
Cameron McCormack
f190c8595d Bug 1601846 - Record telemetry for whether the user has a dark mode OS theme. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D56130
2019-12-20 19:05:12 +00:00
Sam Mauldin
b8b63cd13a Bug 1592189 - Remove SpecialColorKeyword enum and merge into SystemColor r=emilio
Move all the entires of SpecialColorKeyword into SystemColor
and rearrange their computation to match.
Add the new SystemColor entries into the property list of nsXPLookAndFeel.

Differential Revision: https://phabricator.services.mozilla.com/D50903
2019-11-14 00:17:23 +00:00
Sam Mauldin
43a1a4df46 Bug 1592389 - Rename Mozfield / Mozfieldtext to Field and Fieldtext r=emilio
Split off of Bug 1590894
Rename these to support unprefixed version
Also add alias to keep compatibility

Differential Revision: https://phabricator.services.mozilla.com/D50989
2019-11-02 21:28:49 +00:00
Daniel Varga
8a98e1b6bf Backed out changeset ec25a8482342 (bug 1592389) for mochitest failure at layout/style/test/test_value_computation.html. On a CLOSED TREE 2019-10-30 10:17:29 +02:00
Sam Mauldin
f087a63a53 Bug 1592389 - Rename Mozfield / Mozfieldtext to Field and Fieldtext r=emilio
Split off of Bug 1590894
Rename these to support unprefixed version
Also add alias to keep compatibility

Differential Revision: https://phabricator.services.mozilla.com/D50989
2019-10-30 05:51:38 +00:00
Oana Pop Rus
c3a8682347 Backed out changeset 77357e0aa88e (bug 1584859) for wpt and mochitest failures. on a CLOSED TREE 2019-10-13 14:06:44 +03:00
Emilio Cobos Álvarez
639b406c76 Bug 1584859 - Make smooth scrolling conditional on reduced motion settings. r=dbaron
We could put this change itself behind a pref too, if we considered that worth
it. But probably not so.

Differential Revision: https://phabricator.services.mozilla.com/D48010
2019-10-13 09:16:26 +00:00