Commit graph

146 commits

Author SHA1 Message Date
Sylvestre Ledru
14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Martin Stransky
4138f8ce3b Bug 1521310 - [Linux/Gtk] Use ':' separator to place titlebar buttons left/right, r=dao
Use only ':' separator instead of 'menu:' to place titlebar buttons as the menu may not be always present.

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

--HG--
extra : moz-landing-system : lando
2019-01-24 10:54:28 +00:00
Martin Stransky
4452be5cba Bug 1519606 - [Linux/Gtk] Compute correct margin for left titlebar buttons placement, r=dao
Depends on D17347

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

--HG--
extra : moz-landing-system : lando
2019-01-24 09:22:30 +00:00
Martin Stransky
c9db5cb4d3 Bug 1519606 - [Linux/Gtk] Don't add margin to icon position at titlebar buttons as it's already applied at drawing, r=dao
Differential Revision: https://phabricator.services.mozilla.com/D17347

--HG--
extra : moz-landing-system : lando
2019-01-23 16:17:26 +00:00
Cosmin Sabou
7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Martin Stransky
8ddc948f81 Bug 1433667 - Honour system titlebar button left/right placement, r=dao
Differential Revision: https://phabricator.services.mozilla.com/D16466

--HG--
extra : moz-landing-system : lando
2019-01-18 13:52:29 +00:00
Martin Stransky
a9e92a6023 Bug 1497002 - [Linux/CSD] Position headerbar button icons according to the actual button, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D16193

--HG--
extra : moz-landing-system : lando
2019-01-11 11:24:06 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Martin Stransky
8449b576c3 Bug 1507423 - Implement StyleAppearance::MozWindowButtonBox on widget/gtk, r=mconley
Depends on D14242

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

--HG--
extra : moz-landing-system : lando
2018-12-18 19:06:08 +00:00
Martin Stransky
2e33d16018 Bug 1507423 - Don't return border/padding from MOZ_GTK_HEADER_BAR/MOZ_GTK_HEADER_BAR_MAXIMIZED, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D14242

--HG--
extra : moz-landing-system : lando
2018-12-18 10:47:48 +00:00
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09: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
Mike Conley
b299e6e7ad Bug 1506248 - Backout bug 1498356 (3df978f11b6d) since bug 1503272 makes it unnecessary now. r=stransky
Depends on D11524

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

--HG--
extra : moz-landing-system : lando
2018-11-12 12:16:50 +00:00
Mike Conley
606458ffcd Bug 1506248 - Backout bug 1498356 (d2b32aa2055f) since bug 1503272 makes it unnecessary now. r=stransky
Depends on D11523

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

--HG--
extra : moz-landing-system : lando
2018-11-12 12:15:28 +00:00
Jonathan Watt
b5bfd3a7ea Bug 1505316 p2. Rename aWidgetType to aAppearance in widget code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D11156

--HG--
extra : rebase_source : c908a6d6419c6462453cb8b745effc583d767902
extra : source : 07e12bc71a8d96b52b1a1bbc8dc7545ae4454a4f
2018-10-24 16:24:57 +01:00
Jonathan Watt
3922f1cb96 Bug 1500423. Make '-webkit-appearance: menulist-textfield' behave like Chrome. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D9339

--HG--
extra : rebase_source : afa3c037857838be2e18d4b47eaf64d318747de7
2018-10-19 18:12:15 +01:00
Martin Stransky
53bbcc32fb Bug 1498356 - Move border and padding from -moz-window-titlebar* to -moz-window-button-box on GTK backend, r=dao
This is based on patch by Mike Conley (:mconley)

The left/right toolbox placement can be adjusted later as we know at toolkit level where the buttons are
so we can set border/padding accordingly.

Depends on D8529

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

--HG--
extra : moz-landing-system : lando
2018-10-12 16:16:50 +00:00
Martin Stransky
6a1af65492 Bug 1498356 - Remove padding/border from -moz-window-titlebar*, r=dao
Differential Revision: https://phabricator.services.mozilla.com/D8529

--HG--
extra : moz-landing-system : lando
2018-10-12 16:16:57 +00:00
Martin Stransky
3595f59e15 Bug 1489963 - Draw scrollbars with Gtk widget state and use backdrop state for inactive scrollbars, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D6763

