This moves the assertions related to the well-formedness of the method
from the TabSession consumer to Domains.splitMethod. Following the
introduction of TabSession, this was missing from the superclass Session.
This also fixes the "Foo.bar.baz" test case in
remote/test/unit/test_Domains.js by removing the split() function
and instead relying on String#split() inside Domains.splitMethod.
Thanks-to: Alexandre Poirot <ochameau@mozilla.com>
Differential Revision: https://phabricator.services.mozilla.com/D25947
--HG--
extra : moz-landing-system : lando
The remote agent currently uses "method" interchangably for the
full method string as extracted from JSON input as well as for the
function part following the first dot after the method has been split.
To avoid namespace clashes, this patch makes a distinction between
method, being the input JSON field; the first substring prior to the
dot being the domain; and the rest that follows being called the command:
method = "<domain>.<command>"
This naming seems to be supported by chrome-remote-interface:
https://github.com/cyrus-and/chrome-remote-interface/blob/master/lib/api.js#L32
Differential Revision: https://phabricator.services.mozilla.com/D25946
--HG--
extra : moz-landing-system : lando
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
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
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
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
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
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