Commit Graph

607 Commits

Author SHA1 Message Date
Mihai Alexandru Michis
683caf5062 Backed out changeset 2aad23c07f68 (bug 1610374) for causing lint failures in remote/test/browser/page/head.js
CLOSED TREE
2020-02-15 03:51:21 +02:00
Henrik Skupin
8e15f0c1c5 Bug 1610374 - [remote] Page.navigateToHistoryEntry() has to wait for requested index been set. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D62658

--HG--
extra : moz-landing-system : lando
2020-02-14 22:49:45 +00:00
Henrik Skupin
85d206a203 Bug 1615368 - [remote] Response for Runtime.callFunctionOn with returnbyValue misses "type" and "description". r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D62779

--HG--
extra : moz-landing-system : lando
2020-02-14 20:33:05 +00:00
Henrik Skupin
86186350f2 Bug 1615260 - [remote] Return correct properties for unserializable values in Runtime.callFunctionOn. r=remote-protocol-reviewers,maja_zf
Values like NaN, Infinity, -Infinity are not serializable and have
to be returned via the unserializable property and not as value.

This patch also adds the type and description properties as
Puppeteer tests require, but leaves out support for
BigInt (bug 1615360).

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

--HG--
extra : moz-landing-system : lando
2020-02-14 20:33:16 +00:00
Mark Banner
e4edff6d1a Bug 1614891 - Clarify the ESLint situation around some remote/ files. Remove unnecessary remote/test/demo.js. r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D62547

--HG--
extra : moz-landing-system : lando
2020-02-13 09:23:19 +00:00
Mihai Alexandru Michis
5e61330ed7 Bug 1610377 - Fix lint error in remote/test/browser/page/head.js a=lint-fix
CLOSED TREE

--HG--
extra : amend_source : 2c8efc710f46d6701e7748a625e3841fb087af37
2020-02-13 11:24:36 +02:00
Henrik Skupin
6d33e6a9bf Bug 1610377 - [remote] Wait for history index selected when using gBrowser.gotoIndex(). r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D62589

--HG--
extra : moz-landing-system : lando
2020-02-13 08:56:04 +00:00
Henrik Skupin
ed04cb5f4b Bug 1610377 - [remote] Move session history navigation code into the parent process. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D62588

--HG--
extra : moz-landing-system : lando
2020-02-13 08:55:27 +00:00
David Burns
5942abaa97 Bug 1588114 - [remote] Implement Network.setCookie and Network.setCookies. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D62119

--HG--
extra : moz-landing-system : lando
2020-02-10 21:14:16 +00:00
Maja Frydrychowicz
5d76a2ec16 Bug 1611274 - [puppeteer] Vendor in fixes for Launcher tests
Differential Revision: https://phabricator.services.mozilla.com/D62343

--HG--
extra : moz-landing-system : lando
2020-02-10 21:07:27 +00:00
Noemi Erli
e3e00d66cb Bug 1610382 - Disable browser_setCacheDisabled.js for frequent failures r=remote-protocol-reviewers,gbrown,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D61771

--HG--
extra : moz-landing-system : lando
2020-02-06 10:23:15 +00:00
Coroiu Cristina
c0261da5cd Bug 1610374 - Disable browser_navigateToHistoryEntry.js on linux1804 and win for frequent failures r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D61410

--HG--
extra : moz-landing-system : lando
2020-02-03 08:21:02 +00:00
Henrik Skupin
eb1a9e56fb Bug 1587845 - [remote] ESLint fix for browser_captureScreenshot.js.
Differential Revision: https://phabricator.services.mozilla.com//D60909
2020-01-24 00:07:00 +02:00
Henrik Skupin
7fa9eac4b0 Bug 1587845 - [remote] Add "clip" argument to Page.captureScreenshot. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D57793

--HG--
extra : moz-landing-system : lando
2020-01-23 21:31:30 +00:00
Henrik Skupin
bc29970672 Bug 1587845 - [remote] Use _contentRect as name for internal helper that returns the content bounding box. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D60749

--HG--
extra : moz-landing-system : lando
2020-01-23 01:51:53 +00:00
Henrik Skupin
4b34baa214 Bug 1607823 - [remote] Use ContentTask.spawn instead of SpecialPowers.spawn in browser_setCacheDisabled.js. r=remote-protocol-reviewers,maja_zf
Depends on D60386

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

--HG--
extra : moz-landing-system : lando
2020-01-20 19:38:03 +00:00
Henrik Skupin
de8109653e Bug 1609627 - [remote] Implement Page.navigateToHistoryEntry. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D60122

--HG--
extra : moz-landing-system : lando
2020-01-20 18:59:08 +00:00
Henrik Skupin
4645068db6 Bug 1609163 - [remote] Implement Page.getNavigationHistory. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D60023

--HG--
extra : moz-landing-system : lando
2020-01-20 18:59:20 +00:00
Maja Frydrychowicz
22aa29f8b3 Bug 1602686 - Check that navigation has completed; r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D59914

--HG--
extra : moz-landing-system : lando
2020-01-15 10:10:15 +00:00
Henrik Skupin
3938c43161 Bug 1544417 - [remote] Implement Emulation.setDeviceMetricsOverride. r=remote-protocol-reviewers,maja_zf,ato
Differential Revision: https://phabricator.services.mozilla.com/D58935

--HG--
extra : moz-landing-system : lando
2020-01-14 15:41:06 +00:00
Henrik Skupin
6050750472 Bug 1590102 - [remote] Implement Network.deleteCookies. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D59431

--HG--
extra : moz-landing-system : lando
2020-01-13 16:02:09 +00:00
Andreas Tolfsen
4e8d36ea9b bug 1606828: remote: add -v[v] flag to "./mach puppeteer-test" r=remote-protocol-reviewers,whimboo
This introduces a -v[v] flag to the "./mach puppeteer-test" command
for increasing the logging verbosity of the remote agent in Gecko.
This can be used as a shorthand for --setpref="remote.log.level=<level>".

A single -v will enable log messages up to debug level, and two
-vv will enable all log messages up to trace level.

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

--HG--
extra : moz-landing-system : lando
2020-01-13 11:39:33 +00:00
Khushal Sahni
d7f74c0866 Bug 1604143 - Make browser-chrome task function arguments an object. r=whimboo,remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D59082

