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

354 Коммитов

Автор SHA1 Сообщение Дата
Andreas Tolfsen 7996622408 bug 1590826: remote: vendor puppeteer 2fff4ea; r=remote-protocol-reviewers,maja_zf
Full SHA-1: 2fff4ea08428842ad252a72bb3af30ab107fbd6c

Contains two commits reverting the stderr workaround, now that bug
1590826 prints to stderr.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 21:53:54 +00:00
Andreas Tolfsen 36f394af15 bug 1543115: remote, toolkit: bootstrap from Rust; r=remote-protocol-reviewers,maja_zf
This bootstraps the remote agent from Rust so that we have access
to write to stderr using the eprintln!() macro.  There is a future
intention to expand Rust usage in the remote agent by delegating
CDP and WebDriver Bi-Di protocol schema validation to serde.

The Rust port is faithful to the JS version in terms of functionality,
and in some places improves on the original design by enforcing
a strict division between flag handling code on one hand, and the
remote agent server on the other.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:21 +00:00
Andreas Tolfsen 4a8b5c26b8 bug 1543115: remote: expose nsIRemoteAgent as XPCOM service; r=remote-protocol-reviewers,maja_zf,nika
This change makes it possible to access the remote agent service
from C++ and Rust.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:19 +00:00
Andreas Tolfsen 967406480d bug 1543115: remote: introduce nsIRemoteAgent XPIDL interface; r=remote-protocol-reviewers,maja_zf
Adds an XPIDL interface for the remote agent which we will later use to
initialise and start it from a new command-line handler written in Rust.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:12 +00:00
Andreas Tolfsen 9c0f6722a6 bug 1543115: remote: make RemoteAgent.listen() accept strings; r=remote-protocol-reviewers,maja_zf
Crafting nsIURIs in Rust is complicated.  Allow RemoteAgent.listen()
to accept both strings and nsIURIs when called in JavaScript.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:10 +00:00
Andreas Tolfsen 7c06462151 bug 1543115: remote: emit "remote-listening" system notification on startup; r=remote-protocol-reviewers,maja_zf
When calling RemoteAgent.listen() across XPIDL the function is run
asynchronously.  In order to find out when the remote agent has started
listening we introduce a "remote-listening" system observer notification.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:08 +00:00
Andreas Tolfsen 3f618e2eda bug 1543115: remote: set needed prefs earlier at startup; r=remote-protocol-reviewers,maja_zf
Although it currently makes no difference, we should ensure the
required preferences are set sooner, in case any of the internal
remote agent features depend on it.

Because we also cannot control when the nsICommandLineHandler for
the remote agent is invoked, setting it sooner rather than later,
seems a lot safer.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:05 +00:00
Andreas Tolfsen d25d3a1256 bug 1543115: remote: make RemoteAgent.close() safer; r=remote-protocol-reviewers,maja_zf
close() is meant to be failsafe in the sense that it should be
possible to call without side-effects.

We are currently setting up a lot of state in listen() that is not
cleaned up if the server eventually fails to start.  Calling close()
when this happens will ensure any state listen() has accrued is reset.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:03:03 +00:00
Andreas Tolfsen 795f248c54 bug 1543115: remote: merge init() and listen(); r=remote-protocol-reviewers,maja_zf
Having init() as a separate function leads to inconsistencies about
how the required state is checked.

init() prevents the remote agent from being loaded when the
remote.enabled preference is false or it is attempted loaded into a
child process, but listen() already manipulates state before these
checks are run.  This is probably not the intention, but an easy
mistake to make when the code flow is not crystal clear.

Since we never have a need to call init() independently, this patch
merges init() into listen().

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

--HG--
extra : moz-landing-system : lando
2019-11-22 08:02:56 +00:00
Andreas Tolfsen 2cf78c4ad5 bug 1543115: remote: rename XPCOM manifest for conformity; r=remote-protocol-reviewers,maja_zf
All other XPCOM component manifests are named components.conf and
this makes the remote agent's conform with those.

It will also become apparent in a later patch in this changeset
that we need to register two XPCOM components: one implementing
the remote agent service, and one for handling command-line arguments.

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

