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

8 Коммитов

Автор SHA1 Сообщение Дата
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
Kartikaya Gupta ac6cc8ce06 Bug 1330037 - Propagate the CompositorOptions to all CompositorWidget instances. r=dvander
MozReview-Commit-ID: DFeeo2WNmhZ

--HG--
extra : rebase_source : d40bea7f726df007e3f079bb9576e1cbe17e3460
2017-01-12 17:29:42 -05:00
Ryan Hunt ba1fc57c65 Bug 1289251 - Allow GLContextProviderGLX to create a GLContext out of process. r=acomminos,jgilbert
MozReview-Commit-ID: 9AdBGkEzI1n

--HG--
extra : rebase_source : 419b2b50f2f1ede60dbda4d527b637e8c44ffc91
2016-08-29 17:14:20 -07: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
Sebastian Hengst 47d3ad2b27 Backed out changeset 2df13967b746 (bug 1289251) 2016-09-02 10:25:38 +02:00
Ryan Hunt aa59d5109d Bug 1289251 - Allow GLContextProviderGLX to create a GLContext out of process. r=acomminos,jgilbert
MozReview-Commit-ID: 9AdBGkEzI1n

--HG--
extra : rebase_source : ba5a9ffc4897cab71cf5fd0a03379c15ffad4fa4
2016-08-29 17:14:20 -07: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