Commit Graph

267 Commits

Author SHA1 Message Date
Andreas Tolfsen
37c8f955e6 bug 1570378: remote: add bc test helper setup() for empty documents r=remote-protocol-reviewers,jdescottes
For many browser-chrome (bc) tests is does not matter what the
document is, as long as it is does not cause state to bleed over
from the previous test.

For these cases this patch introduces a shorthand, setup(), which
calls setupForURL(url) with an empty document generated by toDataURL("").

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

--HG--
extra : moz-landing-system : lando
2019-08-05 11:43:58 +00:00
Andreas Tolfsen
53d0ddbba2 bug 1570378: remote: avoid URI terminology r=remote-protocol-reviewers,jdescottes
Per the URL standard, we should avoid talking about URIs (and indeed
URI, URN, et al.) since the term only serves to mislead.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 11:43:51 +00:00
Narcis Beleuzu
33918de9e6 Backed out 2 changesets (bug 1570378) for ESlint failure on browser_page_javascriptDialog_ . CLOSED TREE
Backed out changeset 412894c27fa2 (bug 1570378)
Backed out changeset adb3dec1090b (bug 1570378)
2019-08-05 13:42:46 +03:00
Andreas Tolfsen
e27f8cd92f bug 1570378: remote: add bc test helper setup() for empty documents r=remote-protocol-reviewers,jdescottes
For many browser-chrome (bc) tests is does not matter what the
document is, as long as it is does not cause state to bleed over
from the previous test.

For these cases this patch introduces a shorthand, setup(), which
calls setupForURL(url) with an empty document generated by toDataURL("").

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

--HG--
extra : moz-landing-system : lando
2019-08-02 16:29:35 +00:00
Andreas Tolfsen
c0923e6186 bug 1570378: remote: avoid URI terminology r=remote-protocol-reviewers,jdescottes
Per the URL standard, we should avoid talking about URIs (and indeed
URI, URN, et al.) since the term only serves to mislead.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 16:28:42 +00:00
Andreas Tolfsen
ebaff7b547 bug 1563533: remote: update bc tests to use document inlining; r=remote-protocol-reviewers,jdescottes
Some local adaptions have been made, but this is mostly functionally
equivalent.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 12:52:21 +00:00
Andreas Tolfsen
c4d142e772 bug 1563533: remote: add toDataURL document inlining helper; r=remote-protocol-reviewers,jdescottes
Introduces helper function, toDataURL(), that takes a document
extract and produces a data URL with the necessary properties for
Gecko to recognise it as an HTML document with the correct media type.

This has the benefit that HTML fragments and tags such as < and > are
encoded correctly, which is an obvious safety-win, and subsequently
that documents can be created on-the-fly with minimal code.

It will be possible to extend this function for other document types,
such as XHTML, XML, and even binary formats, as needed in the future.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 16:26:01 +00:00
Julian Descottes
e64c2ab141 Bug 1545724 - Add support for javascriptDialog APIs in Page domain r=remote-protocol-reviewers,whimboo,ochameau
Depends on D37168

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

--HG--
extra : moz-landing-system : lando
2019-08-01 12:25:57 +00:00
Andreas Tolfsen
705bbac14e bug 1570290: remote: fix duplicate implicit target in docs; r=me a=doc
Fixes lint warning.

MANUAL PUSH: doc change
DONTBUILD
2019-07-31 13:50:42 +01:00
Andreas Tolfsen
2fe8ddbb8c bug 1553756: remote: let Runtime.evaluate default to the current context; r=remote-protocol-reviewers,ochameau
If the contextId parameter is omitted when calling Runtime.evaluate,
the expression will be performed in the context of the currently
inspected page.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 15:02:53 +00:00
Kris Maglione
ef02b3cbd8 Bug 1568035: Part 1 - Skip tests which cause shutdown leaks under Fission. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D39459

--HG--
extra : rebase_source : 594e7c17a8aa81f9b212ff1fa492a8ab8f40d5ee
2019-07-19 15:31:16 -07:00
Andreas Tolfsen
f7dd1ffde1 bug 1568865: remote: add missing license headers; r=remote-protocol-reviewers,jdescottes
Automatic output from running:

	% ./mach lint --fix remote/

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