--HG--
rename : remote/RemoteAgent.conf => remote/components.conf
extra : moz-landing-system : lando
2019-11-22 08:02:54 +00:00
danwalsh99 da48b9cb49 Bug 1590358 - [remote] Replace static assertions in browser chrome tests with info(), r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D53352

--HG--
extra : moz-landing-system : lando
2019-11-21 13:25:46 +00:00
Henrik Skupin e02cc0bfe1 Bug 1597253 - [remote] Implement Page.lifecycleEvent. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D53827

--HG--
extra : moz-landing-system : lando
2019-11-19 22:08:05 +00:00
Henrik Skupin 88538854d7 Bug 1597259 - [remote] Implement Page.setLifecycleEventsEnabled. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D53826

--HG--
extra : moz-landing-system : lando
2019-11-19 19:42:18 +00:00
Henrik Skupin 26e6d7493a Bug 1597643 - [remote] Implement Page.frameStartedLoading. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D53825

--HG--
extra : moz-landing-system : lando
2019-11-19 19:39:37 +00:00
Oana Pop Rus 0d270ac364 Backed out changeset 4f9ddcc4d7d0 (bug 1590358) for mochitest remote failures in browser_dispatchMouseEvent.js on a CLOSED TREE 2019-11-19 16:50:42 +02:00
Daniel Varga 420bc7e3b5 Backed out 9 changesets (bug 1543115) for build bustage with fatal error: 'nsIRemoteAgent.h' file not found. On a CLOSED TREE
Backed out changeset df184d5f766a (bug 1543115)
Backed out changeset 0316a7fa9d37 (bug 1543115)
Backed out changeset 99ae1cdbaa69 (bug 1543115)
Backed out changeset 825f6b55865a (bug 1543115)
Backed out changeset 6480cdbd004c (bug 1543115)
Backed out changeset 4ecb2e70e855 (bug 1543115)
Backed out changeset 76ebc0f74bff (bug 1543115)
Backed out changeset 8a931eb7b0c8 (bug 1543115)
Backed out changeset 72c162fff80c (bug 1543115)

--HG--
rename : remote/components.conf => remote/RemoteAgent.conf
2019-11-19 15:54:15 +02:00
danwalsh99 41f66d6264 Bug 1590358 - Replace static assertions in browser chrome tests with info(), r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D53352

--HG--
extra : moz-landing-system : lando
2019-11-19 13:37:34 +00:00
Andreas Tolfsen d79e42a0ef bug 1543115: remote: bootstrap from Rust; r=remote-protocol-reviewers,maja_zf
This bootstraps the remote agent from Rust so that we have access
to write to stderr using the eprintln!() macro.  There is a future
intention to expand Rust usage in the remote agent by delegating
CDP and WebDriver Bi-Di protocol schema validation to serde.

The Rust port is faithful to the JS version in terms of functionality,
and in some places improves on the original design by enforcing
a strict division between flag handling code on one hand, and the
remote agent server on the other.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:33:06 +00:00
Andreas Tolfsen 2cb1328cc1 bug 1543115: remote: expose nsIRemoteAgent as XPCOM service; r=remote-protocol-reviewers,maja_zf,nika
This change makes it possible to access the remote agent service
from C++ and Rust.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:32:51 +00:00
Andreas Tolfsen 24f7b88ad4 bug 1543115: remote: introduce nsIRemoteAgent XPIDL interface; r=remote-protocol-reviewers,maja_zf
Adds an XPIDL interface for the remote agent which we will later use to
initialise and start it from a new command-line handler written in Rust.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:32:48 +00:00
Andreas Tolfsen e02175a9ab bug 1543115: remote: make RemoteAgent.listen() accept strings; r=remote-protocol-reviewers,maja_zf
Crafting nsIURIs in Rust is complicated.  Allow RemoteAgent.listen()
to accept both strings and nsIURIs when called in JavaScript.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:32:46 +00:00
Andreas Tolfsen e29e510bb0 bug 1543115: remote: emit "remote-listening" system notification on startup; r=remote-protocol-reviewers,maja_zf
When calling RemoteAgent.listen() across XPIDL the function is run
asynchronously.  In order to find out when the remote agent has started
listening we introduce a "remote-listening" system observer notification.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:32:44 +00:00
Andreas Tolfsen a293581c87 bug 1543115: remote: set needed prefs earlier at startup; r=remote-protocol-reviewers,maja_zf
Although it currently makes no difference, we should ensure the
required preferences are set sooner, in case any of the internal
remote agent features depend on it.