--HG--
extra : moz-landing-system : lando
2020-01-13 08:52:44 +00:00
Andreas Tolfsen
b1d2305ed8 bug 1603078: remote: add --enable-fission to "./mach puppeteer-test" r=remote-protocol-reviewers,whimboo
The "./mach puppeteer-test" command now takes a new flag,
--enable-fission, which will set the fission.autostart preference to true.

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

--HG--
extra : moz-landing-system : lando
2020-01-06 09:55:01 +00:00
Andreas Tolfsen
cfb4f745d1 bug 1603078: remote: fix passing extra prefs to Puppeteer r=remote-protocol-reviewers,maja_zf
Puppeteer accepts an environmental variable EXTRA_LAUNCH_OPTIONS
that is a JSON encoded object as a string, containing additional
configuration to use when running tests.

This takes an extraPrefsFirefox key which is an object
mapping preference names to values.  This is extracted in
remote/test/puppeteer/lib/Launcher.js:390 and later written to a
fresh profile in :515.

It appears remote/mach_commands.py has left out the "Firefox" appendix.

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

--HG--
extra : moz-landing-system : lando
2020-01-10 14:56:21 +00:00
Henrik Skupin
210002ad71 Bug 1596136 - [remote] "Emulation.setUserAgentOverride" should only affect the current target. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D58164

--HG--
extra : moz-landing-system : lando
2020-01-08 14:04:55 +00:00
Henrik Skupin
2248eb2510 Bug 1596136 - [remote] Remove openTab() and openWindow() helpers from target tests head.js. r=remote-protocol-reviewers,ato
Bug 1605722 already added those helpers to the global head.js file.
As such they can be removed from the target's head.js file.

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

--HG--
extra : moz-landing-system : lando
2020-01-08 13:26:42 +00:00
Henrik Skupin
15e30b89a5 Bug 1607461 - [remote] Implement Network.setCacheDisabled. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D58996

--HG--
extra : moz-landing-system : lando
2020-01-08 12:40:49 +00:00
Henrik Skupin
986231c6dc Bug 1596601 - [remote] Skip some more crashing Puppeteer unit tests. r=remote-protocol-reviewers,ato
Depends on D59006

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

--HG--
extra : moz-landing-system : lando
2020-01-08 12:14:57 +00:00
Henrik Skupin
c01d481fbf Bug 1596601 - [remote] Add place-holder for Page.setInterceptFileChooserDialog. r=remote-protocol-reviewers,ato
This feature is experimental and not required to get implemented
on our end as of now. As such adding a place-holder will be enough.

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

--HG--
extra : moz-landing-system : lando
2020-01-08 11:01:17 +00:00
Andreas Tolfsen
e221feba47 bug 1607500: remote: preserve task name in add_agent_task() r=remote-protocol-reviewers,whimboo
Similarly to bug 1603451, the name of the function passed to the
specialised add_agent_task() is lost because of the anonymous
function wrapper inside.

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

--HG--
extra : moz-landing-system : lando
2020-01-08 08:34:46 +00:00
Andreas Tolfsen
8b58648e51 bug 1606612: remote: pretty-print WebSocket JSON payloads when verbose logging r=remote-protocol-reviewers,whimboo
When remote.log.level is Log.Level.Info or above, verbose logging
is enabled and we pretty-print JSON payloads in requests to the
HTTPD in JSONHandler.

This patch matches the behaviour of the JSONHandler logging, where
JSON payloads are logged to stdout with special formatting before
being transmitted across WebSocket connections.

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

--HG--
extra : moz-landing-system : lando
2020-01-06 09:37:02 +00:00
Andreas Tolfsen
4f8001ba30 bug 1606612: remote: stop sanitizing JSON payloads from the HTTPD r=remote-protocol-reviewers,whimboo
The CDP protocol expects consistent types to be returned.  By filtering
out null values and strings of zero length we break this promise.

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

--HG--
extra : moz-landing-system : lando
2020-01-07 16:22:49 +00:00
Andreas Tolfsen
cdc44450f5 bug 1598286: remote: upgrade to http 0.2 r=remote-protocol-reviewers,whimboo
Upgrading to http 0.2 will give us bytes ^0.5 which removes
a dependency on iovec.  iovec is problematic for us because it
depends on a version of winapi that does not compile on Windows AArch64.

The effect of this should be that the remote agent is now possible
to compile on Windows AArch64.

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

--HG--
extra : moz-landing-system : lando
2020-01-06 14:24:17 +00:00
Henrik Skupin
29313adecb Bug 1600055 - [remote] Switch from using "outerWindowID" to "browsingContext.id". r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D58764

--HG--
extra : moz-landing-system : lando
2020-01-06 12:55:35 +00:00
Henrik Skupin
7223ef9216 Bug 1605650 - [remote] Temporarily skip test browser_getCookies.js for ccov tests on Windows 10. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D58746

--HG--
extra : moz-landing-system : lando
2020-01-06 09:52:30 +00:00
Andreas Tolfsen
9444fa34c7 bug 1606818: remote: use nsIHttpServer for unregistering handler r=remote-protocol-reviewers,whimboo
nsIHttpServer.registerPathHandler() is designed to take null as
the second argument to unregister path handlers.  This saves us
from having to modify its internal state, and fixes a minor TODO
in the remote agent initialisation code.

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

--HG--
extra : moz-landing-system : lando
2020-01-03 16:19:33 +00:00
Andreas Tolfsen
4ff0799afe bug 1565164: remote: rename Domains DomainCache r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D58610

--HG--
rename : remote/domains/Domains.jsm => remote/domains/DomainCache.jsm
rename : remote/test/unit/test_Domains.js => remote/test/unit/test_DomainCache.js
extra : moz-landing-system : lando
2020-01-06 09:32:11 +00:00
Andreas Tolfsen
112d47f40c bug 1565164: remote: rename Targets TargetList r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D58609

--HG--
rename : remote/targets/Targets.jsm => remote/targets/TargetList.jsm
extra : moz-landing-system : lando
2020-01-06 09:32:09 +00:00
Andreas Tolfsen
1b5c764457 bug 1606834: remote: document fdescribe(), fit(), and Mocha flags r=remote-protocol-reviewers,whimboo
We were lacking documentation on how to run inidividual Puppeteer
tests.  It turns out this is not possible yet to do on a per-file
basis, like other test harnesses.

