Граф коммитов

2039 Коммитов

Автор SHA1 Сообщение Дата
Karl Tomlinson 3e1c2db5be bug 1590965 call gtk_clipboard_store() from an event r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D50538

--HG--
extra : moz-landing-system : lando
2019-11-07 22:42:13 +00:00
Karl Tomlinson 8058c82dba Bug 1590965 call gtk_clipboard_store() regardless of whether Gecko is providing the clipboard r=stransky
This stores the clipboard even if it was set in a GTK dialog.

Depends on D50764

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:42:15 +00:00
Andrew McCreight f922f43922 Bug 1595828 - Fix some include guards. r=froydnj
The formatting change presumably happens because clang-format treats
include guards differently.

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

--HG--
extra : moz-landing-system : lando
2019-11-12 17:27:20 +00:00
Karl Tomlinson 142c229418 bug 1590965 clear GtkClipboard on nsIClipboard::EmptyClipboard r=stransky
This notifies GTK that the data is no longer available for clipboard_get_cb(),
so that GTK will no longer advertise nor attempt to store the data.

The clipboard is not cleared immediately before it is set in case that might
trigger a system clipboard manager to take ownership of the selection, which
could lead to gtk_clipboard_set_with_data() failing to take ownership back due
to an older timestamp.

This also fixes a GtkTargetList leak.

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

--HG--
extra : moz-landing-system : lando
2019-11-11 11:24:56 +00:00
Masayuki Nakano 0f9b3a05da Bug 1594215 - Make `PuppetWidget::GetEditCommands()` check `mBrowserChild` before using it r=smaug
The reason of the crash is, the window may have already been destroyed and
`PuppetWidget::mBrowserChild` was set to `nullptr` when synthesizing key event.

This patch makes `PuppetWidget::GetEditCommands()` check whether it's `nullptr`
and returns whether it's succeeded or not.  Therefore, `TextInputProcessor`
can throw exception in such case.

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

--HG--
extra : moz-landing-system : lando
2019-11-08 11:32:51 +00:00
Martin Stransky 54ae606371 Bug 1593408 [Wayland] Position mozcontainer wayland subsurface at moz_container_move(), r=jhorak
WebRender does not call moz_container_get_wl_egl_window() before each frame so mozcontainer
is not positioned properly here.

As a fix position mozcontainer directly at moz_container_move() if there are resources
for it.

Also always call moz_container_get_wl_surface() at moz_container_get_wl_egl_window()
to make sure an underlying mozcontainer surface is properly positioned.

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

