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

140 Коммитов

Автор SHA1 Сообщение Дата
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
Brendan Dahl ce5b5fa465 Bug 1409580 - Raise headless sheet widgets when shown. r=jrmuizel
Fixes:
 - test_modal_prompts.html
 - test_prompt.html

MozReview-Commit-ID: IHkrqAaMe7L

--HG--
extra : rebase_source : 9a7e377f621fdad5a30a178e5f82d7f8d8b24105
2017-10-19 17:09:28 -07:00
Brendan Dahl 5530b8b09e Bug 1409580 - Use different scroll delta modes on different platforms in headless. r=jrmuizel
Fixes test_group_wheelevents.html

MozReview-Commit-ID: Ctq0WngKG15

--HG--
extra : rebase_source : 4322e00378827c34d83c2b732da7564ed0b3e00e
2017-10-19 15:57:39 -07:00
Brendan Dahl a58c9d187c Bug 1409580 - Use top level widget for headless screen offset. r=jrmuizel
Fixes test_group_mouseevents.html

MozReview-Commit-ID: dHItN6BssI

--HG--
extra : rebase_source : 2cb934efd8f94ec1cb817851e79442264a739a98
2017-10-19 15:55:35 -07:00
Brendan Dahl c161ff02d7 Bug 1409580 - Support edit command mapping in headless MacOS. r=masayuki
Extracts out the creation of an NSEvent from a WidgetKeyEvent in
TextInputHandler.mm into generic helper method. The helper is used by headless
to create a fake NSEvent to then build edit commands from key events.

Fixes:
- test_selectevents.html
- test_bug756984.html
- test_movement_by_characters.html
- test_movement_by_words.html
- test_backspace_vs.html
- test_bug1094000.html
- ... many key event tests

MozReview-Commit-ID: 1Jur5MHOrkp

--HG--
extra : rebase_source : fbe320aff8fd2e1b36f3b46e02336e9fc89c48d0
2017-10-13 17:40:27 -07:00
Brendan Dahl d50e954d56 Bug 1408220 - Fix the headless windows scroll multiplier. r=jrmuizel
Fixes test_group_wheelevents.html

--HG--
extra : rebase_source : 1f0577d4a2d14de231a8fc6587902bc76ddb8e6f
2017-10-11 13:28:50 -07:00
Sebastian Hengst 32f7c8fec3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
Brendan Dahl affa6b60d0 Bug 1399956 - Support synthesized touch events. r=jrmuizel
Fixes test_group_pointerevents.html

MozReview-Commit-ID: 7RPkiHtx0rj
2017-10-16 16:15:45 -07:00
Brendan Dahl 357f877106 Bug 1399956 - Support synthesized scroll events. r=jrmuizel
Fixes test_bug1151667.html

MozReview-Commit-ID: 8lCHNTA8zIL
2017-10-16 16:15:45 -07:00
Brendan Dahl 45352c7de8 Bug 1399956 - Default to san-serif for headless font. r=jrmuizel
Fixes problem with the initial computed value of font-family
being empty and not matching the later value in
test_value_storage.html.

MozReview-Commit-ID: HOHvMZPP1GD
2017-10-16 16:15:45 -07:00
Brendan Dahl 18db282eaa Bug 1399956 - Add logging to headless widget. r=jrmuizel
Use similar logging to the various nsWindows to make
debugging easier.

MozReview-Commit-ID: 5AsaehQsOtA
2017-10-16 16:15:45 -07:00
Brendan Dahl 72ed58e8b8 Bug 1399956 - Add basic hard coded GTK theme in headless. r=jrmuizel
Many tests rely on the minimum size of widgets to
be set. Also, the precise size seems to matter for some
tests that have hard coded offsets.

MozReview-Commit-ID: BglZD1cKdY9
2017-10-16 16:15:45 -07:00
Brendan Dahl d9e05f42d9 Bug 1399956 - Support synthesized mouse events. r=jrmuizel
Fixes:
 - test_pointerlock-api.html
 - test_group_mouseevents.html

MozReview-Commit-ID: 82RKzjJv9X1
2017-10-16 16:15:45 -07:00
Brendan Dahl f2ed681b19 Bug 1399956 - Track top level windows in headless mode for window ordering. r=jrmuizel
This better emulates a window manager and triggers the
required activated/deactivated events on the proper windows as
they are closed or hidden.