--HG--
extra : moz-landing-system : lando
2019-07-25 15:41:12 +00:00
Andreea Pavel
e4263c00eb Merge mozilla-inbound to mozilla-central. a=merge 2019-07-25 08:59:39 +03:00
Boris Zbarsky
9d613f2dd4 Bug 1568581. Stop mixing XULWindow and Window instances in TabObserver.jsm. r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D39220

--HG--
extra : moz-landing-system : lando
2019-07-24 16:43:26 +00:00
Julian Descottes
2959ff7f5e Bug 1567436 - Support consecutive dispatchKeyEvents with the same type r=remote-protocol-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D38647

--HG--
extra : moz-landing-system : lando
2019-07-22 19:23:01 +00:00
Kris Maglione
e40b418215 Bug 1566952: Part 2 - Update Fission failure annotations after skipping crashes. r=mccr8
When a test crashes, the harness skips all of the remaining tests in the
directory. That means that with crashes skipped, we now try to run a whole lot
more tests than we did before, and a lot of them fail under Fission.

This patch adds annotations to the new failures that show up after part 1.

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

--HG--
extra : rebase_source : 292157039c88fc615f5de41679e96e72766ac4db
2019-07-19 12:30:10 -07:00
Alexandre Poirot
f0a9475719 Bug 1563690 - Make Target class save a list of Connection rather than Session. r=remote-protocol-reviewers,jdescottes
Connection already saves the list of Session, so it is more natural
to save it only once there and instead directly close the connections
from Target. Each connection is going to cleanup all related sessions.

I also stop automatically registering the session to the connection from Session constructor,
it felt not explicit enough.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 16:39:11 +00:00
Alexandre Poirot
6deb23fefc Bug 1563689 - Release DOM event listeners set on top level windows. r=remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D38205

--HG--
extra : moz-landing-system : lando
2019-07-18 09:48:18 +00:00
Alexandre Poirot
3342beba03 Bug 1563689 - Ensure removing listeners set by TabObserver. r=remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D38201

--HG--
extra : moz-landing-system : lando
2019-07-16 16:30:10 +00:00
Alexandre Poirot
111854b5a5 Bug 1563689 - Revamp how targets are watched and reported. r=remote-protocol-reviewers,ato,jdescottes
* TabObserver is rather an helper class of Targets rather than RemoteAgent.
  Targets is the class which holds all the targets and reports about their
  creation and destructor. It feels legitimate to have it directly integrate
  with TabObserver.
* To better sort of the files. i.e. avoid having "random files" in /remote/
  I'm renaming and moving TabObserver according to its usage.
* We were emitting "connect" and "disconnect" event when a target was created
  or destroyed. But this is misleading as there is no connection to anything
  being made. Only later, a CDP client might connect to a target HTTP endpoint
  and initiate a connection. These events are making this hard to understand
  that the connection actually happens when Target.handle is called.

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

--HG--
rename : remote/WindowManager.jsm => remote/targets/TabObserver.jsm
extra : moz-landing-system : lando
2019-07-18 12:30:10 +00:00
Julian Descottes
7185b8d42a Bug 1562740 - Add test for race condition when using dispatchKeyEvent r=remote-protocol-reviewers,ato,ochameau
Depends on D37167

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

--HG--
extra : moz-landing-system : lando
2019-07-18 10:02:41 +00:00
Julian Descottes
2a6e2fcbe4 Bug 1562740 - Simplify dispatchKeyEvent test and stop waiting for content events in the test r=remote-protocol-reviewers,ochameau
Depends on D37166

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

--HG--
extra : moz-landing-system : lando
2019-07-12 08:30:43 +00:00
Julian Descottes
3958f91262 Bug 1562740 - Input:dispatchKeyEvent should wait for events in content process r=remote-protocol-reviewers,ochameau
Depends on D37165

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

