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

301 Коммитов

Автор SHA1 Сообщение Дата
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
Kris Maglione ef02b3cbd8 Bug 1568035: Part 1 - Skip tests which cause shutdown leaks under Fission. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D39459

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

	% ./mach lint --fix remote/

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

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

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

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

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

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

--HG--
extra : rebase_source : 292157039c88fc615f5de41679e96e72766ac4db
2019-07-19 12:30:10 -07:00