MozReview-Commit-ID: 1A2JTp8i4VE
2017-10-16 16:15:45 -07:00
Emilio Cobos Álvarez e808575ca4 Bug 1406631: Remove the color-picker-available system metric. r=xidorn
All our widgets support it with a constant true.

MozReview-Commit-ID: JMEItUsxYWq

--HG--
extra : rebase_source : e7e0a3f83001813239338bc5b3895252e1fb3ea6
2017-10-07 14:06:44 +02:00
Emilio Cobos Álvarez 63db5c2845 Bug 1408838: Remove -moz-physical-home-button system metric. r=xidorn
MozReview-Commit-ID: A7nZdj6GQtM

--HG--
extra : rebase_source : b721a9e21e935fdb08bb0b0342d447d89509986b
2017-10-16 08:57:59 +02:00
Sebastian Hengst b29f365446 Backed out changeset f70d6fcdb760 (bug 1406631) for failing color related reftests like layout/reftests/writing-mode/ua-style-sheet-input-color-1.html on Android. r=backout 2017-10-07 20:08:12 +02:00
Emilio Cobos Álvarez b7befbe6b5 Bug 1406631: Remove the color-picker-available system metric. r=xidorn
All our widgets support it with a constant true.

MozReview-Commit-ID: JMEItUsxYWq

--HG--
extra : rebase_source : a2661dce1ac191fdf098e631cd7878f0215643d5
2017-10-07 14:06:44 +02:00
Manish Goregaokar b74c4d0f69 Bug 1386915 - Add nsLookAndFeel::NativeInit() virtual call for initializing native-side state; r=jfkthame
MozReview-Commit-ID: 8XKSC1AOI0N
2017-08-06 15:41:08 -07:00
Michael Smith 12625b29bf Bug 1373739 - Headless: use native look-and-feel on Win, hardcoded on Linux. r=bdahl
MozReview-Commit-ID: 3CB1n7ccy86

--HG--
extra : rebase_source : 4000cf950d09f4a4c3191706c11cec0031aec924
2017-07-05 19:41:21 -07: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
Michael Smith 765d8e318e Bug 1373739 - Make headless widgets hidden by default, matching other platforms. r=bdahl
It seems that my reworking of how the z-index events are sent in the patch
pertaining to active window tracking made it so that we can have headless
widgets default to being invisible again, which matches the behavior on all
other platforms. This then allows us to avoid applying size mode change side
effects while a window/widget is invisible, matching the behavior on Windows and
allowing the relevant web platform tests to pass despite the low screen
resolution with which we run Windows VMs in testing (eg.
open-features-non-integer-height.html).

MozReview-Commit-ID: 3xnaEn7RImP

--HG--
extra : rebase_source : 0c573f92b02a58aca28c71dd897ae7a443f50844
2017-07-11 13:57:25 -07:00
Michael Smith 632f364e09 Bug 1373739 - Use ClientLayerManager in headless mode. r=dvander,jrmuizel
This fixes a series of issues uncovered by the Web Platform Tests.

The most immediately noticeable symptom was that, during shutdown, PuppetWidgets
on the client side attempted to delete shadow layers that were never created on
the compositor side. The usage of BasicLayerManager in all other widgets due to
headless mode meant that the PLayerTransactionParent was never initialized with
a layer manager, and thus discarded all transaction messages it received but not
delete layer messages.

The effects of only using BasicLayerManager in headless mode also showed up in
the web platform reftests, which ended up as blank white boxes in e10s mode as
the compositor thread never received paint instructions. Switching over to
using ClientLayerManager in headless mode causes these paint instructions to be
relayed.

In order to make ClientLayerManager work under headless mode, it was necessary
to implement a HeadlessCompositorWidget and hook that up to the CompositorWidget
creation function in widget/gtk. A follow-up patch will be necessary to hook up
the same for the other supported widget platforms.

MozReview-Commit-ID: 8vB3lrxP7iX

--HG--
extra : rebase_source : 4013aa856943c983b44266c4a83436b253bc7ab1
2017-06-21 08:50:02 -07:00
Michael Smith bb844faed7 Bug 1373739 - Simulate window activation events in headless mode. r=jrmuizel
This is necessary for focus events to propagate correctly. Otherwise,
/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_004.html in the
Web Platform Tests fails, for example.

MozReview-Commit-ID: 69GItIaQWfr