--HG--
extra : moz-landing-system : lando
2019-07-12 08:30:30 +00:00
Julian Descottes
981f531b1f Bug 1562740 - Allow Domains managed by a TabSession to call executeInChild r=remote-protocol-reviewers,ochameau
Depends on D37046.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 08:30:03 +00:00
Kris Maglione
0962c2b731 Bug 1566182: Annotate mochitests that fail with Fission enabled. r=mccr8
My preference was to annotate most of the failing tests with `fail-if` so that
if they start passing, the `fail-if` needs to be removed and they need to keep
passing. That doesn't work for tests that timeout, or which trigger failures
from their cleanup functions, however, so those tests need skip-if. And tests
with fail in their cleanup functions likely leave the browser in an
inconsistent state for subsequent tests, anyway, so really should be skipped
regardless.

There are some remaining tests which still fail because of crashes. I chose
not to skip them here, but to fix the crashes in separate bugs instead.

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

--HG--
extra : rebase_source : 39ba8fec2e882cfe577c5f2b58ab7e4b461f1178
2019-07-15 16:19:32 -07:00
Alexandre Poirot
3c8a0466f7 Bug 1544458 - Document the remote agent architecture. r=remote-protocol-reviewers,ato,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D36792

--HG--
extra : moz-landing-system : lando
2019-07-11 17:29:53 +00:00
Alexandre Poirot
370bc3f1f2 Bug 1563692 - Move all CDP's JSON packet handling to Connection. r=remote-protocol-reviewers,jdescottes,ato
This helps sharing a single implementation of how the JSON objects
are read and written from/to the WebSocket connection.
Also, by delegating the command calls to the Session via `Session.execute`
and expecting a promise with a resolution or rejection, we make error
handling of command calls clearer and unified.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 17:45:29 +00:00
Alexandre Poirot
2cb94420be Bug 1563687 - Rename Targets.disconnect to destructor to better match project's conventions. r=remote-protocol-reviewers,jdescottes,ato
Connect and disconnect in misleading here as a target aren't connected/disconnected,
but instead, being unregistered and destroyed. The fact that they are "disconnected"
is a side effect of this destruction. Also note that a Target is never "connected",
it is only a Connection and its related sessions which really are connected to a remote client.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 16:32:35 +00:00
Julian Descottes
337fec9e49 Bug 1564360 - Ignore iframes for Page.frameNavigated r=remote-protocol-reviewers,ochameau
WIP to illustrate a fix for this issue

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

--HG--
extra : moz-landing-system : lando
2019-07-10 04:57:35 +00:00
Alexandre Poirot
9c99764b14 Bug 1563685 - Rename WebSocketDebuggerTransport class to match its JSM file name. r=remote-protocol-reviewers,jdescottes,ato
Differential Revision: https://phabricator.services.mozilla.com/D37040

--HG--
extra : moz-landing-system : lando
2019-07-09 09:36:16 +00:00
Alexandre Poirot
6713234855 Bug 1563685 - Rename WebSocket.jsm and drop unused accept method. r=remote-protocol-reviewers,jdescottes,ato
Differential Revision: https://phabricator.services.mozilla.com/D37039

--HG--
rename : remote/server/WebSocket.jsm => remote/server/WebSocketHandshake.jsm
extra : moz-landing-system : lando
2019-07-09 09:36:14 +00:00
shindli
351e9a95ce Backed out 2 changesets (bug 1563685) for causing bc perma failures in browser/base/content/test/static/browser_all_files_referenced.js CLOSED TREE
Backed out changeset 10109cbe9641 (bug 1563685)
Backed out changeset 6525d810b0b0 (bug 1563685)

--HG--
rename : remote/server/WebSocketHandshake.jsm => remote/server/WebSocket.jsm
2019-07-08 22:25:34 +03:00
Alexandre Poirot
a07eadfa52 Bug 1563685 - Rename WebSocketDebuggerTransport class to match its JSM file name. r=remote-protocol-reviewers,jdescottes,ato
Differential Revision: https://phabricator.services.mozilla.com/D37040

--HG--
extra : moz-landing-system : lando
2019-07-08 15:03:12 +00:00
Alexandre Poirot
22a355f138 Bug 1563685 - Rename WebSocket.jsm and drop unused accept method. r=remote-protocol-reviewers,jdescottes,ato
Differential Revision: https://phabricator.services.mozilla.com/D37039