Because we also cannot control when the nsICommandLineHandler for
the remote agent is invoked, setting it sooner rather than later,
seems a lot safer.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:32:41 +00:00
Andreas Tolfsen a30223fe5e bug 1543115: remote: make RemoteAgent.close() safer; r=remote-protocol-reviewers,maja_zf
close() is meant to be failsafe in the sense that it should be
possible to call without side-effects.

We are currently setting up a lot of state in listen() that is not
cleaned up if the server eventually fails to start.  Calling close()
when this happens will ensure any state listen() has accrued is reset.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:32:39 +00:00
Andreas Tolfsen 17705e0460 bug 1543115: remote: merge init() and listen(); r=remote-protocol-reviewers,maja_zf
Having init() as a separate function leads to inconsistencies about
how the required state is checked.

init() prevents the remote agent from being loaded when the
remote.enabled preference is false or it is attempted loaded into a
child process, but listen() already manipulates state before these
checks are run.  This is probably not the intention, but an easy
mistake to make when the code flow is not crystal clear.

Since we never have a need to call init() independently, this patch
merges init() into listen().

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

--HG--
extra : moz-landing-system : lando
2019-11-19 12:32:31 +00:00
Andreas Tolfsen 5b844c0aa5 bug 1543115: remote: rename XPCOM manifest for conformity; r=remote-protocol-reviewers,maja_zf
All other XPCOM component manifests are named components.conf and
this makes the remote agent's conform with those.

It will also become apparent in a later patch in this changeset
that we need to register two XPCOM components: one implementing
the remote agent service, and one for handling command-line arguments.

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

--HG--
rename : remote/RemoteAgent.conf => remote/components.conf
extra : moz-landing-system : lando
2019-11-19 12:32:29 +00:00
Henrik Skupin dfa891644c Bug 1596101 - [remote] Forward Network.setUserAgentOverride to Emulation.setUserAgentOverride. r=remote-protocol-reviewers,maja_zf
The method under the Network domain is a redirect to
Emulation only. It might be deprecated, but that's unclear
in the current documentation.

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

--HG--
extra : moz-landing-system : lando
2019-11-18 10:07:42 +00:00
Henrik Skupin 727713505e Bug 1595697 - [remote] Implement basic support for Emulation.setUserAgentOverride. r=remote-protocol-reviewers,maja_zf
This patch implements setting the user agent only. Support for
accepted language, and platform will be done in a follow-up bug.

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

--HG--
extra : moz-landing-system : lando
2019-11-18 10:07:38 +00:00
Henrik Skupin 2618f63395 Bug 1595112 - [remote] Cache chrome-remote-interface.js between browser chrome tests. r=remote-protocol-reviewers,ato
By using loadSubScript() instead of injecting a script node
into the hidden window, the content of chrome-remote-interface.js
can be cached. Only the first load will take about 150ms, each
test afterward will only have to spend about 30ms in getCDP().

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

--HG--
extra : moz-landing-system : lando
2019-11-15 14:57:51 +00:00
Henrik Skupin b39004d89f Bug 1595112 - [remote] Import minimized version of chrome-remote-interface.js. r=remote-protocol-reviewers,ato
Using the minimized version reduces the file size from 880kB
to 550kB, which means lesser data to load and to cache.

Imported revision: f412dd1ed0028bcf9116918879b99924039d52e2

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

--HG--
extra : moz-landing-system : lando
2019-11-15 14:57:36 +00:00
Andreas Tolfsen 615400cd7a bug 1596729: remote: document ObserverService logging
DONTBUILD

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

--HG--
extra : moz-landing-system : lando
2019-11-15 13:42:22 +00:00
JaStenson e460584f4c Bug 1591989 - [remote] Don't use 'frameId' for Page.loadEventFired event. r=whimboo,remote-protocol-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D53046

