Commit Graph

113 Commits

Author SHA1 Message Date
Andreas Tolfsen
828d520cc2 bug 1537770: remote: default RemoteAgentError#notify() to print stack; r=ochameau
When remote/JSONHandler.jsm intercepts errors thrown during the
handling of an HTTP request, it is without except the underlying
cause of the problem you wish RemoteAgentError#notify() to give you.

Under no circumstances are you interested in where the error is re-thrown.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 11:42:08 +00:00
Alexandre Poirot
0b2e8e6e9d Bug 1539213 - Emit Target.targetCreated for already-opened tabs. r=ato
When `Target.setDiscoverTargets` is called, one `Target.targetCreated` event
should be sent per already opened tab.

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

--HG--
extra : moz-landing-system : lando
2019-04-01 14:25:28 +00:00
Mark Banner
dba6983e75 Bug 1415265 - Remove now unnecessary .eslintrc.js files or entries. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D23850

--HG--
extra : moz-landing-system : lando
2019-03-28 09:38:14 +00:00
Andreea Pavel
a7cd412f0e Merge mozilla-central to mozilla-inbound. on a CLOSED TREE 2019-03-22 18:51:53 +02:00
Andreas Tolfsen
fe2449bf59 bug 1538187: remote: correct irc chatroom; r=me a=doc
DONTBUILD
2019-03-22 14:18:08 +00:00
Andreas Tolfsen
814d8ab46d bug 1538187: remote: fix hyperlinks in index; r=me a=doc
DONTBUILD
2019-03-22 14:18:07 +00:00
Andreas Tolfsen
d71a2b110c bug 1538187: remote: correct chapter title in docs; r=me a=doc
DONTBUILD
2019-03-22 14:18:07 +00:00
Alexandre Poirot
26d0c79caa Bug 1536888 - Move the remote agent to a JSM. r=ato
This will later help register the component statically in bug 1536862.
And already ease using the remote agent from other JSM files.

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

--HG--
rename : remote/RemoteAgent.js => remote/RemoteAgent.jsm
extra : moz-landing-system : lando
2019-03-22 09:46:50 +00:00
Alexandre Poirot
17165546af Bug 1536794 - Test Page.frameStoppedLoading and Page.navigatedWithinDocument. r=ato
Depends on D24222

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

--HG--
extra : moz-landing-system : lando
2019-03-21 14:23:20 +00:00
Alexandre Poirot
4decca62c1 Bug 1536794 - Add test to cover /json/version endpoint and Target domain. r=ato
Depends on D24221

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

--HG--
extra : moz-landing-system : lando
2019-03-21 14:18:03 +00:00
Alexandre Poirot
7d04b7c5e0 Bug 1536794 - Moving Target's path definition to a unique place, on Target class. r=ato
Doing this helps fixing the main target's path which is meant to be:
  /devtools/browser

Depends on D24220

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

--HG--
extra : moz-landing-system : lando
2019-03-21 14:17:30 +00:00
Alexandre Poirot
4c3f075b45 Bug 1536794 - Close httpd's Connection when closing the remote agent's server. r=ato
This fixes the browser mochitest which currently timesout when calling server.close()
It started to timeout when the patch related to websocket handshake landed.

Depends on D24219

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

--HG--
extra : moz-landing-system : lando
2019-03-21 14:17:36 +00:00
Alexandre Poirot
8f9717d1e8 Bug 1536794 - Implement a base Target class. r=ato
In this revision it only helps sharing `handle`.
But in a followup changeset, it will also help closing all the connections
and justify the `sessions` map we keep around.

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

--HG--
rename : remote/targets/MainProcessTarget.jsm => remote/targets/Target.jsm
extra : moz-landing-system : lando
2019-03-21 14:17:21 +00:00
Alexandre Poirot
17c4360455 Bug 1536890 - Remove the workaround in chrome-remote-interface now that remote agent supports websocket handshake. r=ato
Differential Revision: https://phabricator.services.mozilla.com/D24225

--HG--
extra : moz-landing-system : lando
2019-03-21 13:28:05 +00:00
Andreas Tolfsen
0d03682458 bug 1534827: remote: fix constants in transitionToLoadFlag; r=yulia
The transitionType is converted into undefined because there is a typo
in the constants.  These should be "FLAGS" rather than "FLAG".

Thanks-to: Mark Banner <standard8@mozilla.com>

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

--HG--
extra : moz-landing-system : lando
2019-03-13 14:35:57 +00:00
Andreas Tolfsen
d5fb86f134 bug 1534829: remote: map source code to bug components; r=yulia
DevTools :: Remote Agent was removed in favour of a new product,
Remote Protocol.  This corrects the file metadata mapping for the
agent.