--HG--
extra : rebase_source : 24eb487d35b273c8bd128c0e7450946b36467b7b
2017-06-21 08:51:39 -07:00
Michael Smith f2f89289d9 Bug 1373739 - Constrain widget size to screen size in headless mode. r=jrmuizel
Every other widget backend ensures widget size is bounded to screen size, but
this check was missing from headless.

MozReview-Commit-ID: 6bKIAkdRxoO

--HG--
extra : rebase_source : 6494a347aba323b977b845a1b70555fb1ab53864
2017-06-22 15:31:32 -07:00
Brendan Dahl cbbcce1fa2 Bug 1383078 - Use at minimum a 1,1 draw target in headless. r=jrmuizel 2017-07-25 09:04:54 -07:00
Samael Wang 3810bc3903 Bug 1350643 - Part 3: Add GetDPI to nsIScreen & ScreenDetails. r=kanru
MozReview-Commit-ID: HEFyuYV26Wy

--HG--
extra : rebase_source : fb172f4ba99ab7119036ddf4ec1b3eeeaead186c
2017-06-06 18:09:34 +08:00
Brendan Dahl 80c9890f5c Bug 1376812 - Create default headless draw target. r=jrmuizel
Defining the default draw target avoids the previous mix of cairo
and d2d layers, which would trigger an assertion when capturing
a page with the widget layers.
2017-07-13 16:55:23 -07:00
Florian Quèze 66f6d259bc Bug 1374282 - script generated patch to remove Task.jsm calls, r=Mossop. 2017-06-22 12:51:42 +02:00
Brendan Dahl 50d7ed279a Bug 1355150 - Enable headless mode on windows. r=automatedtester, r=jrmuizel 2017-06-20 15:27:02 -07:00
Brendan Dahl 79318e1a8c Bug 1370704 - Use retained layer manager in headless. r=jmuizelaar 2017-06-14 11:02:10 -07:00
Brendan Dahl 9541cf8db0 Bug 1367227 - Part 1 - Match headless fullscreen behavior to other widget backends. r=jrmuizel
Restore size mode after leaving fullscreen. Also, trigger fullscreen
and size mode changed events during MakeFullScreen.
2017-05-31 16:29:10 -07:00
Brendan Dahl a071a0f003 Bug 1356681 - Expand headless mode support for linux. r=automatedtester,jrmuizel,kanru
Full Firefox on Linux can now be run with a --headless flag.
This includes seven parts:
1) Running all marionette tests in headless mode.
2) Prevents crashes where Firefox calls into GTK.
3) Adds a headless screen helper which supports changing the headless
screen size with the environment variables MOZ_HEADLESS_WIDTH and
MOZ_HEADLESS_HEIGHT.
4) Supports simulating moving a headless window.
5) Adds a stubbed out nsSound implementation.
6) Supports simulating size mode changes of headless windows.
7) Adds the --headless flag for Firefox.
2017-05-18 17:47:10 -07:00
Jan Beich ecfde05fec Bug 1362847 - Allow headless on other Gtk platforms. r=bdahl
MozReview-Commit-ID: 9NRiPQA73ov

--HG--
extra : rebase_source : d9dc0fb9cf671fd05db27cd9dffb300bfdb9dba9
2017-05-07 10:34:49 +00:00
Brendan Dahl 0dd2fb109f Bug 1353938 - Add a basic clipboard for headless.
Adds a headless clipboard that supports copying
and pasting text.
2017-04-21 15:21:51 -07:00
Joel Maher 99137683e9 Bug 1355089 - add BUG_COMPONENT to widget/* files. r=mstange,jimm
MozReview-Commit-ID: 49Ug2HTqHnf
2017-04-14 05:54:36 -04:00
Brendan Dahl b082e33320 Bug 1353939 - Disable drag service in headless mode. r=jrmuizel
Drag service calls into GTK causing a crash in headless mode.
2017-04-10 11:30:52 -07:00
Brendan Dahl a1f2e12af8 Bug 1338004 - Add headless browser mode. r=jrmuizel, r=ted
Supports creating a windowless browser on Linux without an X server. Most of the
changes are just adding branches to avoid calls in to GTK which calls
into X. Some of the bigger additions were adding a separate headless widget
which implements just enough to render a page. A headless look and
feel were also added since there are many calls into GTK in the platform
specific one.
2017-04-04 10:22:00 -04:00