--HG--
extra : moz-landing-system : lando
2019-11-14 21:22:16 +00:00
Henrik Skupin afa1129d06 Bug 1595528 - [remote] Add local Chromium folder to ignore list. r=remote-protocol-reviewers,maja_zf
Depends on D52740

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

--HG--
extra : moz-landing-system : lando
2019-11-12 21:19:11 +00:00
Henrik Skupin 1cdb056d30 Bug 1595528 - [remote] Vendor in latest puppeteer changes. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D52740

--HG--
extra : moz-landing-system : lando
2019-11-12 21:18:49 +00:00
Henrik Skupin ef21b9b3af Bug 1594871 - [remote] Callers of loadURL() in browser_captureScreenshot.js have to use await. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D52353

--HG--
extra : moz-landing-system : lando
2019-11-08 13:35:24 +00:00
Maja Frydrychowicz 5237b5f25c Bug 1590467 - Use new testing options in puppeteer-test mach command; r=remote-protocol-reviewers,ato
This takes advantage of the browser-selection patch proposed to Puppeteer.
A --product option allows choice between 'firefox' and 'chrome'.
Puppeteer takes care of profile creation for Firefox. Additional Puppeteer
Launcher options can be passed along with --setopt.

Depends on D52313

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

--HG--
extra : moz-landing-system : lando
2019-11-08 11:58:08 +00:00
Maja Frydrychowicz ea7a28398b Bug 1590467 - Updated vendored puppeteer with proposed browser selection; r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D52313

--HG--
extra : moz-landing-system : lando
2019-11-08 11:52:18 +00:00
Ryan VanderMeulen 503d3a5358 Bug 1594871 - Disable the racy sub-test. r=whimboo
This sub-test has races which were exacerbated by making data: URLs load asynchronously. Disable it until the race can be resolved.

MANUAL PUSH: bustage fix on a CLOSED TREE

--HG--
extra : amend_source : 76c3d8486213b5829615059587f44f0db93b9041
2019-11-07 16:14:25 -05:00
Henrik Skupin ce0143fbde Bug 1587846 - [remote] Add "quality" option to Page.captureScreenshot. r=remote-protocol-reviewers,ato,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D52146

--HG--
extra : moz-landing-system : lando
2019-11-07 19:02:00 +00:00
Henrik Skupin a2d30361e2 Bug 1587846 - [remote] Add "format" option to Page.captureScreenshot. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D52145

--HG--
extra : moz-landing-system : lando
2019-11-07 19:01:38 +00:00
Henrik Skupin 605cf70003 Bug 1587846 - [remote] Fix payload of return value for Page.captureScreenshot. r=remote-protocol-reviewers,ato
The actual screenshot data should be returned via the "data"
property of an object. Also the data URL prefix has to be
stripped off, so that only the base64 encoded data will be
transmitted.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 19:01:25 +00:00
Henrik Skupin 976bcc1e77 Bug 1592643 - [remote] Implement Target.activateTarget. r=remote-protocol-reviewers,maja_zf,ato
Differential Revision: https://phabricator.services.mozilla.com/D52001

--HG--
extra : moz-landing-system : lando
2019-11-07 14:48:26 +00:00
Henrik Skupin e19b0aa009 Bug 1591922 - [remote] Page.bringToFront has to wait for activate and focus events. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D52000

--HG--
rename : remote/domains/parent/target/TabManager.jsm => remote/TabManager.jsm
extra : moz-landing-system : lando
2019-11-07 14:47:53 +00:00
Henrik Skupin 84cc2511ab Bug 1592643 - [remote] Methods in Target domain have to raise for invalid "targetId" argument. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D51999

--HG--
extra : moz-landing-system : lando
2019-11-07 14:46:58 +00:00
Henrik Skupin 15c37c5653 Bug 1592643 - [remote] Refactor and improve browser chrome tests for Target domain. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D51998

--HG--
rename : remote/test/browser/target/browser_target.js => remote/test/browser/target/browser_sendMessageToTarget.js
extra : moz-landing-system : lando
2019-11-07 14:46:42 +00:00
Andreas Tolfsen 452bd6cbca bug 1549708: remote: implement Page.reload's ignoreCache argument; r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D50805