The patch also adds mapping for new domains.  Not all of the
components exist yet, but this is tracked separately in
https://bugzilla.mozilla.org/show_bug.cgi?id=1534970.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 14:03:16 +00:00
Andreas Tolfsen
8b16d7980d bug 1534247: remote: fix typos in usage docs; r=me a=doc 2019-03-12 14:30:06 +00:00
Alexandre Poirot
a7f9d31d4c Bug 1533682 - Implements empty domains used by puppeteer. r=ato
Puppetteer enable all these domains. Implement enable methods in order to prevent it from crashing on that.

Depends on D22695

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

--HG--
rename : remote/domains/ContentProcessDomains.jsm => remote/domains/content/Emulation.jsm
rename : remote/domains/ContentProcessDomains.jsm => remote/domains/content/Network.jsm
rename : remote/domains/ContentProcessDomains.jsm => remote/domains/content/Performance.jsm
rename : remote/domains/ContentProcessDomains.jsm => remote/domains/content/Runtime.jsm
rename : remote/domains/ContentProcessDomains.jsm => remote/domains/content/Security.jsm
extra : moz-landing-system : lando
2019-03-11 12:51:09 +00:00
Alexandre Poirot
2bdbc39239 Bug 1533682 - Implements more Target/Page methods/events to support puppeteer's browser.newPage. r=ato
Depends on D22694

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

--HG--
extra : moz-landing-system : lando
2019-03-11 12:50:26 +00:00
Alexandre Poirot
2e14b7808c Bug 1533682 - Implement sessions. r=ato
In order to be able to query/instantiate sub targets like remote frames, or tab targets from the MainProcessTarget,
we have to support session at the protocol layer.
This is all based on a `sessionId` attribute put on all inbound/outbound messages.

This patch will be later used, once we start instantiating sub targets.

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

--HG--
extra : moz-landing-system : lando
2019-03-11 12:48:05 +00:00
Alexandre Poirot
2d9789224a Bug 1533679 - Implement very first Target domains. r=ato
Empty methods that are necessary to make puppeteer.connect to pass without throwing.

Depends on D22692

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

--HG--
rename : remote/domains/ParentProcessDomains.jsm => remote/domains/parent/Target.jsm
extra : moz-landing-system : lando
2019-03-10 12:51:11 +00:00
Alexandre Poirot
416760c48b Bug 1533679 - Differentiate Sessions and Targets bound to a browser-element from the others. r=ato
The Session used by MainProcessTarget isn't bound to any browser-element
and so do not use any of the message manager to pipe message to the content process.
Same for Target, the MainProcessTarget doesn't expose any browsing-context-related attribute.

Depends on D22691

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

--HG--
rename : remote/sessions/Session.jsm => remote/sessions/TabSession.jsm
rename : remote/targets/Target.jsm => remote/targets/TabTarget.jsm
extra : moz-landing-system : lando
2019-03-10 12:51:09 +00:00
Alexandre Poirot
cf6ef6bab7 Bug 1533679 - Implement /json/version. r=ato
Introduces a new kind of target "main-process",
which is not bound to any particular browser-element/browsing-context.
This implements only a subtest of domains and typical won't support the "content" ones.

This will require some more work in order to acknowledge having multiple kinds of targets.
We will also have "worker", "addon" and remoted-frames which will be very similar to tabs.

Depends on D22690

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

--HG--
extra : moz-landing-system : lando
2019-03-10 12:51:49 +00:00
Alexandre Poirot
dbd2284055 Bug 1533679 - Implement Browser.close. r=ato
Depends on D22689

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

--HG--
extra : moz-landing-system : lando
2019-03-10 12:51:05 +00:00
Alexandre Poirot
5ae891545a Bug 1533679 - Print exceptions thrown by JSON handlers. r=ato
Without that, the exception is silented.

Depends on D22688

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

--HG--
extra : moz-landing-system : lando
2019-03-10 12:52:48 +00:00
Alexandre Poirot
e795d282ef Bug 1533679 - Make content process domains to inherit from specialized ContentProcessDomain class. r=ato
Remove content, docShell and chromeEventHandler attribute from base Domain class
as these fields only work for domains implemented in the content process and
attached to a browsing context/document.
For "global" domains like Target or Browser, that are not bound to any document,
these properties won't work.

Depends on D22687

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

--HG--
rename : remote/domains/Domain.jsm => remote/domains/ContentProcessDomain.jsm
extra : moz-landing-system : lando
2019-03-10 12:51:01 +00:00
Alexandre Poirot
2d957cfacd Bug 1533679 - Move session modules to a dedicated sessions folder. r=ato
This is going to help have different kind of session par target kind.

Depends on D22686

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