--HG--
extra : moz-landing-system : lando
2018-09-25 11:57:53 +00:00
Martin Stransky
f46e2e428f Bug 1442755 - Redraw titlebar widgets when application focus changes and draw inactive titlebar with GTK_STATE_FLAG_BACKDROP state, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D5582

--HG--
extra : moz-landing-system : lando
2018-09-12 11:03:56 +00:00
Cosmin Sabou
3a76399ecb Backed out changeset 19e2c611e889 (bug 1442755) for wpt reftest failures. CLOSED TREE 2018-09-11 15:11:02 +03:00
Martin Stransky
3d7f73594c Bug 1442755 - Redraw titlebar widgets when application focus changes and draw inactive titlebar with GTK_STATE_FLAG_BACKDROP state, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D5409

--HG--
extra : moz-landing-system : lando
2018-09-11 11:01:26 +00:00
Martin Stransky
7aca24afe9 Bug 1489499 - Don't call gtk_header_bar_get_decoration_layout() to get titlebar layout, r=jhorak
We don't set gtk_header_bar_set_decoration_layout() so we don't need to query the layout
by gtk_header_bar_get_decoration_layout(). That means we don't need to create the GtkHeaderBar
at startup when titlebar rendering is disabled.

Also unify window/header bar construction at CreateHeaderBarWidget() and assert when the widgets
are already created.

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

--HG--
extra : moz-landing-system : lando
2018-09-11 08:56:13 +00:00
Martin Stransky
a8d81f3a0b Bug 1408360 - Draw window decoration as a part of the GtkHeaderBar widget, r=jhorak
GtkWindow decoration is a part of GtkHeaderBar widget so we need to include
that in our GtkHeaderBar paint.

Depends on D4663

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

--HG--
extra : moz-landing-system : lando
2018-09-06 11:52:33 +00:00
Emilio Cobos Álvarez
517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Samuel Thibault
01084d60d8 Bug 1376756 - gtk: while drawing nsTreeBodyFrame, fetch current row attributes for proper style rendering. r=karlt 2018-06-27 05:11:00 +03:00
Martin Stransky
e12dbaec51 Bug 1461203 - use GetScrollbarMetrics() to access scrollbar metrics, r=jhorak
MozReview-Commit-ID: 3gnFNfxQJZi

--HG--
extra : rebase_source : 86174c8a28eb4737885fe4e4c5dc00e08811b0da
2018-05-17 14:40:21 +02:00
Martin Stransky
8a535137df Bug 1457194 - [Gtk+\CSD] Don't estimate window offset for Gtk+ < 3.20, r=jhorak
MozReview-Commit-ID: JtxujODEHBO

--HG--
extra : rebase_source : ff6a571ae1a882556cdc8074c35847c8e71ecdb6
2018-04-27 12:30:13 +02:00
Martin Stransky
81b1272512 Bug 1456898 - Implement and use solid-csd decoration style to get window offset when solid-csd is used by mShell toplevel window, r=jhorak
Implement and use solid-csd decoration style to get window offset when solid-csd is used by mShell toplevel window.
Also does not apply margin (resize handler sizes) on popup window as well as Gtk+ do in get_shadow_width().

MozReview-Commit-ID: 9xozp9CCVJj

--HG--
extra : rebase_source : 687993d60b8f2063ed31f07ba2d7ab9f1faa09c8
2018-04-26 13:55:41 +02:00
Martin Stransky
659fc0cc75 Bug 1454897 - Ubuntu/Ambiance - Render scrollbar thumb with different sizes in active/normal state, r=jhorak
This patch implements a workaround which alows us to emulate
overlay scrollbars for some Gtk+ themes (Ubuntu/Ambiance),
when an inactive scrollbar thumb is smaller than the active one.

We calculate thumb margin as thumb class margin + difference margin
between active and inactive scrollbars.

Also remove boolean parameter from GetScrollbarMetrics() and implement
GetActiveScrollbarMetrics() to get metrics for active scrollbar.

MozReview-Commit-ID: 2zje5OZskYw