--HG--
extra : moz-landing-system : lando
2019-11-06 15:32:55 +00:00
Thomas e1ff6f24a2 Bug 1591982 - Removed 'timestamp' property from Page.navigatedWithinDocument and Page.frameStoppedLoading r=whimboo,ato
Differential Revision: https://phabricator.services.mozilla.com/D51529

--HG--
extra : moz-landing-system : lando
2019-11-06 14:42:20 +00:00
Andreas Tolfsen ea1f27965e bug 1591927: remote: implement Security.setIgnoreCertificateErrors; r=remote-protocol-reviewers,maja_zf
This implements an all-or-nothing insecure sweeping override that
bypasses security exceptions when loading documents with invalid
or otherwise bad TLS certificates.

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

--HG--
extra : moz-landing-system : lando
2019-11-02 18:08:56 +00:00
Henrik Skupin f68309ef23 Bug 1591006 - [remote] Re-arrange browser-chrome tests by domains as subfolders. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D51019

--HG--
rename : remote/test/browser/browser_network_requestWillBeSent.js => remote/test/browser/network/browser_requestWillBeSent.js
rename : remote/test/browser/doc_network_requestWillBeSent.html => remote/test/browser/network/doc_requestWillBeSent.html
rename : remote/test/browser/file_network_requestWillBeSent.js => remote/test/browser/network/file_requestWillBeSent.js
rename : remote/test/browser/browser_page_bringToFront.js => remote/test/browser/page/browser_bringToFront.js
rename : remote/test/browser/browser_page_captureScreenshot.js => remote/test/browser/page/browser_captureScreenshot.js
rename : remote/test/browser/browser_page_frameNavigated.js => remote/test/browser/page/browser_frameNavigated.js
rename : remote/test/browser/browser_page_frameNavigated_iframe.js => remote/test/browser/page/browser_frameNavigated_iframe.js
rename : remote/test/browser/browser_page_javascriptDialog_alert.js => remote/test/browser/page/browser_javascriptDialog_alert.js
rename : remote/test/browser/browser_page_javascriptDialog_beforeunload.js => remote/test/browser/page/browser_javascriptDialog_beforeunload.js
rename : remote/test/browser/browser_page_javascriptDialog_confirm.js => remote/test/browser/page/browser_javascriptDialog_confirm.js
rename : remote/test/browser/browser_page_javascriptDialog_otherTarget.js => remote/test/browser/page/browser_javascriptDialog_otherTarget.js
rename : remote/test/browser/browser_page_javascriptDialog_prompt.js => remote/test/browser/page/browser_javascriptDialog_prompt.js
rename : remote/test/browser/browser_page_runtime_events.js => remote/test/browser/page/browser_runtimeEvents.js
rename : remote/test/browser/browser_runtime_callFunctionOn.js => remote/test/browser/runtime/browser_callFunctionOn.js
rename : remote/test/browser/browser_runtime_evaluate.js => remote/test/browser/runtime/browser_evaluate.js
rename : remote/test/browser/browser_runtime_executionContext.js => remote/test/browser/runtime/browser_executionContext.js
rename : remote/test/browser/browser_runtime_get_properties.js => remote/test/browser/runtime/browser_getProperties.js
rename : remote/test/browser/browser_runtime_remote_objects.js => remote/test/browser/runtime/browser_remoteObjects.js
rename : remote/test/browser/browser_target_browserContext.js => remote/test/browser/target/browser_browserContext.js
rename : remote/test/browser/browser_target_close.js => remote/test/browser/target/browser_closeTarget.js
rename : remote/test/browser/browser_target.js => remote/test/browser/target/browser_target.js
extra : moz-landing-system : lando
2019-10-30 13:25:56 +00:00
Maja Frydrychowicz dddda2631a Bug 1591216 - Minor corrections to Remote Agent documentation; r=remote-protocol-reviewers,ato
DONTBUILD

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

--HG--
extra : moz-landing-system : lando
2019-10-28 10:16:54 +00:00