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

6 Коммитов

Автор SHA1 Сообщение Дата
Martin Stransky da41393bd7 Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak
- Rename X11CompositorWidget to GtkCompositorWidget to handle both X11 and Wayland backends.
- Rename X11CompositorWidgetInitData to GtkCompositorWidgetInitData
- Implement Wayland support at WindowSurfaceProvider, WindowSurfaceProvider::CreateWindowSurface()
  is able to create WindowSurfaceWayland.
- Initialize Wayland surface provider at nsWindow::Create()

MozReview-Commit-ID: 1WvR9nWHa3L

--HG--
rename : widget/gtk/X11CompositorWidget.cpp => widget/gtk/GtkCompositorWidget.cpp
rename : widget/gtk/X11CompositorWidget.h => widget/gtk/GtkCompositorWidget.h
rename : widget/gtk/InProcessX11CompositorWidget.cpp => widget/gtk/InProcessGtkCompositorWidget.cpp
rename : widget/gtk/InProcessX11CompositorWidget.h => widget/gtk/InProcessGtkCompositorWidget.h
extra : rebase_source : d54186515b066b957d8ad05bb5540db55f2e9415
2017-12-18 20:20:02 +01:00
Michael Smith 6fcebfbe5b Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander
To make the HeadlessCompositorWidget work under Windows as well as Linux, I had
to change the way that I hooked it into the existing CompositorWidget system.
Under GTK, the CompositorWidgetInitData and CompositorWidgetDelegate types
provided the information needed by the headless compositor widget already (the
widget client size). On Windows, however, the definitions of these types
differ, and the client size information is simply retrieved from the platform
APIs when needed.

After this patch, CompositorWidgetDelegate is renamed to
PlatformCompositorWidgetDelegate, and a new base class called
CompositorWidgetDelegate is added with "AsPlatformSpecificDelegate()" and
"AsHeadlessCompositorWidget()" methods. In non-headless mode, widgets use
AsPlatformSpecificDelegate() to access the Windows- and GTK-specific delegate
APIs. In headless mode, AsHeadlessCompositorWidget() is used to access the
singular CompositorWidget implementation for headless. Meanwhile, the
CompositorWidgetInitData IPDL type is made into a union which always contains a
headless-specific HeadlessCompositorWidgetInitData struct and under GTK and
Windows also contains an {X11,Win}CompositorWidgetInitData struct.

This also includes a small patch to ensure that the GPU process and
hardware-accelerated compositing are always disabled under headless mode. These
features weren't activated by default in the Linux environments I tested in, but
did end up activating (and then promptly crashing Firefox) when I tested on
Windows.

MozReview-Commit-ID: CocPoHBDV7H

--HG--
extra : rebase_source : 4581fa63aa3a9f32a8dc2672015a35b9be01b20f
2017-07-06 17:45:34 -07:00
Kan-Ru Chen f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Ryan Hunt 9aa1274fbd Bug 1289251 - Create a CompositorWidget for GTK+X11 platform. r=acomminos,jrmuizel
MozReview-Commit-ID: 1eq3rRwv1g3

--HG--
extra : rebase_source : a6a5a51d58009beb4219586014cc512ecb28ea20
2016-07-22 10:23:07 -07:00
Sebastian Hengst 0f39134046 Backed out changeset c0285428a8a0 (bug 1289251) 2016-09-02 10:25:43 +02:00
Ryan Hunt 8c1ca9e531 Bug 1289251 - Create a CompositorWidget for GTK+X11 platform. r=acomminos,jrmuizel
MozReview-Commit-ID: 1eq3rRwv1g3

--HG--
extra : rebase_source : 525f7e0c20fd166d8e6420e8d692edb3459b2d7a
2016-07-22 10:23:07 -07:00