--HG--
extra : rebase_source : dd50dc52d9d0942c9dcfbf72d217f3c6ee82c21a
2018-04-24 12:27:38 +02:00
Martin Stransky
fb7161e5e2 Bug 1453930 - Use gtk_style_context_get_state() instead of GTK_STATE_FLAG_NORMAL to get widget border/margin/padding, r=jhorak
MozReview-Commit-ID: 6FaUpaaBt2Q

--HG--
extra : rebase_source : d18abdcd89edc01dcae0218a03ad7afd1860e68b
2018-04-13 13:41:27 +02:00
Martin Stransky
efb19d9d96 Bug 1441665 - [Gtk] Update window offset explicitly when titlebar is disabled in CSD mode, r=jhorak
When system titlebar rendering is disabled and we're in CSD window mode, the window decorations are
rendered by client (application/Gtk) and we don't get _NET_FRAME_EXTENTS property (decoration size) update
for our toplevel window.

So we need to calculate the decoration/shadow size as Gtk+ does, we emulate get_shadow_width()
which is not exported by Gtk+.

MozReview-Commit-ID: K7o2rUPt6Yc

--HG--
extra : rebase_source : 86a3f12e760194b5828afed784f6aa02c352e017
2018-04-24 10:10:16 +02:00
Martin Stransky
04bb88d159 Bug 1355143 - Provide ScrollbarGTKMetrics for active (mouse over) scrollbars, r=jhorak
MozReview-Commit-ID: 95d1jeQ8mXd