--HG--
rename : remote/ContentProcessSession.jsm => remote/sessions/ContentProcessSession.jsm
rename : remote/Session.jsm => remote/sessions/Session.jsm
rename : remote/frame-script.js => remote/sessions/frame-script.js
extra : moz-landing-system : lando
2019-03-10 12:50:59 +00:00
Alexandre Poirot
b87adfb2ba Bug 1533679 - Move targets modules to a dedicated targets folder. r=ato
This is going to help introduce multiple kind of targets.

Depends on D22685

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

--HG--
rename : remote/Target.jsm => remote/targets/Target.jsm
rename : remote/Targets.jsm => remote/targets/Targets.jsm
extra : moz-landing-system : lando
2019-03-10 12:50:57 +00:00
Alexandre Poirot
0b0c48c862 Bug 1533679 - Remove unused target argument passed to Domain constructor. r=ato
Depends on D22684

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

--HG--
extra : moz-landing-system : lando
2019-03-10 12:50:55 +00:00
Alexandre Poirot
102ec6e125 Bug 1533679 - Document --remote-debugger-port in usage message. r=ato
Differential Revision: https://phabricator.services.mozilla.com/D22684

--HG--
extra : moz-landing-system : lando
2019-03-10 12:50:53 +00:00
Andreas Tolfsen
080b54a26d bug 1523104: remote: fix WindowManager docs; r=me a=docs 2019-03-08 16:28:21 +00:00
Andreas Tolfsen
1c377aa0d7 bug 1523104: remote: remove unused variables; r=ochameau 2019-03-08 16:28:20 +00:00
Andreas Tolfsen
7b68bf360f bug 1523104: remote: format; r=me a=docs 2019-03-08 16:28:17 +00:00
Andreas Tolfsen
19f467e2c1 bug 1523104: remote: sort imports; r=ochameau 2019-03-08 16:28:15 +00:00
Andreas Tolfsen
924042fad6 bug 1523104: remote: drop unused functions in Browser domain; r=ochameau 2019-03-08 16:28:12 +00:00
Andreas Tolfsen
5e0907c02b bug 1523104: remote: drop unused module imports; r=ochameau 2019-03-08 16:28:11 +00:00
Andreas Tolfsen
6d6918979b bug 1523104: remote: remove unused WindowManager.isWindowIncluded; r=ochameau 2019-03-08 16:28:09 +00:00
Andreas Tolfsen
230a0c4c97 bug 1523104: remote: remove unused BrowserObserver; r=ochameau 2019-03-08 16:28:08 +00:00
Andreas Tolfsen
c01f3dece0 bug 1523104: remote: upgrade to WebSocket on existing HTTPD; r=ochameau
Rather than spinning up a separate WebSocket listener for each target, this
enables us to serve WebSocket connections from the original HTTPD that we serve
the rest of the JSON API from.
2019-03-08 16:28:07 +00:00
Andreas Tolfsen
5466e2a7cf bug 1523104: remote: add WebSocketServer.upgrade for upgrading existing httpd.js requests; r=ochameau 2019-03-08 16:28:04 +00:00
Andreas Tolfsen
09aa28daaa bug 1523104: remote: drop outdated todos; r=me 2019-03-08 16:28:03 +00:00
Andreas Tolfsen
028b0ea0a5 bug 1523104: remote: signal that transport is ready when connection is created; r=ochameau 2019-03-08 16:28:01 +00:00
Andreas Tolfsen
c889849aa3 bug 1523104: remote: self-assign id to connection; r=ochameau 2019-03-08 16:28:00 +00:00
Andreas Tolfsen
47e6d0d14d bug 1523104: remote: clarify error message when unable to start HTTPD; r=ochameau 2019-03-08 16:27:59 +00:00
Andreas Tolfsen
48136e31bd bug 1523104: remote: use fatal error when unable to start HTTPD; r=ochameau 2019-03-08 16:27:58 +00:00
Andreas Tolfsen
1cdc94f9fd bug 1523104: remote: document Session class; r=ochameau 2019-03-08 16:27:57 +00:00
Andreas Tolfsen
3d0e2a846c bug 1523104: remote: emit events when targets connect and disconnect; r=ochameau 2019-03-08 16:27:55 +00:00
Andreas Tolfsen
38cb88984d bug 1523104: remote: add Log.verbose; r=ochameau 2019-03-08 16:27:53 +00:00
Andreas Tolfsen
ad6b527dfb bug 1523104: remote: associate formatting with error prototype; r=ochameau 2019-03-08 16:27:51 +00:00
Andreas Tolfsen
83b5921a45 bug 1523104: remote: remove unsupported feature in demo; r=ochameau 2019-03-08 16:27:49 +00:00