Instead, suggest use of fdescribe()/fit() and recommend some useful
Mocha flags.

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

--HG--
extra : moz-landing-system : lando
2020-01-03 16:11:19 +00:00
Andreas Tolfsen
d9f8d5f71e bug 1606317: remote: revert "Disable Puppeteer tests in ignorehttpserrors.spec.js which crash the browser." r=remote-protocol-reviewers,whimboo
This reverts the commit:

	git:	d640ab64b993431099cd9205297bfff464d76927
	hg:	9f6327c0d8298ec58a6c9f8d51526872d01d765e

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

--HG--
extra : moz-landing-system : lando
2020-01-03 13:44:39 +00:00
Coroiu Cristina
9513ceda80 Backed out 3 changesets (bug 1606317) for build bustage at build/src/security/manager/ssl/nsCertOverrideService.cpp on a CLOSED TREE
Backed out changeset 9c34a0a40e62 (bug 1606317)
Backed out changeset 467db2b310a7 (bug 1606317)
Backed out changeset b12669c3ade7 (bug 1606317)
2020-01-03 15:11:29 +02:00
Andreas Tolfsen
27106918c7 bug 1606317: remote: revert "Disable Puppeteer tests in ignorehttpserrors.spec.js which crash the browser." r=remote-protocol-reviewers,whimboo
This reverts the commit:

	git:	d640ab64b993431099cd9205297bfff464d76927
	hg:	9f6327c0d8298ec58a6c9f8d51526872d01d765e

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

--HG--
extra : moz-landing-system : lando
2020-01-03 10:16:13 +00:00
Henrik Skupin
db8cf153cd Bug 1593979 - [remote] Always include global head.js and chrome-remote-interface.js. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D54568

--HG--
extra : moz-landing-system : lando
2020-01-03 09:02:15 +00:00
Henrik Skupin
b35d14d120 Bug 1605722 - [remote] Enable target discovery by default for browser chrome tests. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D58162

--HG--
extra : moz-landing-system : lando
2020-01-02 21:13:20 +00:00
Brindusan Cristian
87aed6f2be Backed out 2 changesets (bug 1606612) for 'remote' failures at browser_scriptToEvaluateOnNewDocument.js. CLOSED TREE
Backed out changeset d0ff02a17ad9 (bug 1606612)
Backed out changeset 4368466b495b (bug 1606612)
2020-01-02 18:19:40 +02:00
Andreas Tolfsen
986fa21674 bug 1606613: remote: stop logging handled errors r=remote-protocol-reviewers,whimboo
Errors that arise from use of the protocol, for example by the client
passing in the wrong argument or an operationg being unsupported, are
returned to the client.  Since these are not inherent implementation
problems there is no point to double-logging them in the server.

This is a left-over from when the remote agent was in a prototype
stage and we couldn't always rely on the Puppeteer client to
interact with Firefox correctly.

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

--HG--
extra : moz-landing-system : lando
2020-01-02 12:02:17 +00:00
Andreas Tolfsen
d482c88ae3 bug 1606612: remote: pretty-print WebSocket JSON payloads when verbose logging r=remote-protocol-reviewers,whimboo
When remote.log.level is Log.Level.Info or above, verbose logging
is enabled and we pretty-print JSON payloads in requests to the
HTTPD in JSONHandler.

This patch matches the behaviour with JSON payloads being transmitted
across WebSocket connections.

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

--HG--
extra : moz-landing-system : lando
2020-01-02 13:08:54 +00:00
Andreas Tolfsen
4f915f8ab5 bug 1606612: remote: move payload sanitization to Protocol r=remote-protocol-reviewers,whimboo
Moving the JSON payload sanitisation function to Protocol.jsm
means we can share it across modules.

The patch also adds new tests.

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

--HG--
extra : moz-landing-system : lando
2020-01-02 13:29:01 +00:00
Henrik Skupin
950468de8e Bug 1606290 - [remote] Disable more Puppeteer tests which crash the harness.
Depends on D58488

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

--HG--
extra : moz-landing-system : lando
2020-01-01 18:50:48 +00:00
Henrik Skupin
0951041609 Bug 1606290 - [remote] Re-enable Puppeteer tests for Firefox which do not crash.
Depends on D58487

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

--HG--
extra : moz-landing-system : lando
2020-01-01 18:28:34 +00:00
Henrik Skupin
7d9a72d23b Bug 1606317 - [remote] Disable Puppeteer tests in ignorehttpserrors.spec.js which crash the browser.
Differential Revision: https://phabricator.services.mozilla.com/D58487

--HG--
extra : moz-landing-system : lando
2020-01-01 18:51:51 +00:00
Mohit Singh
90811829d2 Bug 1601037 - options parameter set default to {} in Page.jsm:printToPDF() and IO.jsm:close() r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D58213

--HG--
extra : moz-landing-system : lando
2019-12-27 11:27:33 +00:00
Henrik Skupin
2dd64e92cd Bug 1590098 - [remote] Implement basic support for Network.getCookies. r=remote-protocol-reviewers,ato,maja_zf
This patch adds basic support for retrieving cookies,
which means that it returns the cookies for the currently
active target.

Hereby it has the following limitations:

1. It does not walk the frame tree, and as such only returns
the cookies from the top-level frame. Support for that will
be added once frames can correctly be handled, which means
once support for the JSWindowActor API has been landed.

2. The "urls" parameter is not supported because it is
unclear right now what it actually does. More investigation
is necessary before any implementation can happen.

3. There is no support for the file:// protocol yet.

4. Dot domains aren't taken care of yet.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 19:38:05 +00:00
Maja Frydrychowicz
84e1accdfe Bug 1605413 - Disable Puppeteer unit tests that crash the test harness
Differential Revision: https://phabricator.services.mozilla.com/D58008

--HG--
extra : moz-landing-system : lando
2019-12-20 17:38:57 +00:00
Maja Frydrychowicz
08af6c6582 Bug 1600959 - Implement Runtime.executionContextsCleared r=remote-protocol-reviewers,whimboo,ato
Differential Revision: https://phabricator.services.mozilla.com/D55868