--HG--
extra : rebase_source : 44fd8d0df747b0ad6f8f4c6cbee442f5710d4006
2018-04-18 11:05:46 +02:00
Martin Stransky
41ee718162 Bug 1439834 - Draw titlebar with some extent, r=dao
Some themes (Adwaita for instance) draws bold dark line at
titlebar bottom. It does not fit well with Firefox tabbar UI so
draw themed titlebar with some extent to make the titlebar
bottom part invisible (it's clipped by cairo).

MozReview-Commit-ID: 3rs4UzFJdPa

--HG--
extra : rebase_source : ca9270f549a3106711afac8ee0c7a30839ab2bf3
2018-02-28 14:28:40 +01:00
Martin Stransky
066945c7bc Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak
Some themes (Ambiance for instance) uses first-child/last-child css selectors
to style titlebar buttons. Ubuntu Ambiance theme places titlebar buttons closer
by negative margin applied to them.

We put titlebar buttons to GtkBox as well as Gtk+ does and also keep
the button order here to match first-child/last-child selectors. It also means
we must have maximize/restore as one button to keep the correct order.

MozReview-Commit-ID: 9mqljOa4Vu7

--HG--
extra : rebase_source : 9c31a2073d1bb247ce9d0240333143661b8ae4b8
2018-02-23 21:28:37 +01:00
Martin Stransky
6e94e535b0 Bug 1433092 - Add spacing around titlebar buttons, r=jhorak
GtkHeaderBar has property "spacing" which defines space between buttons at titlebar.
Get this property and apply as margin to titlebar buttons when there's more than one.
Also cache this value for furter use at titlebar metrics cache.

MozReview-Commit-ID: J7qAIWEnK4Y

--HG--
extra : rebase_source : 73f0f605444cf4e4ada3da335ff003e9df05c9c4
2018-02-23 10:37:07 +01:00
Gurzau Raul
67898ab5c2 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-02-21 19:32:45 +02:00
Martin Stránský
924797ef59 Bug 1434621 - part 2: ignore vertical titlebar padding from the Gtk+ theme since we set it with CSS on #titlebar-buttonbox. r=dao
MozReview-Commit-ID: ETrNNianj3e
2018-02-21 16:43:11 +01:00
Martin Stransky
fb13e4d63d Bug 1433068 - Titlebar/Linux - load and draw HiDPI titlebar icons on HiDPI screens, r=jhorak
MozReview-Commit-ID: KxbBvf6mgo1

--HG--
extra : rebase_source : f1c3b083d4e83684b1046a3c439d802de6547c21
2018-02-20 16:16:23 +01:00
Martin Stransky
f6623f64ce Bug 1433068 - Reload WidgetstyleCache when theme changes, r=jhorak
MozReview-Commit-ID: 1cZmJNWjS4N

--HG--
extra : rebase_source : 1e9406c2090b19049c37ac21eff11e05e0be2cc9
2018-02-20 13:15:52 +01:00
Martin Stransky
afa356a144 Bug 1408335 - Render titlebar icons as themed ones, r=jhorak
Render titlebar button icons as a part of -moz-window-button-* appearence. It allows us to
theme the icons accordingly. We add a GtkImage widget to header bar buttons as Gtk+ does and
store icon pixel data there and render it at moz_gtk_header_bar_button_paint() as a part
of the buttons. It means that the toolbar buttons are not containers and
moz_gtk_get_widget_border() returns zero border for them.

Also implement GetToolbarButtonMetrics() per button.

MozReview-Commit-ID: gkAu3VmE3q

--HG--
extra : rebase_source : d1df34537901342969d1e33524b414a2786df541
2018-01-25 11:13:12 +01:00
Martin Stransky
e77fe4bfe2 Bug 1427999 - Implement GetToolbarButtonMetrics() to get titlebar button size and border, r=jhorak
Titlebar button on Gtk+ >= 3.20 can have defined its size as min-width and min-height
and can leave CSS styles border/padding empty. To render the button icon at center we need to
calculate button widget border from gap between icon and button.

This is done by GetToolbarButtonMetrics() which also stores final values to
ToolbarButtonGTKMetrics cache.

MozReview-Commit-ID: 5sMJATWHUNX

--HG--
extra : rebase_source : b0bda7c78106088a819b98c197cbb0cd099e47df
2018-01-22 12:14:13 +01:00
Sylvestre Ledru
2c6660f219 Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman
MozReview-Commit-ID: 8W6VKIW8PQV

--HG--
extra : rebase_source : 23b5c300dd4bebe2b8808bdb03373073aab80b9f
2017-12-19 11:38:59 +01:00
lochang
e889dbe685 Bug 1417751 - Implement a new value inner-spin-button to -moz-appearance on all platforms except Android. r=mats
MozReview-Commit-ID: 7jpLCOWZA2x

--HG--
extra : rebase_source : d2a4d160d26e6f6996ed1cb3a673576236b8ef23
2017-11-29 10:43:13 +08:00
Cosmin Sabou
7d7b59dd0b Backed out changeset 423f4e43a975 (bug 1417751) for xpcshell failures at devtools/shared/tests/unit/test_css-properties-db.js r=backout on a CLOSED TREE 2017-11-28 13:50:59 +02:00
lochang
416f319bb8 Bug 1417751 - Implement a new value inner-spin-button to -moz-appearance on all platforms except Android. r=mats
MozReview-Commit-ID: 3I1LBLbCfmF

--HG--
extra : rebase_source : f9a356d592eac90d91a59de0c7ab0ded6ab80ab2
2017-11-28 10:39:50 +08:00
lochang
9214b56b5a Bug 1406268 - Use rect width/height instead of minimum width/height and clamp the rect on Linux. r=mats
MozReview-Commit-ID: B7KjnO9uaef

--HG--
extra : rebase_source : c4647b31b650dddd90df528ff1ac48f72d92fed5
2017-11-17 14:20:42 +08:00
Martin Stransky
b64b69ebdb Bug 1412010 - Add missing includes to gtk(3)drawing files, r=jhorak
MozReview-Commit-ID: B1RiTldOenE

--HG--
extra : rebase_source : 195bd1ea9f5c5ee9b744bfadcbe2589d801abb18
2017-10-26 20:14:53 +02:00
Martin Stransky
617b41cac0 Bug 1410885 - Implement border/padding helpers, r=jhorak
MozReview-Commit-ID: 24WU58W43n6

--HG--
extra : rebase_source : efcb94b91790cd3fb4924ffcee2f33baa2c00826
2017-10-23 15:16:02 +02:00
Martin Stransky
984f2babc2 Bug 1364843 - Implement drawing and size query of MOZ_GTK_HEADER_BAR*, r=jhorak
Based on patch by Andrew Comminos [:acomminos] <andrew@comminos.com>

MozReview-Commit-ID: 2d8BgLyOS5u

--HG--
extra : rebase_source : ff4aa230b22a3ae478211330b09f239f36705e12
2017-09-19 21:15:12 +02:00