--HG--
rename : remote/server/WebSocket.jsm => remote/server/WebSocketHandshake.jsm
extra : moz-landing-system : lando
2019-07-08 15:03:10 +00:00
Alexandre Poirot
c64c4d7ee4 Bug 1563687 - Renamed ContentProcessSession.destroy to destructor in order to match this project's conventions. r=remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D37041

--HG--
extra : moz-landing-system : lando
2019-07-08 15:07:09 +00:00
Sebastian Hengst
da66a3d83c Bug 1563621 - Fix browser_main_target.js product assertion when running in headless mode: take new Prettier style into account. a=eslint-fix CLOSED TREE 2019-07-05 21:18:51 +02:00
Julian Descottes
b8813ed35c Bug 1563621 - Fix browser_main_target.js product assertion when running in headless mode r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D37005

--HG--
extra : moz-landing-system : lando
2019-07-05 07:01:19 +00:00
Victor Porof
77c95c13f4 Bug 1561435 - Fix linting errors for remote/, r=standard8
# ignore-this-changeset

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

--HG--
extra : source : ae886697ab13ffcff18917578627c537cdca2b6e
extra : intermediate-source : 80795ef6e0c395f9cea18a4a9f813409f6844494
2019-06-21 15:57:42 -07:00
Victor Porof
991b3c93c6 Bug 1561435 - Format remote/, a=automatic-formatting
# ignore-this-changeset

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

--HG--
extra : source : b793788d0f38244b33eb59ea36e2c6624dbd12c5
2019-07-05 10:56:48 +02:00
Alexandre Poirot
6e45d0129a Bug 1560301 - Implement very minimal support of browser context. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D35427

--HG--
extra : moz-landing-system : lando
2019-07-02 12:40:58 +00:00
Alexandre Poirot
a3a3535d2d Bug 1543185 - Implement Input.dispatchMouseEvent. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D27500

--HG--
extra : moz-landing-system : lando
2019-07-01 08:34:04 +00:00
Julian Descottes
5cbe9516b1 Bug 1562205 - Enable selectionchange on inputs for test browser_input_dispatchKeyEvent.js
The test was relying on selectionchange events fired on an input text element.
This event is behind a pref, flip the pref to true during the test in order to make it
pass on all channels

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

--HG--
extra : moz-landing-system : lando
2019-06-30 15:17:38 +00:00
Alexandre Poirot
7c4f974fe1 Bug 1552325 - Implement Network.requestWillBeSent. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D36008

--HG--
extra : moz-landing-system : lando
2019-06-28 08:16:46 +00:00
Andrey Lushnikov
49180a060f Bug 1552325 - Land juggler's network observer. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D36007

--HG--
extra : moz-landing-system : lando
2019-06-28 08:16:45 +00:00
Julian Descottes
cebb0662f3 Bug 1543142 - Wait for explicit events in dispatchKeyEvent test r=ochameau
Depends on D36047

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

--HG--
extra : moz-landing-system : lando
2019-06-27 15:09:13 +00:00
Julian Descottes
6e7fb9f53a Bug 1543142 - Add basic test for dispatchKeyEvent r=remote-protocol-reviewers,ochameau
Depends on D36044

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

--HG--
extra : moz-landing-system : lando
2019-06-27 12:10:45 +00:00
Julian Descottes
21c37aac79 Bug 1543142 - Implement basic dispatchKeyEvent in parent Input domain r=ato
Differential Revision: https://phabricator.services.mozilla.com/D36044

--HG--
extra : moz-landing-system : lando
2019-06-27 14:47:18 +00:00
Alexandre Poirot
cf99fa36d0 Bug 1536862 - Register RemoteAgent JS XPCOM by using new registration method. r=ato
Differential Revision: https://phabricator.services.mozilla.com/D24228

--HG--
extra : moz-landing-system : lando
2019-06-26 20:25:43 +00:00
Alexandre Poirot
8a4336ab05 Bug 1545726 - Implement DOM.getBoxModel. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D30203

--HG--
extra : moz-landing-system : lando
2019-06-25 19:34:05 +00:00
Alexandre Poirot
c96f5c4244 Bug 1543151 - Implement DOM.getContentQuads. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D27519

--HG--
extra : moz-landing-system : lando
2019-06-25 19:34:05 +00:00