--HG--
extra : moz-landing-system : lando
2019-12-19 19:58:52 +00:00
Andreas Tolfsen
5c0d22572b bug 1603451: remote: preserve test name from original task r=remote-protocol-reviewers,maja_zf,whimboo
The browser-chrome test name is derived from the function name.
The function name of the original task is lost when wrapped inside
the add_task() override in remote/test/browser/head.js.

This fixes the problem by rewriting the taskFn name on the new wrapper.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 14:58:30 +00:00
Andreas Tolfsen
defc8d9410 bug 1603451: remote: document add_task() r=remote-protocol-reviewers,maja_zf,whimboo
The documentation for the overridden add_task() is quite poor.
Document it as to not confuse new developers why it is behaving
differently to the default bc add_task().

DONTBUILD

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

--HG--
extra : moz-landing-system : lando
2019-12-18 12:53:52 +00:00
Mohit Singh
d7b28ea9a2 Bug 1601037 - initialized option parameter present in 3 methods to default {} r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D57745

--HG--
extra : moz-landing-system : lando
2019-12-19 10:40:55 +00:00
Henrik Skupin
25fdbb9aff Bug 1599994 - [remote] Implement Page.printToPDF. r=remote-protocol-reviewers,ato,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D55961

--HG--
extra : moz-landing-system : lando
2019-12-16 16:19:04 +00:00
Henrik Skupin
ce07f3fba4 Bug 1600058 - [remote] Implement IO.close. r=remote-protocol-reviewers,ato,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D55969

--HG--
extra : moz-landing-system : lando
2019-12-16 16:19:02 +00:00
Henrik Skupin
5a966347fc Bug 1600053 - [remote] Implement IO.read. r=remote-protocol-reviewers,baku,ato,maja_zf
This patch implements the IO.read() method to allow
reading streams for files and blobs.

Therefor all the methods in the IO domain need a registry
for streams. Those have to be stored globally because
they need to be kept existent across different client
connections.

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

--HG--
extra : moz-landing-system : lando
2019-12-16 16:17:59 +00:00
Henrik Skupin
162084495c Bug 1600053 - [remote] Add registry for managing references to streams. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D57304

--HG--
extra : moz-landing-system : lando
2019-12-16 16:17:47 +00:00
Kris Maglione
9853440599 Bug 1596918: Part 3b - Run code formatters on files changed by previous patch. r=mccr8,remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D53741

--HG--
extra : moz-landing-system : lando
2019-12-13 20:36:24 +00:00
Kris Maglione
94e3b0bd8d Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

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

--HG--
extra : moz-landing-system : lando
2019-12-13 20:36:16 +00:00
Maja Frydrychowicz
260c75a1d1 Bug 1603266 - Flush irrelevant events when testing context creation; r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D57047

--HG--
extra : moz-landing-system : lando
2019-12-13 15:51:46 +00:00
Andreas Tolfsen
b7a5c8548a bug 1600330: remote: test nsIRemoteAgent r=remote-protocol-reviewers,maja_zf,whimboo
Adds browser-chrome tests for the main entry point of the remote
agent, nsIRemoteAgent.

add_agent_task() wraps add_plain_task() (which again wraps the
original add_task()) so we can ensure that the agent isn't listening
before a test runs, and that any modified state such as preferences
is reset afterwards.

The tests rely heavily on the assumption that nsIRemoteAgent.close()
behaves as a no-op when the server is not listening.

This patch is a follow-up to bug 1590828.

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

--HG--
extra : moz-landing-system : lando
2019-12-13 07:31:54 +00:00
Andreas Tolfsen
ff89580849 bug 1600330: remote: add fail() browser-chrome test helper r=remote-protocol-reviewers,maja_zf
fail() will cause a test assertion failure equivalent to ok(false).

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

--HG--
extra : moz-landing-system : lando
2019-12-13 07:30:23 +00:00
Henrik Skupin
947e858c46 Bug 1588622 - [remote] Implement "layoutViewport" and "contentSize" for Page.getLayoutMetrics. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D56911

--HG--
extra : moz-landing-system : lando
2019-12-12 18:27:17 +00:00
Maja Frydrychowicz
ab6bc896fd Bug 1597879 - Implement Page.addScriptToEvaluateOnNewDocument; r=remote-protocol-reviewers,whimboo,ato
Differential Revision: https://phabricator.services.mozilla.com/D55334

--HG--
extra : moz-landing-system : lando
2019-12-11 20:49:46 +00:00
shindli
91924fedc7 Backed out 9 changesets (bug 1596918) for causing mochitest permafailures in toolkit/content/tests/chrome/test_findbar_events.xhtml CLOSED TREE
Backed out changeset 45a1c42118f2 (bug 1596918)
Backed out changeset db09910ffa56 (bug 1596918)
Backed out changeset 5c9d9f141c10 (bug 1596918)
Backed out changeset 6a135670d603 (bug 1596918)
Backed out changeset 3a0184e0df72 (bug 1596918)
Backed out changeset 2f0036486823 (bug 1596918)
Backed out changeset a770c6d08d52 (bug 1596918)
Backed out changeset ef062eb7a6ee (bug 1596918)
Backed out changeset a6ea596e98db (bug 1596918)
2019-12-11 03:09:26 +02:00
Kris Maglione
3ca78ce8e3 Bug 1596918: Part 3b - Run code formatters on files changed by previous patch. r=mccr8,remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D53741

--HG--
extra : moz-landing-system : lando
2019-12-10 23:07:21 +00:00
Kris Maglione
16a9b29848 Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

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

--HG--
extra : moz-landing-system : lando
2019-12-10 23:07:13 +00:00
Maja Frydrychowicz
9a359ea0c6 Bug 1597877 - Implement Page.createIsolatedWorld; r=remote-protocol-reviewers,whimboo,ato
This does not support the grantUniversalAccess parameter.
It just creates a new execution context.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 21:52:56 +00:00
Maja Frydrychowicz
8d42f7b01d Bug 1597877 - Make Runtime.enable/disable control notifications only; r=remote-protocol-reviewers,whimboo,ato
As noted in Bug 1602083, the CDP viewer implies that execution context management
is independent of the Runtime domain, which makes sense with the behaviour of methods
like Page.createIsolatedWorld.

This is a first step in that direction.

Depends on D55168

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