--HG--
extra : moz-landing-system : lando
2019-11-08 14:28:39 +00:00
Martin Stransky f677c03233 Bug 1589642 - Use gfxPlatformGtk instead of GDK_IS_X11_DISPLAY(gdk_display_get_default() to check current dispay type, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49724

--HG--
extra : moz-landing-system : lando
2019-11-07 14:28:55 +00:00
Martin Stransky 17cc08c81c Bug 1594729 [Wayland] Mark mozcontainer as moved at moz_container_get_wl_surface(), r=jhorak
Also rename surface_position_update to surface_position_needs_update to make it more clear.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 15:41:24 +00:00
Razvan Maries 67e6a22efa Backed out changeset e1e3835cafc7 (bug 1589642) for build bustages on nsClipboard.cpp. CLOSED TREE 2019-11-07 15:03:59 +02:00
Martin Stransky a2d726855c Bug 1589642 - Use gfxPlatformGtk instead of GDK_IS_X11_DISPLAY(gdk_display_get_default() to check current dispay type, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49724

--HG--
extra : moz-landing-system : lando
2019-11-07 12:30:00 +00:00
Martin Stransky d1e715dc78 Bug 1594688 [Wayland] Don't use mUseDMABuf directly, query UseDMABufBackend() instead as mUseDMABuf is initialized there, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D52142

--HG--
extra : moz-landing-system : lando
2019-11-07 12:15:44 +00:00
Martin Stransky 48cfdc00e3 Bug 1594692 [Wayland] Keep texture for framebuffer object at dmabuf surface, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D52143

--HG--
extra : moz-landing-system : lando
2019-11-07 12:29:56 +00:00
Jim Mason 1be2b74935 Bug 969322 - make :-moz-window-inactive state follow GDK_WINDOW_STATE_FOCUSED when drawing in titlebar r=karlt,stransky
This patch fixes activation of the :-moz-window-inactive pseudoclass in client side decoration during drag operations.  It depends on and complements the fixes provided in support of Bug 1491808.

Obsoletes D50445

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:49:07 +00:00
Martin Stransky 486a8209db Bug 1592933 - [Wayland] Cache scale factor for toplevel windows, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D51253

--HG--
extra : moz-landing-system : lando
2019-11-06 13:18:55 +00:00
Martin Stransky 93728f0682 Bug 1592933 - [Wayland] Get scale factor from nsWindow::GdkScaleFactor() and set it when wl_surface/egl_window is used for rendering, r=jhorak
Remove moz_container_get_scale() and use only nsWindow::GdkScaleFactor() to get scale factor for wl_surface and wl_egl_window.
Always set the scale factor when wl_surface / wl_egl_window is queued for rendering.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 13:18:43 +00:00
Brindusan Cristian 817b88aae9 Backed out 4 changesets (bug 1590965) as requested by karlt on irc. CLOSED TREE
Backed out changeset f68c212c8b2a (bug 1590965)
Backed out changeset 1ced33f66353 (bug 1590965)
Backed out changeset 22f28d146e38 (bug 1590965)
Backed out changeset 70331e97107e (bug 1590965)
2019-11-06 02:32:29 +02:00
Sam Mauldin 16993481ab 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

--HG--
extra : moz-landing-system : lando
2019-11-02 21:28:49 +00:00
Martin Stransky 724a9d7e4f Bug 1583732 [Wayland] Use DMABUF for fullscreen updates only, r=jhorak
Add IsDMABufBuffer identification to WindowBackBuffer

Use two sets of wayland buffers (shm and dmabuf) and use dmabuf for fullscreen updates only
when dmabuf is enabled.

Split GetWaylandBufferToDraw() to GetWaylandBufferRecent() and GetWaylandBufferWithSwitch()
to better reflect actual function.

Add CreateWaylandBuffer() to create and store Wayland buffer and use it at SetNewWaylandBuffer()
to change an active wayland buffer or create a new one.

When CACHE_MISSING image cache is selected we draw directly to wayland buffer if it's available
and cache drawing when wayland buffer is missing only. That produces flickering when small buffer parts are
sent to compositor early and the buffer is blocked for further rendering.

This patch enables direct rendering of bigger screen parts only (like page scrolling) to eliminate small
buffer updates.

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

--HG--
extra : moz-landing-system : lando
2019-11-01 21:11:06 +00:00
Martin Stransky 04afc29457 Bug 1592350 [Wayland] Call wl_surface_commit() on parent surface when subsurface position is updated, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D51133

--HG--
extra : moz-landing-system : lando
2019-10-31 19:00:30 +00:00
Karl Tomlinson 28ea5a2234 Bug 1590965 store clipboard only once on shutdown r=stransky
Depends on D50538

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

--HG--
extra : moz-landing-system : lando
2019-10-29 21:47:35 +00:00
Karl Tomlinson 8a2f160728 bug 1590965 call gtk_clipboard_store() from an event r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D50538

--HG--
extra : moz-landing-system : lando
2019-10-29 21:47:25 +00:00
Karl Tomlinson 303818c484 Bug 1590965 call gtk_clipboard_store() regardless of whether Gecko is providing the clipboard r=stransky
This stores the clipboard even if it was set in a GTK dialog.

Depends on D50764

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

--HG--
extra : moz-landing-system : lando
2019-10-29 21:47:27 +00:00
Karl Tomlinson 3e16a1c556 Bug 1590965 clear GtkClipboard on nsIClipboard::EmptyClipboard r=stransky
This notifies GTK that the data is no longer available for clipboard_get_cb(),
so that GTK will no longer advertise nor attempt to store the data.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 08:59:36 +00:00
Karl Tomlinson b733e3b3ac Bug 1592502 initialize all fields of GdkEvents r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D51051

--HG--
extra : moz-landing-system : lando
2019-10-30 07:36:23 +00:00
Daniel Varga b747b90cd8 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 09a1cf803b 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

--HG--
extra : moz-landing-system : lando
2019-10-30 05:51:38 +00:00
Jan Alexander Steffens (heftig) 5d3dcb3132 Bug 1591488 - [Wayland] Only offset the opaque region for normal windows; r=stransky
Maximized and fullscreened windows do not have a CSD decoration border.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 14:48:54 +00:00
Alex Henrie 74cc0f4dce Bug 1591490 - Use the NS_IS_SURROGATE_PAIR macro everywhere. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D50697

--HG--
extra : moz-landing-system : lando
2019-10-27 05:05:51 +00:00
Ting-Yu Lin 03c5d676c0 Bug 1587645 Part 2 - Add WritingMode::IsPhysicalLTR(). r=jfkthame
I discovered this while improving `ScrollFrameHelper::IsPhysicalLTR()`
in Part 1. Our code base needs a notion of physical direction. Let's add
it to WritingMode.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 20:01:46 +00:00
sotaro e2fc848fee Bug 1584511 - Backout r=stransky
Backout because of regression  Bug 1590498 .

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

--HG--
extra : moz-landing-system : lando
2019-10-23 01:41:27 +00:00
sotaro 26e474c3f9 Bug 1584511 - Handle Compositor session recreation when egl_window is re-created r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D49380

--HG--
extra : moz-landing-system : lando
2019-10-18 08:20:30 +00:00
Martin Stransky 5f9cda5fb5 Bug 1583731 - [Wayland] Assert when EGLImage is already created at WaylandDMABufSurface::CreateEGLImage, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49263

--HG--
extra : moz-landing-system : lando
2019-10-15 10:46:08 +00:00
Jan Horak 4d0cec02a5 Bug 1565401 - return valid screen size on multimonitor setup under Wayland; r=stransky,NeilDeakin
By getting the right screen size we can shrink the popup menus which overflows
the screen size under Wayland. The ScreenManager does not help us, because we
can't get absolute window position, but we can use gdk_display_get_monitor_at_window
and gdk_monitor_get_workarea to get the correct screen rectangle.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 11:27:08 +00:00
Martin Stransky 6cbbed9b4e Bug 1588907 [Wayland] Remove misleading comment about DMA_BUF_IOCTL_SYNC, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49390

--HG--
extra : moz-landing-system : lando
2019-10-17 10:38:12 +00:00
Cosmin Sabou e1278bb139 Backed out changeset 23e9fe8a919b (bug 1565401) for causing build bustages on nsWindow.h. CLOSED TREE 2019-10-16 18:45:09 +03:00
Jan Horak e2b9bdb35e Bug 1565401 - return valid screen size on multimonitor setup under Wayland; r=stransky,NeilDeakin
By getting the right screen size we can shrink the popup menus which overflows
the screen size under Wayland. The ScreenManager does not help us, because we
can't get absolute window position, but we can use gdk_display_get_monitor_at_window
and gdk_monitor_get_workarea to get the correct screen rectangle.

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

--HG--
extra : moz-landing-system : lando
2019-10-16 13:03:43 +00:00
Martin Stransky 0595546bfc Bug 1587008 - [Wayland] Get wl_egl_window size from compositor by nsWindow::SetEGLNativeWindowSize, r=jhorak
We can't set wl_egl_window from widget code as it must match GL rendering pipeline,
so let compositor to set the egl window size.

Depends on D49136

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

--HG--
extra : moz-landing-system : lando
2019-10-15 19:25:47 +00:00
Martin Stransky 5a403b0cdd Bug 1587008 - [Wayland] Set EGL window size at CompositorOGL::BeginFrame, r=sotaro
wl_egl_window size must exactly march GL rendering pipeline setting.

Compositor and widget can have different window sizes during window resize when widget
is resized faster than layout can render. Firefox window is rendered misplaced then
and it's "jumping" as layout size is behind toolkit size.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 19:25:28 +00:00
Dorel Luca 518c1a81eb Backed out 2 changesets (bug 1587008) for build bustage on src/widget/gtk/GtkCompositorWidget.cpp. CLOSED TREE
Backed out changeset 9e610c4628e1 (bug 1587008)
Backed out changeset afc6499c8f1f (bug 1587008)

--HG--
extra : rebase_source : 3c3cc17ada4079f279809cae1ece2e226fde5acf
extra : histedit_source : c7f61dbede0eda8ea3b0a1dfa5c67f8650f4ca81
2019-10-15 19:10:32 +03:00
Martin Stransky 11e2fafd1f Bug 1587008 - [Wayland] Get wl_egl_window size from compositor by nsWindow::SetEGLNativeWindowSize, r=jhorak
We can't set wl_egl_window from widget code as it must match GL rendering pipeline,
so let compositor to set the egl window size.

Depends on D49136

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

--HG--
extra : moz-landing-system : lando
2019-10-15 13:12:25 +00:00
Martin Stransky bfddf50156 Bug 1587008 - [Wayland] Set EGL window size at CompositorOGL::BeginFrame, r=sotaro
wl_egl_window size must exactly march GL rendering pipeline setting.

Compositor and widget can have different window sizes during window resize when widget
is resized faster than layout can render. Firefox window is rendered misplaced then
and it's "jumping" as layout size is behind toolkit size.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 13:12:13 +00:00
Martin Stransky d45caa1d42 Bug 1588579 [Wayland] Use explicit names for surface release methods, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49192

--HG--
extra : moz-landing-system : lando
2019-10-15 08:24:17 +00:00
Martin Stransky 6cbfee645f Bug 1588448 - [Wayland] Check mozcontainer wl_surface before we use it, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49189

--HG--
extra : moz-landing-system : lando
2019-10-15 08:28:56 +00:00
Martin Stransky 6bafd20d69 Bug 1587731 - [Wayland] Don't throw missing GdkDisplay warning in headless mode r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49155

--HG--
extra : moz-landing-system : lando
2019-10-14 13:37:44 +00:00
dennisschagt 67d3f0e9f3 Bug 1553835 - Set GTK window hint to make PIP window floating r=stransky
I believe the GDK_WINDOW_TYPE_HINT_UTILITY [1] makes the most sense,
especially when looking at the description of the related
_NET_WM_WINDOW_TYPE_UTILITY [2].

This works well in i3-wm.

[1] https://developer.gnome.org/gdk3/stable/gdk3-Windows.html#GdkWindowTypeHint
[2] https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317606816

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

--HG--
extra : moz-landing-system : lando
2019-10-10 10:00:32 +00:00
Martin Stransky 1d95ca87e8 Bug 1586187 - provide logging to nsLookAndFeel, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D48149

--HG--
extra : moz-landing-system : lando
2019-10-08 08:53:40 +00:00
Martin Stransky 55183b1b38 Bug 1586544 - [Wayland] Fix FBO creation check, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D48270

--HG--
extra : moz-landing-system : lando
2019-10-08 07:59:11 +00:00
Martin Stransky 95eed2f101 Bug 1586993 - [Linux] Add logging to nsWindow::UpdateOpaqueRegion, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D48480

--HG--
extra : moz-landing-system : lando
2019-10-08 07:56:49 +00:00
Olli Pettay bf03e4a42e Bug 1552814, make it possible to start dnd from dragable element even if DataTransfer is empty, r=NeilDeakin
Chrome and old Edge at least seem to have this behavior, and this way the testcase on the bug doesn't trigger click anymore since
we enter dnd mode and get dragleave etc. events.

Manually tested on linux and Windows, and annyg tested on Mac

Update test_dragstart.html's draggable=true test to follow the pattern used by other tests

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

--HG--
extra : moz-landing-system : lando
2019-10-07 21:01:57 +00:00
Bogdan Tara cfbd01b5d9 Backed out changeset c9b71d1747ea (bug 1552814) for assertion failures on nsBaseDragService.cpp CLOSED TREE
--HG--
extra : rebase_source : 4a3e9922237c8638c9b2edd45cc2309094f3d352
extra : amend_source : 1629bf05b705065193ec1ee3e17086db3efd254e
2019-10-07 19:02:02 +03:00
Olli Pettay 6ceb072e65 Bug 1552814, make it possible to start dnd from dragable element even if DataTransfer is empty, r=NeilDeakin
Chrome and old Edge at least seem to have this behavior, and this way the testcase on the bug doesn't trigger click anymore since
we enter dnd mode and get dragleave etc. events.

Manually tested on linux and Windows, and annyg tested on Mac

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

--HG--
extra : moz-landing-system : lando
2019-10-07 09:43:18 +00:00
Martin Stransky ff742900bd Bug 1584790 - [Linux] De-scale window size when calculating aspect ratio, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D48311

--HG--
extra : moz-landing-system : lando
2019-10-07 10:55:01 +00:00
Jan Horak 4a0dbe414e Bug 1582679 - Rewrite popup hiding on wayland; r=stransky
Under Wayland it is possible to add only one popup window
to a parent window. If we try to attach another popup to the window,
the GTK refuses to do that. This can happen when the previous popup
has not yet been hidden while the new popup is showing (in some cases
the nsWindow::Show(false) for the previous popup is not called before
nsWindow::Show(true) for the new one).

We deal with it by hiding wayland popups which are no longer in the
XULPopupManager (PM) before showing a new one. We only do that for
the main menu popups or context (sub)menus. We cannot use PM to check
for the panel popup content like Folder dropdown in Edit Bookmark panel
or WebRTC microphone/video source dropdown. In that case we simply use
the last shown popup as a transient for the new one or the toplevel window.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 13:21:56 +00:00
Martin Stransky 41e46a8792 Bug 1578464 - [Wayland] Set opaque region for toplevel window, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D47602

--HG--
extra : moz-landing-system : lando
2019-10-02 08:57:44 +00:00
Brindusan Cristian bc0bc5f832 Backed out changeset 30310d7d693a (bug 1582679) for mochitest assertions at nsWindow.cpp:3766. CLOSED TREE 2019-10-02 00:14:31 +03:00
Jan Horak 730e9ad9d9 Bug 1582679 - Rewrite popup hiding on wayland; r=stransky
Under Wayland it is possible to add only one popup window
to a parent window. If we try to attach another popup to the window,
the GTK refuses to do that. This can happen when the previous popup
has not yet been hidden while the new popup is showing (in some cases
the nsWindow::Show(false) for the previous popup is not called before
nsWindow::Show(true) for the new one).

We deal with it by hiding wayland popups which are no longer in the
XULPopupManager (PM) before showing a new one. We only do that for
the main menu popups or context (sub)menus. We cannot use PM to check
for the panel popup content like Folder dropdown in Edit Bookmark panel
or WebRTC microphone/video source dropdown. In that case we simply use
the last shown popup as a transient for the new one or the toplevel window.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 13:14:02 +00:00
Gabriele Svelto 10d41866a5 Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D47678

--HG--
extra : moz-landing-system : lando
2019-09-30 22:06:47 +00:00
Martin Stransky 9691b5d142 Bug 1536747 - [Linux] PictureInPicture window - open window manager menu on right mouse click, r=jhorak
This patch depends on Bug 1584492.

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

--HG--
extra : moz-landing-system : lando
2019-09-27 15:14:23 +00:00
Martin Stransky 43b2ca4820 Bug 1583852 - [Linux] Disable round corners/alpha blending for PictureInPicture windows, r=jhorak
This bug depends on Bug 1584492.

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

--HG--
extra : moz-landing-system : lando
2019-09-27 15:13:52 +00:00
Martin Stransky 47f4838fa0 Bug 1584492 [Linux] Add mIsPIPWindow to nsWindow, r=jhorak
Depends on D47409

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

--HG--
extra : moz-landing-system : lando
2019-09-28 06:55:54 +00:00
Martin Stransky 39d980d661 Bug 1575136 - [Linux/Gtk] Set initial wm_role for windows, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D47217

--HG--
extra : moz-landing-system : lando
2019-09-26 12:11:44 +00:00
Martin Stransky ded82a61e2 Bug 1584139 [Linux/CSD] Add decoration size to nsWindow::LockAspectRatio() when CSD mode is used, r=jhorak
Depends on D47234

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

--HG--
extra : moz-landing-system : lando
2019-09-26 12:03:32 +00:00
Martin Stransky ae44a5d195 Bug 1584139 - [Linux/Gtk] Provide logging to nsWindow::Resize(), nsWindow::SetWindowDecoration(), nsWindow::SetDrawsInTitlebar(), r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D47234

--HG--
extra : moz-landing-system : lando
2019-09-26 12:05:03 +00:00
Martin Stransky b39e038df7 Bug 1583737 - Implement nsWindow::LockAspectRatio() on Linux, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D47046

--HG--
extra : moz-landing-system : lando
2019-09-26 07:57:57 +00:00
Martin Stransky 878cb981d1 Bug 1582405 - [Wayland] Assert only when we want to commit attached buffer, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D46908

--HG--
extra : moz-landing-system : lando
2019-09-26 07:58:26 +00:00
Martin Stransky a33bdb4e60 Bug 1578380 - [Wayland] Use WaylandDMABufSurface as ref-counted and store GLContext, r=jhorak
Depends on D46841

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:30:16 +00:00
Oana Pop Rus a22fdc5e79 Backed out 8 changesets (bug 1578380) for causing build bustages in ContentClient.cpp on a CLOSED TREE
Backed out changeset 28c2e884d20a (bug 1578380)
Backed out changeset 373c4563e9fd (bug 1578380)
Backed out changeset 3fdbc241d63a (bug 1578380)
Backed out changeset 754865b2810f (bug 1578380)
Backed out changeset b80b7e186f02 (bug 1578380)
Backed out changeset 3a8abb5d7a43 (bug 1578380)
Backed out changeset 2b52c3d15b7b (bug 1578380)
Backed out changeset ca57727c3aad (bug 1578380)
2019-09-24 13:06:55 +03:00
Martin Stransky d9e67b0424 Bug 1578380 - [Wayland] Use WaylandDMABufSurface as ref-counted and store GLContext, r=jhorak
Depends on D46841

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:39:29 +00:00
Martin Stransky ce56a99d89 Bug 1578464 - [Wayland] Set opaque region to wl_surface of toplevel window, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D46280

--HG--
extra : moz-landing-system : lando
2019-09-20 12:58:03 +00:00
Martin Stransky 214f4c1207 Bug 1582714 - Remove #undef LOG from nsClipboard.h, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D46589

--HG--
extra : moz-landing-system : lando
2019-09-20 12:56:13 +00:00
Martin Stransky 59589dad99 Bug 1581638 - Provide logging to Linux/Gtk clipboard code, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D46266

--HG--
extra : moz-landing-system : lando
2019-09-19 07:24:41 +00:00
Jan Horak f1f19846f0 Bug 1581773 - Fix disappearing bookmark edit panel when choosing folder under Wayland; r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D46440

--HG--
extra : moz-landing-system : lando
2019-09-19 09:28:28 +00:00
Martin Stransky ae1cc485f3 Bug 1581748 - [Wayland] Fixed rendering of overlapping areas, r=jhorak
- Don't store whole buffer update information at mWholeWindowBufferDamage but use damage region instead.
- Check and remove overlapped images when they are stored at image cache.
- Remove CanDrawToWaylandBufferDirectly() as it's not very useful.

This commit depends on Bug 1580152 which needs to land first.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 13:26:36 +00:00
Martin Stransky 4b928e7b91 Bug 1580152 - [Wayland] Fix rendering glitches on wayland , r=jhorak
- Recently we're missing some drawings as we disabled flushing cached images in frame callback. Let's enable it again and make sure we don't flush the drawings between Lock()/Commit() compositor calls which is controlled by mBufferCommitAllowed.

- When we draw directly to wl_buffer, flush all cached drawings we have or clear them if there's fullscreen update. It prevents potential rendering of cached images over unrelevant buffer content.

- Flush cached images when wl_buffer is detached by wayland compositor. It allows to paint delayed drawings and ensures they won't stay in the queue infinitely.

- Use mBufferPendingCommit to indicate that the WaylandBuffer contains updates from gecko which has not been submitted to wayland compositor yet. Allows delated commit handlers (frame callback, delayed commit and when wl_buffer is detached) to send WaylandBuffer content to wayland compositor.

- Record time of last finished commit to mLastCommitTime and throws warning when wayland compositor does not release wl_buffer in 200ms.

- Use wl_display_sync() to synchronize wl_display events. Wait for events from wl_display until all pending events are processed before we start drawing at WindowSurfaceWayland::Lock(). There may wl_buffer release event waiting which releases wl_buffer for rendering.

- Don't use XMost()/YMost() to get drawing area size.

- Remove mDisplayThreadMessageLoop as it's no longer used.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 12:34:28 +00:00
Marius Gedminas 1fee916641 Bug 1550721 - Fix GTK title bar for tiled windows. r=stransky,dao
Differential Revision: https://phabricator.services.mozilla.com/D45500

--HG--
extra : moz-landing-system : lando
2019-09-17 12:05:00 +00:00
Brindusan Cristian e32489a0d8 Backed out changeset 44d3452f6a07 (bug 1550721) for build bustages on nsWindow.cpp. CLOSED TREE 2019-09-17 02:27:52 +03:00
Marius Gedminas 880d097a69 Bug 1550721 - Fix GTK title bar for tiled windows. r=stransky,dao
Differential Revision: https://phabricator.services.mozilla.com/D45500

--HG--
extra : moz-landing-system : lando
2019-09-16 20:35:47 +00:00
Andrew Osmond fce484c34f Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:04 +00:00
Ciure Andrei a4046ec458 Backed out 6 changesets (bug 1574493) for causing nested-sticky-2.html to perma fail CLOSED TREE
Backed out changeset 358746636448 (bug 1574493)
Backed out changeset 34aef5498237 (bug 1574493)
Backed out changeset 1f88e2031c76 (bug 1574493)
Backed out changeset 07c588b5ea10 (bug 1574493)
Backed out changeset 0685e8d3510e (bug 1574493)
Backed out changeset 15d4390220c4 (bug 1574493)
2019-09-13 19:26:50 +03:00
Andrew Osmond 25866edb78 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:23 +00:00
Ciure Andrei 8c3feea58a Backed out 6 changesets (bug 1574493) for causing nested-sticky-1.html to perma fail CLOSED TREE
Backed out changeset fdc25a90b0ef (bug 1574493)
Backed out changeset 0ce3c48c1f79 (bug 1574493)
Backed out changeset 326b9f96614b (bug 1574493)
Backed out changeset b0817c0aee77 (bug 1574493)
Backed out changeset 70d99c264df9 (bug 1574493)
Backed out changeset e5217ab4b668 (bug 1574493)
2019-09-13 16:17:47 +03:00
Andrew Osmond b2d4e121cb Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:31 +00:00
Gurzau Raul 4793791015 Backed out changeset 84302aebbe43 (bug 1573813) for failing mochitest jobs on a CLOSED TREE. 2019-09-12 18:35:47 +03:00
Gurzau Raul fe4bb6d539 Backed out 6 changesets (bug 1574493) for wrench failures at stacking-context-clip.yaml on a CLOSED TREE.
Backed out changeset 8a8736ac4e25 (bug 1574493)
Backed out changeset 4a3294e88823 (bug 1574493)
Backed out changeset 0c26ecdc1ddc (bug 1574493)
Backed out changeset 11257f7b3ad3 (bug 1574493)
Backed out changeset dcedc286ad9d (bug 1574493)
Backed out changeset 87f216e0753d (bug 1574493)
2019-09-12 18:34:07 +03:00
Jan Horak 9f70c0454a Bug 1573813 - use parent window scale factor for the popup/tooltips; r=stransky
For popup windows with parent we need to get scale factor of the parent
window. Because when the windows are hidden they're not receiving updates
about changing scaling factor. So when moving from normal dpi to
the hidpi monitor the newly opened popup windows will have the same scale.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 13:29:03 +00:00
Andrew Osmond 320cbbf828 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:41 +00:00
Jan Horak ab88be917c Bug 1580174 - Don't use toplevel window as parent for the menus in popupnotification; r=stransky
Under Wayland where there's a strict popup window hierarchy, using toplevel window
for the submenus in popupnotification cause the popupnotification to hide
when opening them and this breaks user to Allow/Don't allow the action.

We have to use last opened popup window as a parent for these submenus.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 09:38:05 +00:00
Martin Stransky eee009c581 Bug 1579849 - [Wayland] Optimize cached rendering to wl_buffer for widget.wayland_cache_mode=1, r=jhorak
- When widget.wayland_cache_mode=1 use direct rendering to wl_buffer only when there isn't any
  cached rendering pending and we're updating one big piece of screen (video playback/scrolling etc..)

- Disable frame callback commits between WindowSurfaceWayland::Lock and WindowSurfaceWayland::Commit
  as the buffer can be updated by gecko compositor

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

--HG--
extra : moz-landing-system : lando
2019-09-11 15:32:48 +00:00
Martin Stransky 71d17fbe95 Bug 1579823 - [Wayland] remove __PRETTY_FUNCTION__ from wayland logs as it produces too long function names, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D45173

--HG--
extra : moz-landing-system : lando
2019-09-09 12:42:30 +00:00
Martin Stransky 6dbfafeb2f Bug 1579794 - [Wayland] Explicitly enable/disable direct rendering to wl_buffer, r=jhorak
Recently direct wl_buffer rendering is kept enabled until we have wl_buffer available which
produces rendering artifacts when screen damage rects overlaps.

Let's enable/disable it explicitly at every rendering cycle start to avoid
screen flickering.

Depends on D45166

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

--HG--
extra : moz-landing-system : lando
2019-09-09 13:04:26 +00:00
Martin Stransky 2ba6437bbb Bug 1579794 - [Wayland] Use wl_surface_damage_buffer() and require wl_compositor v.4, r=jhorak
Use wl_surface_damage_buffer() to propagate wl_buffer damage to avoid rounding errors and
rendering artifacts for HiDPI wl_buffers.

Depends on D45165

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

--HG--
extra : moz-landing-system : lando
2019-09-10 07:58:56 +00:00
Martin Stransky 7a6c6dc9d7 Bug 1579794 - [Wayland] Copy pixel data for cached images, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D45165

--HG--
extra : moz-landing-system : lando
2019-09-10 08:09:57 +00:00
Timothy Nikkel e0a79ba9f2 Bug 1578164. Use async notifications when requesting decode of an image in most places. r=aosmond
Most of things will likely be no real change because they ask for the exact frame they want immediately before.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 15:36:23 +00:00
Emilio Cobos Álvarez a2e997b40b Bug 1578652 - Add a comment pointing to a gross gtk resize workaround. r=stransky
This was fixed upstream, so we can eventually remove this.

Having the issue number makes it much nicer to figure out when is the right time
to remove it.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 08:18:12 +00:00
Martin Stransky 145616c1c1 Bug 1576904 [Wayland] Add WaylandDMABufSurface GL binding ability, r=jhorak
- Allow to create WaylandDMABufSurface with wl_buffer or EGLImage on top of it
- Disable dmabuf modifiers as they slow down the data upload
- Add ability to export/import WaylandDMABufSurface via. file descriptors

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

--HG--
extra : moz-landing-system : lando
2019-09-03 09:41:32 +00:00
Martin Stransky 7ec25f9853 Bug 1577024 - [Wayland] Enable experimental wayland backend modes by widget.wayland_cache_mode pref, r=jhorak
Image cache mode can be set by widget.wayland_cache_mode.

- widget.wayland_cache_mode = 0 (or missing):
  Cache and clip all drawings, default. It's slowest
  but also without any rendered artifacts.

- widget.wayland_cache_mode = 1:
  Cache drawing only when back buffer is missing. May produce
  some rendering artifacts and flickering when partial screen update
  is rendered.

- widget.wayland_cache_mode = 2:
  Don't cache anything, draw only when back buffer is available.
  Suitable for fullscreen content only like fullscreen video playback and
  may work well with dmabuf backend.

Differential Revision: https://phabricator.services.mozilla.com/D43681
2019-08-31 00:19:03 +03:00
Martin Stransky 1cf5fdd9b6 Bug 1562827 - [Linux] Merge nsWindow::ReparentNativeWidgetInternal() to nsWindow::SetParent() and use nsWindow::ReparentNativeWidget() for toplevel windows only, r=karlt
- Use former ReparentNativeWidgetInternal() code in nsWindow::SetParent().
  Also update mToplevelParentWindow for Wayland to hold default toplevel window.

- Make nsWindow::ReparentNativeWidget() to work on toplevel windows only and use only gtk_window_set_transient_for() to reparent
  a toplevel window. Also update mToplevelParentWindow for Wayland.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 23:48:44 +00:00
Gurzau Raul 6321d98bb4 Backed out changeset 9b5ceca1eedf (bug 1573813) for failures at /crashtests/1113005.html on a CLOSED TREE. 2019-08-28 17:15:26 +03:00
Martin Stransky 4e8409ddcd Bug 1576898 - [Wayland] Implement gbm_bo_import & gbm_device_is_format_supported at nsGbmLib, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D43603

--HG--
extra : moz-landing-system : lando
2019-08-28 10:38:11 +00:00
Jan Horak 37a9627a4c Bug 1573813 - use parent window scale factor for the popup/tooltips; r=stransky
For popup windows with parent we need to get scale factor of the parent
window. Because when the windows are hidden they're not receiving updates
about changing scaling factor. So when moving from normal dpi to
the hidpi monitor the newly opened popup windows will have the same scale

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

--HG--
extra : moz-landing-system : lando
2019-08-27 13:03:50 +00:00
Martin Stransky 89132239ea Bug 1574036 - [Wayland] Fix flickering during window resize, r=jhorak
Recently window resize on Wayland produces flickering/rendering artifacts because
window background is randomly cleared due to actual window size changes.
We recently query widget size and do clear/fullscreen update when the size changes.

To avoid that, get widget size once at WindowSurfaceWayland::Lock() and use it
until next WindowSurfaceWayland::Lock(). Also don't to switch wayland back buffers
until there's really fullscreen update from compositor.

This patch:

- Use mLockedScreenRect to store window size at WindowSurfaceWayland::Lock(). It's used
  to detect widget resize, when it happens throw away all cached painting and wait for
  full screen update.

- Use mBufferScreenRect to store size of wayland back buffer and pass it
  instead of actual widget size we used before this patch. This ensures all our
  drawing matches the buffer size.

- Rename aFullScreenUpdate to aCanSwitchBuffer at LockWaylandBuffer() to stress
  actual meaning - we can/can't switch back buffers for partial drawing and we need to
  wait until recent back buffer is released by compositor.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 12:33:25 +00:00
Martin Stransky 388e4b2d74 Bug 1576268 - [Wayland] Use MOVE as a default Drag and Drop action to match X11 behavior, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D43578

--HG--
extra : moz-landing-system : lando
2019-08-27 12:12:14 +00:00
Kristen Wright cff2295408 Bug 1573992 - Convert ui.context_menus.after_mouseup to static pref. r=njn
Converts ui.context_menus.after_mouseup varcache pref to a static pref and removes its associated function.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 00:07:49 +00:00
kriswright 943e049dcc Bug 1573992 - Convert layout.css.devPixelsPerPx to static pref. r=njn
Converts layout.css.devPixelsPerPx to a static pref. This one was one of the slightly odd ones; some values were expecting an atomic float, so instead of defining a regular type float it is defined in StaticPrefList.yaml as an AtomicFloat. I am assuming this was the intent of the pref value all along.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 21:02:43 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Mike Hommey 17d34d41d7 Bug 1575415 - Always register the nsApplicationChooser component in Gtk builds. r=froydnj
Bug 1278282 removed Gtk2 support, so MOZ_WIDGET_TOOLKIT is always "gtk3"
for Gtk builds, and never "gtk", which makes the current check never
match.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:21 +00:00
Csoregi Natalia 6c32e4cdbf Backed out changeset 4f82f0b92629 (bug 1573813) for browser-chrome crashes on /browser_bookmarkProperties_folderSelection.js. CLOSED TREE 2019-08-20 21:48:27 +03:00
Jan Horak 248e644f9e Bug 1573813 - use parent window scale factor for the popup/tooltips; r=stransky
For popup windows with parent we need to get scale factor of the parent
window. Because when the windows are hidden they're not receiving updates
about changing scaling factor. So when moving from normal dpi to
the hidpi monitor the newly opened popup windows will have the same scale

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

--HG--
extra : moz-landing-system : lando
2019-08-20 15:52:12 +00:00
Sebastian Streich db893cf0d7 Bug 1561056 - Pass CSP on Link-drop r=ckerschb,Gijs,farre
***
Fix linux build

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

--HG--
extra : moz-landing-system : lando
2019-08-20 12:43:02 +00:00
Markus Stange cc120aa3b7 Bug 1573343 - Make the aInvalidRegion parameter of EndRemoteDrawing a const reference rather than a regular reference. r=mattwoodrow
There's no point in mutating it, and nobody does.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:39 +00:00
Csoregi Natalia 0989eb85a3 Backed out changeset 38b37dfa1f33 (bug 1469716) for causing Bug 1572116. a=backout 2019-08-16 04:36:30 +03:00
Jan Horak 74fb3f0f1c Bug 1572455 Workaround for restoring minimized window in Wayland; r=stransky
Under Wayland the GTK does not send the correct window state event change
when the window is iconified. We need to add a workaround for that to avoid
unresponsive UI after restoring the window.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 13:06:58 +00:00
Kristen Wright b7b95930c5 Bug 1571544 - Convert mozilla.widget.disable-native-theme to static pref. r=njn
Converts mozilla.widget.disable-native-theme varcache pref to a static pref and updates uses of its associated global variable with the pref. This also renames the pref to widget.disable-native-theme to group with other widget prefs.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 23:05:05 +00:00
Tom Schuster 0e913c22c4 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-07 19:49:40 +00:00
Cosmin Sabou c3430326e6 Backed out changeset ca88862d6b63 (bug 1558915) for causing build bustages on StartupCacheUtils. CLOSED TREE 2019-08-07 13:20:32 +03:00
Tom Schuster 8bc1f5ada8 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-07 09:36:56 +00:00
Razvan Maries eedbf1137f Backed out changeset b197ca57677a (bug 1558915) for build bustages. CLOSED TREE 2019-08-07 01:04:43 +03:00
Tom Schuster 03c7998ef2 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-06 20:19:41 +00:00
Karl Tomlinson a871c0a392 Bug 1469716 allow transparency mode to be set appropriately according to whether drawing a titlebar r=stransky
The early return for non-popup windows was to workaround
https://bugzilla.mozilla.org/show_bug.cgi?id=1344839 which involved problems
with CleanLayerManagerRecursive().  In cases where layer manager configuration
does not change, there is no need to clean the layer manager and so no need to
return early.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 08:27:20 +00:00
Martin Stransky d4ee7064f5 Bug 1567434 - [Wayland] Use dynamic popup hierarchy for tooltips/context menu only, r=jhorak
If the popup is a regular menu but GetParentMenuWidget() returns
nullptr, it's connected non-menu parent (bookmark toolbar for instance).

In this case use a parent given at nsWindow::Create() and don't attach it
to latest active popup as it has a real parent.

Depends on D39347

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

--HG--
extra : moz-landing-system : lando
2019-08-05 10:37:34 +00:00
Martin Stransky 6354d2287a Bug 1567434 - [Wayland] Don't use gtk_window_get_transient_for() to get parent toplevel window, r=jhorak
- gtk_window_get_transient_for() fails to return correct toplevel window as the toplevel window changes
when popup is moved in popup hierarchy. So store the toplevel given at nsWindow::Create() and
use it instead.

- Remove some redundat NS_WARNING() from wayland code
- Attach "moved-to-rect" signal handler to GdkWindow only once a update
  NativeMoveResizeWaylandPopupCallback() loging.
- Add more logging to Wayland popup related code.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 10:37:21 +00:00
Brindusan Cristian c00617be71 Backed out 2 changesets (bug 1567434) for build bustages at nsWindow.cpp:3587:53. CLOSED TREE
Backed out changeset 10925a6df9b3 (bug 1567434)
Backed out changeset 1cd94e91245c (bug 1567434)
2019-08-05 12:23:04 +03:00
Martin Stransky 577c3ffca3 Bug 1567434 - [Wayland] Use dynamic popup hierarchy for tooltips/context menu only, r=jhorak
If the popup is a regular menu but GetParentMenuWidget() returns
nullptr, it's connected non-menu parent (bookmark toolbar for instance).

In this case use a parent given at nsWindow::Create() and don't attach it
to latest active popup as it has a real parent.

Depends on D39347

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

--HG--
extra : moz-landing-system : lando
2019-08-05 08:40:16 +00:00
Martin Stransky 99f4b257a1 Bug 1567434 - [Wayland] Don't use gtk_window_get_transient_for() to get parent toplevel window, r=jhorak
- gtk_window_get_transient_for() fails to return correct toplevel window as the toplevel window changes
when popup is moved in popup hierarchy. So store the toplevel given at nsWindow::Create() and
use it instead.

- Remove some redundat NS_WARNING() from wayland code
- Attach "moved-to-rect" signal handler to GdkWindow only once a update
  NativeMoveResizeWaylandPopupCallback() loging.
- Add more logging to Wayland popup related code.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 08:39:53 +00:00
Jan Horak fd5911695e Bug 1570927 [hidpi] apply scale factor also to the translation matrix; r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D40404

--HG--
extra : moz-landing-system : lando
2019-08-02 10:58:07 +00:00
Jan Horak 65526f541b Bug 1566876 - Wayland workaround for the popups without parent r=stransky
When the popup is without parent it mess up with the Wayland popup hierarchy.
Then any other popup cannot be shown, for example when webrtc ui
shows up the user is unable to allow sharing screen during that.

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

--HG--
extra : moz-landing-system : lando
2019-08-01 07:16:22 +00:00
Jan Horak 8d37f2edef Bug 1562555 Disable hidpi widget rendering for now on X11 because it's buggy;r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D39299

--HG--
extra : moz-landing-system : lando
2019-07-30 12:04:25 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Neil Bleasdale 7908205544 Bug 1564797 - Initialise mDmabuf in nsWaylandDisplay constructor. r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D38578

--HG--
extra : moz-landing-system : lando
2019-07-25 21:33:41 +00:00
sotaro 41e801baab Bug 1566468 - Fix CompositorInitiallyPaused() r=nical
CompositorInitiallyPaused() uses mNeedsUpdatingEGLSurface. But it is not good. mNeedsUpdatingEGLSurface is set to true in moz_container_set_initial_draw_callback(). If compositor is created before moz_container_set_initial_draw_callback(), compositor is not initially paused. It happens sometimes with popup window.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 14:08:39 +00:00
Jan Horak 15c671a2cb Bug 1562555 Don't scale widget pixmaps on older than GTK 3.22, r=stransky
Pre GTK 3.22 releases does not show hidpi widget pixmaps correctly.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 16:00:23 +00:00
Sylvestre Ledru 2ff79fb0d5 Bug 1519636 - Ride along: remove trailing whitespaces r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:34:03 +00:00
sotaro f2c65ceeb7 Bug 1565785 - Skip WR rendering until window becomes ready to draw on Wayland r=nical
Differential Revision: https://phabricator.services.mozilla.com/D37977

--HG--
extra : moz-landing-system : lando
2019-07-16 01:28:32 +00:00
Mihai Alexandru Michis a2b90fe037 Backed out changeset b1f8f86bbda8 (bug 1565785) for causing bustages in nsWindow.h CLOSED TREE 2019-07-16 03:12:42 +03:00
sotaro 45b727fe13 Bug 1565785 - Skip WR rendering until window becomes ready to draw on Wayland r=nical
Differential Revision: https://phabricator.services.mozilla.com/D37977

--HG--
extra : moz-landing-system : lando
2019-07-15 14:33:04 +00:00
Sylvestre Ledru fc2eb5393c Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37146

--HG--
extra : moz-landing-system : lando
2019-07-08 09:27:47 +00:00
Martin Stransky 14cac6b6f3 Bug 1561859 - [Wayland] Expose active DRM on Wayland in about:support & telemetry, r=kats
Differential Revision: https://phabricator.services.mozilla.com/D36248

--HG--
extra : moz-landing-system : lando
2019-07-02 09:17:22 +00:00
Martin Stransky f93809e3ff Bug 1523822 - [Wayland] Get clipboard data again when poll returns EINTR/EAGAIN, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D36454

--HG--
extra : moz-landing-system : lando
2019-07-02 09:00:26 +00:00
Martin Stransky 91bbb7f0d9 Bug 1562023 - [Wayland] Factorize out DMABUF setup, r=ashie
Differential Revision: https://phabricator.services.mozilla.com/D36420

--HG--
extra : moz-landing-system : lando
2019-07-01 08:55:03 +00:00
Martin Stransky df9765aca2 Bug 1561883 - [Wayland] Provide WaylandDisplayGetWLDisplay() to directly get wl_display, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D36183

--HG--
extra : moz-landing-system : lando
2019-07-01 06:38:32 +00:00
Martin Stransky b43868db42 Bug 1562141 - [Wayland] Hide/show popup when it's positioned by gdk_window_move_to_rect() and it's visible, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D36331

--HG--
extra : moz-landing-system : lando
2019-07-01 05:59:45 +00:00
Gurzau Raul 125bf10273 Backed out changeset 460bb9bef9c3 (bug 1561883) for build bustage at nsWaylandDisplay.h on a CLOSED TREE. 2019-06-29 14:24:34 +03:00
Gurzau Raul b0fcd74087 Backed out changeset bb73a4c99331 (bug 1562141) for build failures at nsWindow.cpp on a CLOSED TREE. 2019-06-29 14:21:59 +03:00
Martin Stransky 450f08a255 Bug 1561883 - [Wayland] Provide WaylandDisplayGetWLDisplay() to directly get wl_display, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D36183

--HG--
extra : moz-landing-system : lando
2019-06-28 14:58:55 +00:00
Martin Stransky 40de4d717b Bug 1562141 - [Wayland] Hide/show popup when it's positioned by gdk_window_move_to_rect() and it's visible, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D36331

--HG--
extra : moz-landing-system : lando
2019-06-28 15:02:11 +00:00
Nicholas Nethercote 9f0b35cc2a Bug 1560837 - Make APZ static prefs follow the naming convention. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D35633

--HG--
extra : rebase_source : e71193756486b148d479e90b324f73dc35756429
2019-06-24 13:57:06 +10:00
shindli c0ca77697c Merge inbound to mozilla-central. a=merge 2019-06-21 12:34:14 +03:00
Tarek Ziadé a494b08766 Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld
Adds GeckoChildProcessHost::GetAll() and use it in ChromeUtils::GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-21 01:33:47 +00:00
Martin Stransky dad38daa59 Bug 1557265 - Include gbm.h to build Wayland dmabuf backend, r=glandium
Depends on D34857

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

--HG--
extra : moz-landing-system : lando
2019-06-20 21:52:42 +00:00
Martin Stransky f1bbfe6ec3 Bug 1557265 - Remove HAVE_LIBDRM defines as libdrm is mandatory now, r=glandium
Depends on D33918

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

--HG--
extra : moz-landing-system : lando
2019-06-20 21:52:40 +00:00
Martin Stransky 34e570a249 Bug 1557265 - [Wayland] Require libdrm to build Wayland backend, r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D33918

--HG--
extra : moz-landing-system : lando
2019-06-20 21:51:15 +00:00
myfreeweb 01916974b0 Bug 1213601 - implement kinetic/inertial scrolling (fling) for Gtk. r=botond
--HG--
extra : rebase_source : 69a374c26bcb8781e83aeb26058a2de349313bbc
extra : amend_source : 521bb6f2b5799bfca5f8b8b5bbe9e4fef1f2dd1e
2019-06-20 16:18:45 -04:00
Oana Pop Rus 288befd88a Backed out changeset f79736d79ee1 (bug 1529022) for build bustages in GeckoChildProcessHost.cpp a=backout 2019-06-20 01:57:00 +03:00
Tarek Ziadé 2b03934b7d Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld
Adds GeckoChildProcessHost::GetAll() and use it in ChromeUtils::GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-19 06:13:50 +00:00
Gurzau Raul 376affada3 Backed out changeset 11c118fa5f2b (bug 1529022) for build bustages at GeckoChildProcessHost.cpp a=backout 2019-06-19 09:07:19 +03:00
Tarek Ziadé 9f31044be3 Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld
Adds GeckoChildProcessHost::GetAll() and use it in ChromeUtils::GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-18 16:36:52 +00:00
Martin Stransky 6ada4a5f73 Bug 1555899 - [Wayland] Don't wait to fullscreen update as it can block forever, r=jhorak"
- Don't block all drawing until whole screen was painted, clear the screen and
allow partial drawing instead.
- Detect window resize and allow partial drawing directly to wayland buffer in this case.
- Remove backbuffer copy - wait to buffer release instead.

Depends on D33910

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

--HG--
extra : moz-landing-system : lando
2019-06-11 20:38:56 +00:00
Martin Stransky d9c5ad8e86 Bug 1555899 - [Wayland] Added more wayland logging, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33910

--HG--
extra : moz-landing-system : lando
2019-06-11 20:38:44 +00:00
Martin Stransky 2c519e8d1b Bug 1557266 - [Wayland] Use widget.wayland_dmabuf_backend.enabled preference to enable wayland dmabuf backend, r=jhorak
- Add widget.wayland_dmabuf_backend.enabled
- Expose it to Wayland backend by WaylandDisplay object
- Add more logging to Wayland DMABuf backend

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

--HG--
extra : moz-landing-system : lando
2019-06-10 12:37:06 +00:00
Martin Stransky b9dd89a7c5 Bug 1557271 - [Wayland] Merge nsWaylandDisplayShutdown.h and nsWaylandDisplay.h, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33921

--HG--
extra : moz-landing-system : lando
2019-06-10 12:41:35 +00:00
Martin Stransky 7c09d4b7af Bug 1557658 - [Wayland] Don't use developers version of libdrm.so and libgbm.so, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D34146

--HG--
extra : moz-landing-system : lando
2019-06-07 21:45:46 +00:00
Martin Stransky df1a302293 Bug 1555565 - Export correct user's preference for dark theme by prefers-color-scheme media query, r=mats
Differential Revision: https://phabricator.services.mozilla.com/D33133

--HG--
extra : moz-landing-system : lando
2019-06-10 09:43:27 +00:00
Boris Zbarsky 5eb248348f Bug 1557847. Stop using [array] in nsIClipboard. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D34243

--HG--
extra : moz-landing-system : lando
2019-06-09 01:06:39 +00:00
Tarek Ziadé b18ccf9c4e Bug 1529023 - Enable threads on macOS for GetProcInfo r=jld,mstange
To run task_for_pid() on child processes, we need the child task port for
security reasons. This port can be obtained via a Mach IPC exchange.

This is what GeckoChildProcessHost::GetChildTask() provides, so we use it
in cocoa's version of GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-07 19:56:51 +00:00
Dorel Luca 486b17b628 Backed out 2 changesets (bug 1555899) for Build bustage. CLOSED TREE
Backed out changeset 2de31fc4c99c (bug 1555899)
Backed out changeset 335510024f81 (bug 1555899)
2019-06-08 00:37:35 +03:00
Dorel Luca f304631202 Backed out changeset 37138554f34a (bug 1557266) for Build bustage in /builds/worker/workspace/build/src/widget/gtk/WindowSurfaceWayland.cpp. CLOSED TREE 2019-06-08 00:31:56 +03:00
Dorel Luca 0c58ec27a3 Backed out changeset 819a428097dc (bug 1557658) for backout conflicts with Bug 1557266. CLOSED TREE 2019-06-08 00:30:30 +03:00
Dorel Luca 0c6758a3a2 Backed out changeset 4a658ccf88a0 (bug 1557271) for Build bustage. CLOSED TREE 2019-06-08 00:11:14 +03:00
Martin Stransky fcb02207a1 Bug 1557658 - [Wayland] Don't use developers version of libdrm.so and libgbm.so, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D34146

--HG--
extra : moz-landing-system : lando
2019-06-07 14:37:54 +00:00
Martin Stransky 0f49145143 Bug 1557271 - [Wayland] Merge nsWaylandDisplayShutdown.h and nsWaylandDisplay.h, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33921

--HG--
extra : moz-landing-system : lando
2019-06-07 14:35:45 +00:00
Martin Stransky 5d9ce4b333 Bug 1557266 - [Wayland] Use widget.wayland_dmabuf_backend.enabled preference to enable wayland dmabuf backend, r=jhorak
- Add widget.wayland_dmabuf_backend.enabled
- Expose it to Wayland backend by WaylandDisplay object
- Add more logging to Wayland DMABuf backend

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

--HG--
extra : moz-landing-system : lando
2019-06-07 14:34:25 +00:00
Martin Stransky 355ef12f87 Bug 1555899 - [Wayland] Don't wait to fullscreen update as it can block forever, r=jhorak"
- Don't block all drawing until whole screen was painted, clear the screen and
allow partial drawing instead.
- Detect window resize and allow partial drawing directly to wayland buffer in this case.
- Remove backbuffer copy - wait to buffer release instead.

Depends on D33910

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

--HG--
extra : moz-landing-system : lando
2019-06-07 14:28:31 +00:00
Martin Stransky 6b29386225 Bug 1555899 - [Wayland] Added more wayland logging, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33910

--HG--
extra : moz-landing-system : lando
2019-06-06 09:38:28 +00:00
Sebastian Hengst 0d6b93005b Backed out changeset 0635eeb2fad4 (bug 1529023) for bustage in ChromeUtils.cpp. CLOSED TREE 2019-06-07 19:09:41 +02:00
Tarek Ziadé 2f870d3a3e Bug 1529023 - Enable threads on macOS for GetProcInfo r=jld,mstange
To run task_for_pid() on child processes, we need the child task port for
security reasons. This port can be obtained via a Mach IPC exchange.

This is what GeckoChildProcessHost::GetChildTask() provides, so we use it
in cocoa's version of GetProcInfo()

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

--HG--
extra : moz-landing-system : lando
2019-06-07 07:48:37 +00:00
Mihai Alexandru Michis 9f96be64a8 Backed out changeset 1731c1e39b8c (bug 1555565) for causing xpcshell failures. CLOSED TREE 2019-06-07 16:35:00 +03:00
Martin Stransky 84dabd109d Bug 1555565 - Export correct user's preference for dark theme by prefers-color-scheme media query, r=mats
Differential Revision: https://phabricator.services.mozilla.com/D33133

--HG--
extra : moz-landing-system : lando
2019-06-07 12:02:48 +00:00
Nicolas Silva c44ff5af9a Bug 1546894 - Keep track of current and begin points in path objects in case we'll create a builder from them. r=lsalzman
Because of the way the canvas 2D implementation juggles between path builders and paths, we have to keep track of current and first points in the path, in case a builder is created out of it.

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

--HG--
extra : source : c79b3af2395894b449731fccdd9eb006b4d0189e
2019-06-05 09:55:46 +02:00
Andrew Osmond d639d2c5ac Bug 1435586 - Use static gfxPlatform methods directly instead of requiring initialization. r=kats
gfxPlatform::GetSourceSurfaceForSurface and CreateDrawTargetForSurface
are both static methods that we sometimes use via the pattern
gfxPlatform::GetPlatform()->... This is problematic because this forces
gfxPlatform to be initialized in the process, and in the GPU process, we
don't support this. It should be safe to call these methods without
initializing gfxPlatform, so this patch removes the GetPlatform() call.

GetSourceSurfaceForSurface may end up initializing gfxPlatform anyways,
depending on whether or not a DrawTarget was given. This should not be a
concern for the crashes observed in bug 1435586.

Differential Revision: https://phabricator.services.mozilla.com/D33785
2019-06-05 12:40:26 -04:00
Mihai Alexandru Michis d07d090c31 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-06-05 12:59:10 +03:00
sotaro 3d0c73c202 Bug 1537586 - Address build failure with --disable-printing r=bobowen,froydnj
Make nsIWebBrowserPrint included unconditionally for addressing nsIDocShell.rs build failure.

Remove direct_call of PPrinting and PRemotePrintJob. Their ipdl are built unconditionally, but their derived classes are not built with --disable-printing.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 01:25:36 +00:00
Martin Stransky 1db0f6d0a6 Bug 1554522 - [Wayland] Implement Wayland DMABuf surface, r=jhorak
- Implement WaylandDMABufSurface class which provides basic 2D surfaces located at GPU memory.
- Implement ability to bind it as wl_buffer for direct wayland rendering and R/W mapping for CPU

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

--HG--
extra : moz-landing-system : lando
2019-06-04 11:11:28 +00:00
Martin Stransky 057f924f15 Bug 1554520 - [Wayland] Load DMABuf setup in WaylandDisplay class, r=jhorak
- Implement nsGbmLib object which binds symbols run-time from libgbm.so library.
- Load available DRM pixel formats from Wayland registry and store related modifiers at WaylandDisplay object.
- Implement Gbm device setup at WaylandDisplay.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 08:46:59 +00:00
Martin Stransky 73126f44cc Bug 1555866 - [Wayland] Don't position windows with zero height/width, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33492

--HG--
extra : moz-landing-system : lando
2019-06-03 14:27:29 +00:00
Emilio Cobos Álvarez 21d5c25734 Bug 1553769 - Make nsIWidget::SetFocus infallible, and make it take an enum class. r=NeilDeakin
Only gtk returns failure ever, and nobody checks the result anyway.

Use an enum class so that it's clear from the caller what it means.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 22:13:56 +00:00
Martin Stransky 97b937e201 Bug 1555812 - [Linux][HiDPI] Pass device pixel coordinates to nsXULPopupManager::Rollup(), r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33251

--HG--
extra : moz-landing-system : lando
2019-05-31 13:20:28 +00:00
Martin Stransky ce7abe5c5c Bug 1534936 - [Wayland] Clear transparent popup window background, r=jhorak
When transparent popup window is rendered clear window background to clear
visual artifacts and bold shadows over the popup.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 13:26:58 +00:00
Jonathan Watt 9516915bb5 Bug 1552785. Remove Linux print dialog UI for selecting frameset behavior. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D33390

--HG--
extra : rebase_source : cf725f00d9a6b8e8903bb472193efaeb65eade69
2019-05-15 20:13:46 +01:00
Jan Horak 89fcedf92d Bug 1555653 Fix asserts in WindowBackBufferShm; r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D33147

--HG--
extra : moz-landing-system : lando
2019-05-30 11:33:29 +00:00
Brindusan Cristian bfa0a8a991 Backed out changeset c0895e6c7343 (bug 1553769) for causing build bustages at PluginWidgetProxy.cpp. CLOSED TREE 2019-05-30 01:00:20 +03:00
Emilio Cobos Álvarez 748cc8584f Bug 1553769 - Make nsIWidget::SetFocus infallible, and make it take an enum class. r=NeilDeakin
Only gtk returns failure ever, and nobody checks the result anyway.

Use an enum class so that it's clear from the caller what it means.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 14:37:26 +00:00
Martin Stransky eb09749a72 Bug 1554525 - [Wayland] Implement WindowBackBufferDMABuf backend for Wayland renderer, r=jhorak
- Rename recent WindowBackBuffer class to WindowBackBufferShm to clearly state that it uses Shm memory to store the pixel buffer.
- Implement WindowBackBufferDMABuf which stores pixel data in GPU memory in WaylandDMABufSurface object.
- Use WaylandDMABufSurface as a wayland backend when DMABuf is available and gfx.wayland_dmabuf_backend.enabled is set.
- Implement WindowImageSurface which temporary stores front buffer pixel data. It's used when front buffer is used by compositor and we want to draw.
  Instead of the front/back buffer flip and read-back data from front buffer, don't flip, store the drawing and draw the pixels when compositor
  releases the front buffer.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 12:50:18 +00:00
Martin Stransky da86c908b4 Bug 1554517 - [Wayland] Ship Wayland DMABuf protocol headers, r=jhorak
Ship Wayland DMABuf protocol headers. This is a non-offical extension thus it's missing in stable wayland headers.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 06:07:03 +00:00
Martin Stransky daf67c12bc Bug 1550051 - [Wayland] Don't track invisible popup windows, r=jhorak
Recently we track and position all popups on Wayland which leads to
wrong placement when parent popup window is hidden.

In this patch we use plain gtk_window_move() for hidden popups and
we don't track them so they can't be used as a parent window.

Also implement nsWindow::HideWaylandPopupAndAllChildren() to clearly
hide a popup window with and its children windows.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 11:12:03 +00:00
Jan Horak 1e8f702108 Bug 1553825 - Fix blurry radio and checkbox indicators in menus; r=stransky
This fix wrong rendering of radio and checkbox indicators in menus by
correcting the dimensions acording to used theme.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 06:54:44 +00:00
Kenny Levinsen 3a5fb86b01 Bug 1519940 - Use keyboard_handle_keymap instead of keys-changed on wayland. r=stransky
If OnKeysChanged was called after keyboard_handle_keymap, then our newly configured keymap would be immediately cleared again. In order to avoid such scenario, use only keyboard_handle_keymap on wayland.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 07:00:33 +00:00
Martin Stransky 4d6a93f860 Bug 1527048 - [Linux/Gtk] Remove MOZ_ALLOW_GTK_DARK_THEME and widget.chrome.allow-gtk-dark-theme configuration keys, r=karlt
Use standard Gtk/Gnome way to set Firefox Gtk theme. Gtk theme of web content can be still configured
by widget.content.allow-gtk-dark-theme and widget.content.gtk-theme-override.

Depends on D29823

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

--HG--
extra : moz-landing-system : lando
2019-05-23 07:12:58 +00:00
Martin Stransky e0e56320e5 Bug 1527048 - [Linux/GTK] Fallback to Adwaita light GTK theme for content when system theme has no light variant, r=karlt
We previously disabled system dark themes for Firefox chrome and content by gtk-application-prefer-dark-theme settings.
That option is no longer preferred by gnome project and was removed from tweaks tools. Theme makers are encouraged to use
a different name for the dark theme variants, like Adwaita-dark, Yaru-dark and so on. This option also does not
work when the GTK theme is missing the light variant completely.

To address that, this patch implements heuristics based on https://www.w3.org/TR/AERT/#color-contrast
to check if the system GTK theme has good contrast/visibility with default HTML colors
(white background and black text).

If widget.content.gtk-theme-override is empty and the system theme fails the test with gtk-application-prefer-dark-theme set to false, then Adwaita:light theme is used.

This patch was tested with some distro default light themes (Ambiance, Radiance, Yaru - Ubuntu, Arc - KDE, Menta - MATE)
and dark/light themes are recognized correctly.

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

--HG--
extra : moz-landing-system : lando
2019-05-28 06:51:36 +00:00
Jan Horak 5ac5368bf6 Bug 1546343 - Enable hi-res widget rendering for X11 r=stransky
The code also works for X11, so no reasons to keep it just for Wayland

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

--HG--
extra : moz-landing-system : lando
2019-05-24 06:10:42 +00:00
Coroiu Cristina 16e94ed95a Merge inbound to mozilla-central a=merge 2019-05-27 00:13:53 +03:00