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

81 Коммитов

Автор SHA1 Сообщение Дата
Brindusan Cristian 75f86d396d Backed out 7 changesets (bug 1504756) for xpcshell failures on test_sync.js.
Backed out changeset 9d80f662ad2b (bug 1504756)
Backed out changeset 8f9d90979825 (bug 1504756)
Backed out changeset 9715660f8c07 (bug 1504756)
Backed out changeset c25c93d2dc4d (bug 1504756)
Backed out changeset 58ab81d373b9 (bug 1504756)
Backed out changeset 21658a2d0174 (bug 1504756)
Backed out changeset 93ff3f0d95bd (bug 1504756)
2019-01-09 21:57:50 +02:00
Henrik Skupin d950f23ac6 Bug 1504756 - [marionette] Added "WebDriver:NewWindow" command to open a new top-level browsing context. r=ato
The patch adds the end-point for the recently defined `New Window`
command (https://github.com/w3c/webdriver/issues/1138). It allows
to open a new top-level browsing context as tab or as window.

Depends on D13662

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

--HG--
extra : moz-landing-system : lando
2019-01-09 18:27:28 +00:00
Henrik Skupin 2412720695 Bug 1504756 - [marionette] Use waitForEvent() when waiting for events. r=ato
Depends on D13659

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

--HG--
extra : moz-landing-system : lando
2019-01-09 18:22:19 +00:00
Timothy Guan-tin Chien bd38b39f8a Bug 1512048 - Convert tabmodalprompt binding to JSM module r=Gijs
This converts the tabmodalprompt binding to a class, to be constructed along side with the element
by TabModalPromptBox.

TabModalPromptBox will keep the instances in a map and pass it to the callers, instead of the element.
The tests and callers can access the class instance by passing the element reference to the map.

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

--HG--
rename : toolkit/components/prompts/content/tabprompts.xml => toolkit/components/prompts/content/tabprompts.jsm
extra : moz-landing-system : lando
2019-01-04 19:29:34 +00:00
Henrik Skupin 3d3e53485f Bug 1517587 - [marionette] Get/Set Window Rect should not return window state. r=ato
As decided during the last TPAC meeting the window rect commands
should not return the window state.

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

--HG--
extra : moz-landing-system : lando
2019-01-04 13:51:24 +00:00
Cosmin Sabou 2545cf7d92 Backed out changeset 1f465582eb8c (bug 1517587) for causing build bustages on gfx/angle/targets/angle_common/moz.build. CLOSED TREE 2019-01-04 15:41:42 +02:00
Henrik Skupin 557f51b9b5 Bug 1517587 - [marionette] Get/Set Window Rect should not return window state. r=ato
As decided during the last TPAC meeting the window rect commands
should not return the window state.

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

--HG--
extra : moz-landing-system : lando
2019-01-04 12:56:09 +00:00
Cosmin Sabou 4d5fd1304e Backed out 6 changesets (bug 1504756) as requested by whimboo in order to stop some wpt and mn intermittents. a=backout
Backed out changeset d7d78e79f0b3 (bug 1504756)
Backed out changeset 5c495fd7f64d (bug 1504756)
Backed out changeset 5c2826c58f9e (bug 1504756)
Backed out changeset f23b667d8bfa (bug 1504756)
Backed out changeset 6068c233f4ef (bug 1504756)
Backed out changeset 65858c8c0fbd (bug 1504756)

--HG--
extra : rebase_source : 6b895c62a74c6f7521e4a4baff3b0498c65fcbf9
2018-12-20 18:07:02 +02:00
Henrik Skupin 52b84a6f90 Bug 1504756 - [marionette] Added "WebDriver:NewWindow" command to open a new top-level browsing context. r=ato
The patch adds the end-point for the recently defined `Create window`
command (https://github.com/w3c/webdriver/issues/1138). It allows
to open a new top-level browsing context as tab or as window.

Depends on D13662

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

--HG--
extra : moz-landing-system : lando
2018-12-05 19:58:06 +00:00
Henrik Skupin eb8486826a Bug 1504756 - [marionette] Use waitForObserverTopic when waiting for observer notifications. r=ato
Depends on D13661

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

--HG--
extra : moz-landing-system : lando
2018-12-05 19:57:48 +00:00
Henrik Skupin e099e3a840 Bug 1504756 - [marionette] Use waitForEvent() when waiting for events. r=ato
Depends on D13659

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

--HG--
extra : moz-landing-system : lando
2018-12-05 19:56:56 +00:00
Cosmin Sabou 5d8f09e4fd Backed out 6 changesets (bug 1504756) for wpt failures on webdriver/tests/execute_script/promise.py
Backed out changeset d808b528532a (bug 1504756)
Backed out changeset 30d345cce5be (bug 1504756)
Backed out changeset a8ea6d01fbe1 (bug 1504756)
Backed out changeset ba627a1b61dc (bug 1504756)
Backed out changeset c90e4b2e1b28 (bug 1504756)
Backed out changeset 04da1f01afba (bug 1504756)
2018-12-05 08:33:46 +02:00
Henrik Skupin 1a084b6641 Bug 1504756 - [marionette] Added "WebDriver:NewWindow" command to open a new top-level browsing context. r=ato
The patch adds the end-point for the recently defined `Create window`
command (https://github.com/w3c/webdriver/issues/1138). It allows
to open a new top-level browsing context as tab or as window.

Depends on D13662

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

--HG--
extra : moz-landing-system : lando
2018-12-04 21:59:43 +00:00
Henrik Skupin 6cd30adf3d Bug 1504756 - [marionette] Use waitForObserverTopic when waiting for observer notifications. r=ato
Depends on D13661

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

--HG--
extra : moz-landing-system : lando
2018-12-04 21:59:39 +00:00
Henrik Skupin cbb83ceeeb Bug 1504756 - [marionette] Use waitForEvent() when waiting for events. r=ato
Depends on D13659

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

--HG--
extra : moz-landing-system : lando
2018-12-04 21:57:51 +00:00
Geoff Lankow fe3e835c8c Bug 1506523 - Adapt Marionette so it can run on Thunderbird; r=whimboo
--HG--
extra : rebase_source : 65b6677dfe8672b4972f65dcf50228a826a4ba9e
2018-11-23 10:38:19 +13:00
Henrik Skupin dab04b1706 Bug 1504807 - [marionette] Don't remove pending command unless it has been completed. r=ato
With the use of multiple content processes in Firefox a navigation
command can cause the active framescript to be moved to a different
process. This interrupts the currently executed command, and as such
needs to be executed again after the framescript has been finished
initializing.

Currently flushing the pending commands doesn't take into account
that the framescript can even be moved multiple times to a different
process during a single page navigation. As such all pending commands
are getting removed after the first process move. For navigation
commands this means that no page load listeners are attached for
subsequent process changes, and navigation commands could never
return, and cause a hang of Marionette.

To solve the problem the pending commands need to be flushed each
time the process changes. They will remove themselves from the list
once they have finished processing.

Depends on D10998

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

--HG--
extra : moz-landing-system : lando
2018-11-06 12:08:55 +00:00
shindli 2ea0026f80 Backed out changeset 4ef00e2b6b1c (bug 1493660) per developer's request 2018-09-24 19:05:23 +03:00
Andreas Tolfsen 08c88159c2 bug 1493660: marionette: sort window rect JSON object; r=jgraham
Mimic ordering of window rect JSON Object as it is returned by the
webdriver crate and geckodriver.
2018-09-24 14:25:23 +01:00
Henrik Skupin 17b7d41410 Bug 1452653 - [marionette] Fix race condition for closing a browser and chrome window. r=ato
Until now Marionette assumed that the events `TabClose` and `unload`
indicate that a top-level browsing context or chrome window has been
closed. But both events are fired when the browsing context or chrome
window is about to close. As such a race condition can be seen for
slow running builds.

To clearly wait until the top-level browsing context or chrome window
has been closed, the appropriate message manager needs to be observed
for its destroyed state.

MozReview-Commit-ID: DCdaIiULqey

--HG--
extra : rebase_source : f5659c1aa640d5265240bb1c4fe2059fb46d3cac
2018-04-17 10:43:27 +02:00
Narcis Beleuzu e49f20ad46 Backed out changeset 3558cd78821d (bug 1452653) for wr failures on processing-model/basic.html. CLOSED TREE 2018-05-20 01:14:00 +03:00
Henrik Skupin 340286ffb7 Bug 1452653 - [marionette] Fix race condition for closing a browser and chrome window. r=ato
Until now Marionette assumed that the events `TabClose` and `unload`
indicate that a top-level browsing context or chrome window has been
closed. But both events are fired when the browsing context or chrome
window is about to close. As such a race condition can be seen for
slow running builds.

To clearly wait until the top-level browsing context or chrome window
has been closed, the appropriate message manager needs to be observed
for its destroyed state.

MozReview-Commit-ID: DCdaIiULqey

--HG--
extra : rebase_source : 3f9248ebbdc696ce5e6856ecb167ab144739a52e
2018-04-17 10:43:27 +02:00
Andrew McCreight 5dec0e0beb Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG

--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
2018-02-06 09:36:57 -08:00
Kris Maglione 918ed6c474 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
extra : intermediate-source : 34c999fa006bffe8705cf50c54708aa21a962e62
extra : histedit_source : b2be2c5e5d226e6c347312456a6ae339c1e634b0
2018-01-29 15:20:18 -08:00
Cosmin Sabou 9a65a40178 Backed out 3 changesets (bug 1431533) for Android mochitest failures on testEventDispatcher on a CLOSED TREE
Backed out changeset a1eca62826a1 (bug 1431533)
Backed out changeset 34c999fa006b (bug 1431533)
Backed out changeset e2674287e57f (bug 1431533)
2018-01-30 07:17:48 +02:00
Kris Maglione 6476f95b13 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
2018-01-29 15:20:18 -08:00
Brindusan Cristian af8879d1eb Backed out 2 changesets (bug 1431533) for ESlint failures on a CLOSED TREE
Backed out changeset 6e56f4c8843e (bug 1431533)
Backed out changeset 12fc4dee861c (bug 1431533)
2018-01-30 02:32:43 +02:00
Kris Maglione c276bb9375 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : rebase_source : c004a023389f1f6bf3d2f3efe93c13d423b23ccd
2018-01-29 15:20:18 -08:00
Andreas Tolfsen 24ac581c5a Bug 1431155 - Move WindowState to Marionette browser module. r=automatedtester
This moves the WindowState enum from testing/marionette/wm.js to
testing/marionette/browser.js in order to make it easier to apply
the forthcoming Marionette window tracking refactoring patches.
In other words, this patch functionally does not change anything.

MozReview-Commit-ID: 53MKIRHl11p

--HG--
extra : rebase_source : d048086ab48449ba02853076451e6dd1909bafa6
2018-01-17 17:56:25 +00:00
Dorel Luca a0f25f9c56 Backed out changeset 4581da0d9525 (bug 1431155) for failing Browser-chrome on browser/base/content/test/static/browser_all_files_referenced.js on a CLOSED TREE 2018-01-18 17:09:45 +02:00
Andreas Tolfsen c45dec6136 Bug 1431155 - Move WindowState to Marionette browser module. r=automatedtester
This moves the WindowState enum from testing/marionette/wm.js to
testing/marionette/browser.js in order to make it easier to apply
the forthcoming Marionette window tracking refactoring patches.
In other words, this patch functionally does not change anything.

MozReview-Commit-ID: 53MKIRHl11p

--HG--
extra : rebase_source : 1d0dcbac2c5089a0b9249794548dee7506b6b568
2018-01-17 17:56:25 +00:00
Andreas Tolfsen 2861122a4c Bug 1430109 - Combine assert.window and assert.contentBrowser. r=maja_zf
The forthcoming window tracking refactoring introduces the new
abstractions ContentContext and ChromeContext that to a large extent
share the same interface.  They make it possible to interact with
both types of browsing context in a uniform manner.

Marionette currently has a lot of convoluted if-conditions to
paper over the differences between ChromeWindow, <xul:browser>,
and browser.Context.  Examples of this includes the assert.window
and assert.contentBrowser assertions: they essentially perform the
same job, but does not share the same API because the underlying
APIs they call are different.

In an effort to prepare Marionette for the window tracking refactoring,
this patch adds a bit of glue to combine them both into one assertion
called assert.open.  This checks that the browsing context has not
been discarded.

MozReview-Commit-ID: K5e7Sr1mq0
2018-01-15 14:02:39 +00:00
Andreas Tolfsen 653d4278ce Bug 1429116 - Turn Context enum into a class. r=maja_zf
There is no functional purpose of this patch apart from laying
groundwork to make the window tracking patches easier to review.

MozReview-Commit-ID: GOIysDLVWIf

--HG--
extra : rebase_source : b7ddbd91fa3bc53f30552a7a4761bbf7e9efda1b
2018-01-09 16:45:06 +00:00
Andreas Tolfsen 844fad888d Bug 1423282 - Remove last remenants of frame.Manager. r=automatedtester
This removes the last remenants of frame.Manager and
testing/marionette/frame.js from Marionette.  The preceding commits
in this changeset has gradually removed the unused and duplicated
features that it implemented.  The only remaining pieces are the
registrating of some chrome-side IPC message handlers which we can
leave attached for the duration of the Marionette session.

MozReview-Commit-ID: EYjrJBeTybz

--HG--
extra : rebase_source : cf8b2d04c05d22eea6fe24061ccb9b21680f0d3c
2017-12-05 21:28:59 +00:00
Andreas Tolfsen ac39cffaab Bug 1408508 - Move Context to browser module. r=maja_zf
To avoid circular dependencies, where file A depends on B depending
on A, we should strive towards fewer inter-dependencies and more
autonomy between modules.

For example, if testing/marionette/browser.js needs access to
the Context enum it can currently only attain it by importing
testing/marionette/driver.js.  Because driver.js imports browser.js,
we create a circular dependency and Cu.import enters an infinite
import recursion.

MozReview-Commit-ID: LGiA9sy9xrd

--HG--
extra : rebase_source : f1748894c4309a5bc34b72acd4931d7937e8810e
2017-10-16 17:47:35 +01:00
Sebastian Hengst 164fef69ff Backed out changeset 286a5ba56cec (bug 1408508) for eslint failure at testing/marionette/driver.js:881:50 | 'resp' is defined but never used. r=backout
--HG--
extra : amend_source : becc15136f2e7113ab248154be37dfa2bf923dc9
2017-10-18 20:28:15 +02:00
Andreas Tolfsen 4092fd5b34 Bug 1408508 - Move Context to browser module. r=maja_zf
To avoid circular dependencies, where file A depends on B depending
on A, we should strive towards fewer inter-dependencies and more
autonomy between modules.

For example, if testing/marionette/browser.js needs access to
the Context enum it can currently only attain it by importing
testing/marionette/driver.js.  Because driver.js imports browser.js,
we create a circular dependency and Cu.import enters an infinite
import recursion.

MozReview-Commit-ID: LGiA9sy9xrd

--HG--
extra : rebase_source : e4b69c91b9cf78705c902f1e5038d815b88114d0
2017-10-16 17:47:35 +01:00
Andreas Tolfsen c9ec6362dc Bug 1409379 - Move WindowState to new wm module. r=maja_zf
The upcoming window tracking refactoring to Marionette will introduce
a new testing/marionette/wm.js module.  It was originally the plan
to move WindowState there after it had landed, but it actually makes
sense to land any dependencies before to reduce churn in the window
tracking patches.

MozReview-Commit-ID: EpqnTYYGcmg

--HG--
extra : rebase_source : d6760feefa49c522738fd3930b339bc0af70e6a5
2017-10-17 14:20:52 +01:00
Andreas Tolfsen d28ce13224 Bug 1405279 - Remove unused variables. r=whimboo
MozReview-Commit-ID: CmiDVCw6xVK

--HG--
extra : rebase_source : e71cfb7da973d95c796a93cc1e4da6f709acf65e
2017-10-03 14:35:47 +01:00
Andreas Tolfsen 9ac995ab12 Bug 1400225 - Subscribe to and relay web content DOM events. r=automatedtester,whimboo
This makes it possible to subscribe to DOM events in web content, in
order to facilitate fixes for cases such as https://bugzil.la/1397007.

Although the current interface, WebElementEventTarget, is associated with
browser.Context (curBrowser) it is the intention that we in the future
will associate this with representations of the marshaled web element.
This will make it quack and act like an Element's EventTarget, which
has nice parity to it.

The WebElementEventTarget works by passing IPC messages to
a backend service in the content frame script implemented by
ContentEventObserverService.  This registers event handlers for specific
DOM events, and relays these events back to the browser-specific message
handler in chrome.

This will enable chrome code to wait for events to occur in content,
like this:

	await new Promise(resolve => {
	  webElement.addEventListener("visibilitychange", resolve, {once: true});
	  contentBrowser.minimize();
	});

MozReview-Commit-ID: B8MMHyG8n04

--HG--
extra : rebase_source : 25ac77fbcfb09435325719ac61614c4a8ce37996
2017-09-15 17:07:41 +01:00
Andreas Tolfsen 35190fd47d No bug: Fix Marionette jsdoc errors. r=me
DONTBUILD

MozReview-Commit-ID: HvhpWSOwM0n
2017-09-04 15:32:08 +01:00
Andreas Tolfsen 34a091cffa Bug 1392339 - Fix misuse of nsIDOMWindow in API docs. r=automatedtester
nsIDOMWindow is the XPCOM interface and not what we mean in all these
cases.  We either want to refer to the ChromeWindow or to the WindowProxy,
depending on the context of the code.

MozReview-Commit-ID: 405po1XLXRi

--HG--
extra : rebase_source : 47a179f7caed76592dab28f8e10550cda5fe3d02
2017-08-21 18:52:18 +01:00
Andreas Tolfsen 61810789d2 Bug 1391691 - Export WindowState properly. r=automatedtester
MozReview-Commit-ID: CNev3JIWJAt

--HG--
extra : rebase_source : f835504765e7af521bb65b3035548a95885da8e1
2017-08-21 14:08:44 +01:00
Wes Kocher 75e9f7dbef Backed out 10 changesets (bug 1391691) for wpt failures a=backout
Backed out changeset 666ac679317e (bug 1391691)
Backed out changeset 46f82e1e2cde (bug 1391691)
Backed out changeset 1fd98ace1473 (bug 1391691)
Backed out changeset 5bddbd90ec7c (bug 1391691)
Backed out changeset 4653134d01ef (bug 1391691)
Backed out changeset fd88b612ac2e (bug 1391691)
Backed out changeset 6306abc0b5e9 (bug 1391691)
Backed out changeset 649b0e761c87 (bug 1391691)
Backed out changeset 6c48daaad075 (bug 1391691)
Backed out changeset 17aeed1f6454 (bug 1391691)

MozReview-Commit-ID: 6Cw1QibNQKM

--HG--
extra : rebase_source : 0197f824719f11e113595dd9a4a86b2c8d1fd8fe
2017-08-21 09:19:10 -07:00
Andreas Tolfsen 14a5d8a735 Bug 1391691 - Export WindowState properly. r=automatedtester
MozReview-Commit-ID: CNev3JIWJAt

--HG--
extra : rebase_source : 80177d33da8a1f0b75227a3bb22e9c81652c0520
2017-08-21 14:08:44 +01:00
Andreas Tolfsen 6e4c649956 Bug 1381876 - Include window state in window rect. r=automatedtester
The window state was included for only some of the commands' responses
earlier.

MozReview-Commit-ID: DdNyR7vdgtY

--HG--
extra : rebase_source : b7c3c7376f8affff673c903ba2c90e2cee93878a
2017-08-01 18:18:12 +01:00
Andreas Tolfsen dd7a57fd22 Bug 1384517 - Fix testing/marionette API docs; r=automatedtester
Various fixes to make the generated API documentation from
testing/marionette somewhat easier to read.

MozReview-Commit-ID: F9duuQoOYBt

--HG--
extra : rebase_source : 3ade69773ceba42826aedef05b1371240b51cf82
2017-07-26 13:11:53 +01:00
Henrik Skupin 618082fc0c Bug 1332122 - Re-register the browser for frame script reloads. r=automatedtester
With multi-processes for content reloads of the frame script
can happen at any time, and not only for remoteness changes.
As such the current browser has to be re-registered with the
new id of the listener.

MozReview-Commit-ID: 48MOZfuPTR9

--HG--
extra : rebase_source : 60e91ae7e1cdc942d0ac9a9dd3aac3baeccc5ddf
2017-07-06 18:02:19 +02:00
Henrik Skupin d373a550b4 Bug 1332122 - Remove unnecessary wrapper browser.startSession(). r=automatedtester
This wrapper just calls back into the MarionetteDriver, and
doesn't have any value. Removing it simplifies the call stack.

MozReview-Commit-ID: GH1xUHX12Xi

--HG--
extra : rebase_source : a3b9e57e63809c9936fdb2686ad6016339ea7bf7
2017-07-04 10:27:54 +02:00
Henrik Skupin 3aa7fa87be Bug 1368439 - Retrieve content browser title via parent process. r=automatedtester
To retrieve the title of the currently selected content browser
it is not necessary to call into the frame script. Instead just
take the value from the parent process directly.

MozReview-Commit-ID: KEpYKLIydrJ

--HG--
extra : rebase_source : 8b179de7057f8655a81656bd4d95b1562edb9f54
2017-07-02 04:31:18 -07:00