--HG--
extra : moz-landing-system : lando
2019-12-09 21:52:10 +00:00
Maja Frydrychowicz
af77524cfd Bug 1597877 - Allow many ExecutionContexts per inner window; r=remote-protocol-reviewers,ato,whimboo
Dismantle the assumption that there is one ExecutionContext per
inner window and generate a fresh id for each ExecutionContext
rather than reusing the inner window id.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 21:51:25 +00:00
Maja Frydrychowicz
838ecc262c Bug 1597877 - Identify internal methods in Runtime domain; r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D55167

--HG--
extra : moz-landing-system : lando
2019-12-09 21:50:39 +00:00
Maja Frydrychowicz
bb71375e46 Bug 1597877 - Report name, origin, type in Runtime.executionContextCreated; r=remote-protocol-reviewers,ato,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D55166

--HG--
extra : moz-landing-system : lando
2019-12-09 21:49:56 +00:00
Maja Frydrychowicz
aa3a55d740 Bug 1597877 - Make frameId a string; r=remote-protocol-reviewers,ato,whimboo
According to the CDP viewer, the type of FrameId is string.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 21:49:06 +00:00
Noemi Erli
82d41a33b2 Backed out 9 changesets (bug 1596918) for causing multiple browser-chrome failures
Backed out changeset 415007efd8c9 (bug 1596918)
Backed out changeset 011eb5ce927b (bug 1596918)
Backed out changeset e5fd3ee22ea1 (bug 1596918)
Backed out changeset 0bca4de31d40 (bug 1596918)
Backed out changeset 11ec4393f23d (bug 1596918)
Backed out changeset c5404a7c286d (bug 1596918)
Backed out changeset 7e9304405a46 (bug 1596918)
Backed out changeset fa0f0aeabf99 (bug 1596918)
Backed out changeset de196b077000 (bug 1596918)
2019-12-07 22:26:43 +02:00
Kris Maglione
fa3556c3fc Bug 1596918: Part 3b - Run code formatters on files changed by previous patch. r=mccr8,remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D53741

--HG--
extra : moz-landing-system : lando
2019-12-07 18:44:34 +00:00
Kris Maglione
910eab35d2 Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

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

--HG--
extra : moz-landing-system : lando
2019-12-07 19:11:58 +00:00
Daniel Varga
84a601a6d4 Backed out 17 changesets (bug 1596918) for multiple browser-chrome and dev-tools failures. On a CLOSED TREE
Backed out changeset ab87d2c1afae (bug 1596918)
Backed out changeset 775f3b06a687 (bug 1596918)
Backed out changeset 67cc63ef5d7f (bug 1596918)
Backed out changeset 7d290bcd2067 (bug 1596918)
Backed out changeset 048db9f4db7c (bug 1596918)
Backed out changeset 96a79d2ba614 (bug 1596918)
Backed out changeset be770d112dd8 (bug 1596918)
Backed out changeset 302c8ab8391c (bug 1596918)
Backed out changeset 44ef8f20732e (bug 1596918)
Backed out changeset 38c11ebfb8ff (bug 1596918)
Backed out changeset b586fc081374 (bug 1596918)
Backed out changeset 12283166716f (bug 1596918)
Backed out changeset 99b0421015d8 (bug 1596918)
Backed out changeset 97ec49dbbbf3 (bug 1596918)
Backed out changeset ec79478f58f1 (bug 1596918)
Backed out changeset c6d356833bb8 (bug 1596918)
Backed out changeset 5ef6026806c8 (bug 1596918)
2019-12-07 03:12:07 +02:00
Kris Maglione
b5238224ba Bug 1596918: Part 3b - Run code formatters on files changed by previous patch. r=mccr8,remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D53741

--HG--
extra : moz-landing-system : lando
2019-12-06 22:14:22 +00:00
Kris Maglione
20da940e14 Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

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

--HG--
extra : moz-landing-system : lando
2019-12-06 22:14:14 +00:00
Andreas Tolfsen
6eca1da818 bug 1590828: remote: take appropriate action on errors during startup r=remote-protocol-reviewers,maja_zf,whimboo
Now that nsIRemoteAgent propagates errors correctly to Rust we can
report errors back to the user when something terrible happens.

The effect of all this is that the startup handler can stop Firefox
when the remote agent fails to listen.

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

--HG--
extra : moz-landing-system : lando
2019-12-04 18:26:38 +00:00
Andreas Tolfsen
22560f18d6 bug 1590828: remote: return NS exceptions from nsIRemoteAgent r=remote-protocol-reviewers,whimboo,maja_zf
The nsIRemoteAgent interface introduced with bug 1543115 did
not change the exceptions thrown internally by the class. To ensure
better interaction with consumers over XPIDL we should ensure the
JS implementation throws NS exceptions.

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

--HG--
extra : moz-landing-system : lando
2019-12-04 18:26:36 +00:00
Andreas Tolfsen
5602f61d54 bug 1600121: remote: rely on nsIHttpServer.registerPathHandler to assert path r=remote-protocol-reviewers,maja_zf,whimboo
As nsIHttpServer.registerPathHandler now checks that the path is
not empty we can drop our pre-check when target-created is handled.

If target.path does happen to be empty an error is printed to the console.

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

--HG--
extra : moz-landing-system : lando
2019-12-02 09:38:17 +00:00
Andreas Tolfsen
a217b583f9 bug 1600111: remote: make nsIRemoteAgent.listen() sync r=remote-protocol-reviewers,maja_zf
Interfaces exposed over XPIDL cannot be marked async, otherwise their
return values get lost.  This patch makes nsIRemoteAgent.listen()
synchronous by removing the use of async/await.

Unfortunately Rust does not yet support deserialising promises sent across
XPIDL, documented in https://bugzilla.mozilla.org/show_bug.cgi?id=1512319.

In an effort to retain the original API internally the function
now returns a promise.  This means the function can be awaited in
JS only, which we make use of in remote/test/browser/head.js.

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

--HG--
extra : moz-landing-system : lando
2019-12-04 11:57:13 +00:00
Andreas Tolfsen
629a3a47dc bug 1600111: remote: make nsIRemoteAgent.close() sync r=remote-protocol-reviewers,whimboo,maja_zf
Interfaces exposed over XPIDL cannot be marked async, otherwise their
return values get lost.  This patch makes nsIRemoteAgent.close()
synchronous by removing the use of async/await.

Unfortunately Rust does not yet support deserialising promises sent
across XPIDL, so in an effort to retain the original API internally
the function now returns a promise.  This means the function can be
awaited in JS only, which we make use of in remote/test/browser/head.js.

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

--HG--
extra : moz-landing-system : lando
2019-12-04 11:57:06 +00:00
Gurzau Raul
faac976002 Backed out 2 changesets (bug 1600330) for failing at browser_agent.js on a CLOSED TREE.
Backed out changeset eef79aaf5378 (bug 1600330)
Backed out changeset 695a3213e7fd (bug 1600330)
2019-12-03 21:27:59 +02:00
Andreas Tolfsen
0f621413ba bug 1600330: remote: test nsIRemoteAgent r=remote-protocol-reviewers,maja_zf,whimboo
Adds browser-chrome tests for the main entry point of the remote
agent, nsIRemoteAgent.

add_agent_task() wraps add_plain_task() (which again wraps the
original add_task()) so we can ensure that the agent isn't listening
before a test runs, and that any modified state such as preferences
is reset afterwards.

The tests rely heavily on the assumption that nsIRemoteAgent.close()
behaves as a no-op when the server is not listening.

This patch is a follow-up to bug 1590828.

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

--HG--
extra : moz-landing-system : lando
2019-12-03 17:13:47 +00:00
Andreas Tolfsen
761c037d51 bug 1600330: remote: add fail() browser-chrome test helper r=remote-protocol-reviewers,maja_zf
fail() will cause a test assertion failure equivalent to ok(false).

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

--HG--
extra : moz-landing-system : lando
2019-12-02 19:09:27 +00:00
Andreas Tolfsen
c0c59383f9 bug 1544393: remote: ship remote agent in Firefox Nightly r=remote-protocol-reviewers,whimboo,maja_zf
Now that the security review in bug 1542229 and the follow-up work
that came out of it is complete, we should go ahead and flip the
remote.enabled preference.

This patch causes the remote agent to be available to users on the
Firefox Nightly release channel.  This meansusing --remote-debugger
will no longer cause a fatal error

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

--HG--
extra : moz-landing-system : lando
2019-12-02 15:39:51 +00:00
Henrik Skupin
50ad3cd134 Bug 1600317 - [remote] Deny internal methods to be called. r=remote-protocol-reviewers,maja_zf
As long as we do not validate incoming messages against the
Chrome DevTools JSON schema, all incoming commands would be
executed. To prevent clients from changing internal data by
calling internal commands (prefixed with "_"), deny their
execution.

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

--HG--
extra : moz-landing-system : lando
2019-12-02 14:28:13 +00:00
Andreas Tolfsen
3ea9c9f00c bug 1600081: remote: correct build instructions for startup r=remote-protocol-reviewers,whimboo
With bug 1543115 we saw a rewrite of the startup code path in the
remote agent.  It forgot to update the build instructions to mention
that changes to the Rust code requires you to have a full build available.

DONTBUILD

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

--HG--
extra : moz-landing-system : lando
2019-11-28 19:42:58 +00:00
Andreas Tolfsen
bce9bee5cc bug 1590827: remote, browser: request remote agent startup; r=florian,remote-protocol-reviewers,maja_zf
This moves the Chromium remote debugging protocol implementation
in Firefox from using sessionstore-windows-restored to a new
remote-startup-requested notification observer.

This change makes it possible for applications to explicitly decide
at which stage it is considered safe to initialise the remote agent
listener.  It is safe to emit this notification at any time since
the observer for it is only registered after the --remote-debugger
flag is is used.

The remote debugger only supports Firefox, so this patch does not
take care of GeckoView/Android.

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

--HG--
extra : moz-landing-system : lando
2019-11-26 19:56:44 +00:00
Maja Frydrychowicz
10c450f91f Bug 1596888 - (remote) vendor Puppeteer to 8b49dc6
Differential Revision: https://phabricator.services.mozilla.com/D54941

--HG--
extra : moz-landing-system : lando
2019-11-27 14:38:28 +00:00
Andreas Tolfsen
86fc45b83b bug 1599400: remote: vendor puppeteer to c5a72e9
This contains maja_zf's browser picker changes.

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

--HG--
extra : moz-landing-system : lando
2019-11-26 11:33:44 +00:00
Mihai Alexandru Michis
0dc4b7231c Bug 1598971 - Fix spell lint failures. a=lint-fix CLOSED TREE
--HG--
extra : amend_source : 7f3391519a009242cabef46a5ebe50d451aee8b8
2019-11-26 12:21:18 +02:00
Sylvestre Ledru
ba488cdc09 Bug 1598971 - codespell: Fix typos in the doc r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,ato
Depends on D54430

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

--HG--
extra : moz-landing-system : lando
2019-11-25 10:06:12 +00:00
Henrik Skupin
656a009825 Bug 1598468 - [remote] Temporarily stop emitting the "Target.receivedMessageFromTarget" event. r=remote-protocol-reviewers,ato
This event is currently sent for each and every message,
and as such duplicates every log entry as displayed when
having the Puppeteer debug logs turned on.

Until we can fix it to behave correctly, it should be
disabled.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 15:34:24 +00:00
Maja Frydrychowicz
19c3ac33fe Bug 1596888 - (Puppeteer) Add automation preferences Firefox profile; r=remote-protocol-reviewers,ato,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D53952

--HG--
extra : moz-landing-system : lando
2019-11-25 16:16:40 +00:00
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
Maja Frydrychowicz
25b741df07 Bug 1591216 - Sync vendored puppeteer to v2.0.0; r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D50518

--HG--
rename : remote/test/puppeteer/.ci/node6/Dockerfile.linux => remote/test/puppeteer/.ci/node10/Dockerfile.linux
rename : remote/test/puppeteer/.ci/node6/Dockerfile.linux => remote/test/puppeteer/.ci/node12/Dockerfile.linux
extra : moz-landing-system : lando
2019-10-28 10:02:14 +00:00
Henrik Skupin
d8abd5a355 Bug 1591341 - [remote] Always close the client connection in add_task() for browser chrome tests. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D50577

--HG--
extra : moz-landing-system : lando
2019-10-25 13:42:17 +00:00
Cosmin Sabou
96ad945519 Bug 1590930 - Temporarily skip remote/test/browser/browser_runtime_executionContext.js on windows. r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D50393

--HG--
extra : moz-landing-system : lando
2019-10-24 09:22:33 +00:00
Henrik Skupin
e4aa62dc2c Bug 1589625 - [remote] Improve setup and teardown logic for browser chrome tests. r=remote-protocol-reviewers,ato
Currently when browser chrome tests are failing the open tabs, client,
and Remote Agent will never be closed, and as such each failing test
causes massive memory leaks.

Therefore the teardown logic needs to be moved out of the tests into
the "add_task()" function. Only that way we can make sure to run
all the clean-up steps independent of the test success state.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:50:04 +00:00
Henrik Skupin
68ec34ff0c Bug 1589625 - [remote] Start and stop the CDP server outside of the browser chrome tests. r=remote-protocol-reviewers,ato
To ensure that the CDP server connection is always closed after a
test even when it is failing, its lifetime has to be handled inside
the "add_task" function.

Currently if a test fails all the registered events and observer
notifications are getting leaked. This patch ensures that all of
those events and notifications are getting unregistered.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:49:53 +00:00
Henrik Skupin
0f15d8260b Bug 1589625 - [remote] Improve handling of tabs when closing a chrome window. r=remote-protocol-reviewers,ato
Due to some obvious bugs in the code of TabObserver.jsm the registered
targets for each of the window's tabs haven't been unregistered when
the window has been closed.

It has the effect that when closing the Remote Agent the browsingContext
of the tab target, which has to be destroyed, cannot be retrieved.
Instead an error is raises, because the underlying frameLoader actually
doesn't exist anymore.

Given that "TabClose" events aren't fired when the window closes,
those have to be emulated.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:49:38 +00:00
Henrik Skupin
ac5fe2028c Bug 1589625 - [remote] Add documentation for enabling logging of emitted events. r=remote-protocol-reviewers,ato,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D50230

--HG--
extra : moz-landing-system : lando
2019-10-23 15:49:19 +00:00
Maja Frydrychowicz
79206ae970 Bug 1587742 - Distinguish out-of-band non-CDP methods; r=remote-protocol-reviewers,ato,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D49989

--HG--
extra : moz-landing-system : lando
2019-10-22 13:46:58 +00:00
Maja Frydrychowicz
dfb374293d Bug 1589844 - Move Input browser-chrome tests to their own directory; r=remote-protocol-reviewers,whimboo,ato
This also fixes the intermittent timeout on Windows debug by
moving the event checks to a separate test.

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

--HG--
rename : remote/test/browser/browser_input_dispatchKeyEvent.js => remote/test/browser/input/browser_dispatchKeyEvent.js
rename : remote/test/browser/browser_input_dispatchKeyEvent_race.js => remote/test/browser/input/browser_dispatchKeyEvent_race.js
rename : remote/test/browser/browser_input_dispatchMouseEvent.js => remote/test/browser/input/browser_dispatchMouseEvent.js
rename : remote/test/browser/doc_input_dispatchKeyEvent_race.html => remote/test/browser/input/doc_dispatchKeyEvent_race.html
rename : remote/test/browser/doc_input_events.html => remote/test/browser/input/doc_events.html
extra : moz-landing-system : lando
2019-10-22 13:09:49 +00:00
Maja Frydrychowicz
af1d713760 Bug 1563206 - Call editor commands directly to emulate some native key bindings; r=ato,remote-protocol-reviewers
Depends on D47032

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

--HG--
extra : moz-landing-system : lando
2019-10-18 21:02:45 +00:00
Maja Frydrychowicz
dd650b37c4 Bug 1563206 - Test top key combinations that affect gutenberg; r=ato,remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D47032

--HG--
extra : moz-landing-system : lando
2019-10-18 21:01:44 +00:00
Oana Pop Rus
3ad8f4bf4a Backed out changeset 1ce1b20dcc20 (bug 1563206) for mochitest remote perma failures in browser_input_dispatchKeyEvent.js on a CLOSED TREE 2019-10-18 18:55:01 +03:00
Maja Frydrychowicz
7b8844084a Bug 1563206 - Test top key combinations that affect gutenberg; r=ato,remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D47032

--HG--
extra : moz-landing-system : lando
2019-10-18 15:07:30 +00:00
shindli
99ded94f39 Merge autoland to mozilla-central. a=merge 2019-10-17 06:44:40 +03:00
Henrik Skupin
513521f536 Bug 1585272 - [remote] Register ChannelEventSinkFactory only once, and allow for multiple client connections. r=remote-protocol-reviewers,maja_zf
To allow for multiple client connections the ChannelEventSinkFactory
class only has to be registered once. By reference counting consumers
of this factory it can be made sure to only unregister it once no
consumers of the factory exist anymore.

With this refactoring we basically allow multiple client connections
to our CDP implementation.

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

--HG--
extra : moz-landing-system : lando
2019-10-16 20:23:05 +00:00
Henrik Skupin
3dce432d4f Bug 1563746 - [remote] Implement Page.captureScreenshot. r=remote-protocol-reviewers,maja_zf,ato
Differential Revision: https://phabricator.services.mozilla.com/D49203

--HG--
extra : moz-landing-system : lando
2019-10-16 19:36:56 +00:00
Andreas Tolfsen
ae411df1a4 bug 1588727: remote: drop Users heading in docs; r=me a=doc
MANUAL PUSH: doc change
DONTBUILD
2019-10-15 11:05:31 +01:00
Henrik Skupin
c8933daeb7 Bug 1586503 - Temporarily skip remote/test/browser/browser_runtime_executionContext.js on Mac. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D48906

--HG--
extra : moz-landing-system : lando
2019-10-10 23:38:51 +00:00
Henrik Skupin
cef91826dc Bug 1585274 - [remote] Run Puppeteer unit tests in non-headless mode by default. r=remote-protocol-reviewers,maja_zf
Similar to all the other test jobs also the Puppeteer jobs should
not run in headless by default. Instead it should be an opt-in.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 15:10:48 +00:00
Henrik Skupin
7a2422f61b Bug 1547961 - [remote] Unskip browser_runtime_executionContext.js on Mac and Windows. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D48161

--HG--
extra : moz-landing-system : lando
2019-10-04 09:35:48 +00:00
Andreas Tolfsen
dada1b17df bug 1585630: remote: load frameNavigated test resources from Data URL; r=remote-protocol-reviewers,whimboo
In order to get the browser_page_frameNavigated.js and
browser_page_frameNavigated_iframe.js tests passing under Fission
we can load the test resources from the same site origin as the
initial test document.  This avoids a content browser remoteness
change, which strictly speaking is not what the tests are testing.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 13:21:07 +00:00
Henrik Skupin
d4dbaa0a19 Bug 1585464 - [remote] Unskip passing browser-chrome tests with Fission enabled. r=remote-protocol-reviewers,ato
Differential Revision: https://phabricator.services.mozilla.com/D47896

--HG--
extra : moz-landing-system : lando
2019-10-02 12:51:06 +00:00
Anny Gakhokidze
f1c694e18f Bug 1582531 - Update fission annotations for skipped tests that are now passing succesfully, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D47347

--HG--
extra : moz-landing-system : lando
2019-09-27 14:25:10 +00:00
Anny Gakhokidze
f4ff478a69 Bug 1582531 - Re-enable remote/test/browser/browser_session.js and remote/test/browser/browser_network_requestWillBeSent.js, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46793

--HG--
extra : moz-landing-system : lando
2019-09-23 19:56:55 +00:00
Mihai Alexandru Michis
2d75ac3563 Backed out changeset 918818623794 (bug 1582230) as requested by kashav. a=backout 2019-09-19 21:41:17 +03:00
Kashav Madan
f7b60d0193 Bug 1582230 - Remove remote/tests/browser fission annotations, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46335

--HG--
extra : moz-landing-system : lando
2019-09-18 19:37:51 +00:00
Andreas Tolfsen
3852bf897f bug 1580470: remote: document security aspects of remote agent; r=remote-protocol-reviewers,maja_zf
This clarifies the security considerations we have made with the
remote agent.

The text is adapted from two sources:

	https://bugzilla.mozilla.org/show_bug.cgi?id=1542229
	https://docs.google.com/document/d/1LytMB7yueNLFehBp72Xzi_n4crncdHSHjQ3FCp0Meuo/edit#heading=h.k75yymb1qbxr

DONTBUILD

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

--HG--
extra : moz-landing-system : lando
2019-09-12 11:39:13 +00:00
Andreas Tolfsen
bc7f951fd6 bug 1540655: remote: document how to vendor Puppeteer; r=remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D39660

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:34 +00:00
Andreas Tolfsen
eb6edbf0df bug 1540655: remote: document how to run Puppeteer tests; r=remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D39659

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:32 +00:00
Andreas Tolfsen
d653e19e81 bug 1540655: remote: connect Puppeteer spec tests with mach test flavour; r=remote-protocol-reviewers,jdescottes
This makes it possible to for mach to determine which test types
are likely to be relevant.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:23 +00:00
Andreas Tolfsen
e95c2010c7 bug 1540655: remote: ignore non-vendored Node.js assets; r=remote-protocol-reviewers,jdescottes
We vendor the Puppeteer library, but not its dependencies.
When "npm install" is called in remote/test/puppeteer/, it puts
its dependencies under remote/test/puppeteer/node_modules/ and
generates a remote/test/puppeteer/package-lock.json file.  We do
not want these to be checked in.

DONTBUILD

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:17 +00:00
Andreas Tolfsen
a5a5c8b5bb bug 1540655: remote: add mach command for running Puppeteer tests; r=remote-protocol-reviewers,jdescottes
Introduces "./mach puppeteer-test" command for running the Puppeteer
tests against the remote agent.  This has to be a top-level command
because the automatic test detection system in mach does not allow
us to delegate to a subcommand such as "./mach remote puppeteer-test".

The tests run against a fork of Puppeteer with hotfixes needed for
it to work  with the CDP implementation in Firefox.  This fork is
located at https://github.com/andreastt/puppeteer/tree/firefox, and
vendored under remote/test/puppeteer/ in a previous commit in this series.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:15 +00:00
Andreas Tolfsen
a0e6457fa6 bug 1540655: remote: vendor Puppeteer; r=remote-protocol-reviewers,jdescottes
Puppeteer is licensed under the Apache-2.0 license.

No code from Puppeteer gets included in Firefox.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:08 +00:00
Andreas Tolfsen
8350dc3134 bug 1540655: build, remote: add mach command for vendoring Puppeteer; r=firefox-build-system-reviewers,chmanchester
Introduces "./mach remote vendor-puppeteer" for vendoring the
Puppeteer client without dependencies into remote/test/puppeteer/.

The particular checkout of Puppeteer is
https://github.com/andreastt/puppeteer/tree/firefox, which contains a
couple of hotfixes we need for the client to work with the Firefox
implementation of CDP.

The remote agent targets a specific version of Puppeteer, so it is
not suitable for this to be vendored under third_party/.  We also
wouldn't want other code in central to accidentally use a patched fork.

The vendoring process is not part of "./mach vendor" because it does
not yet have Node.js support, and implementing that for mach is outside
the scope of getting the Puppeteer tests running with the remote agent.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:06 +00:00
Andreas Tolfsen
0e1c8ecc27 bug 1569875: remote: fix link to Prefs.html; r=me a=doc
MANUAL PUSH: doc change
DONTBUILD
2019-08-14 14:43:01 +01:00
Nicholas Nethercote
dd9bd0a9f7 Bug 1572622 - Merge remote.js into all.js. r=ato
This makes prefs definition simpler, more consistent, and less error-prone.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 23:49:39 +00:00
Kris Maglione
c01ad83372 Bug 1571502: Don't leak TabGroups which have never had windows joined to them. r=nika
Currently, TabGroups know to break their reference cycles only when the last
window leaves them. For TabGroups which have never had a window join (which
happens under Fission), this means they also never see a window leave, and
therefore never break their reference cycles, and leak.

This patch adds a check to break reference cycles if no windows have joined by
the time a BrowserChild they belong to is destroyed.

MANUAL PUSH: Lando fails to rebase.

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

--HG--
extra : source : 03acb28ab60fb77fa06064385a62cc46cf4ad1bd
extra : amend_source : 0a71625d99951bebe45ee6f62570de491a714e97
2019-08-02 18:19:53 -07:00
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