With this patch Marionette registers globally for the dialog notifications
and events while a session is active. Also it provides an interface for
custom dialog handlers to hook in.
Instead of the callbacks custom events could have been fired, but that would
be some more work, and should preferable be done in a follow-up bug.
Differential Revision: https://phabricator.services.mozilla.com/D34139
--HG--
extra : moz-landing-system : lando
Add buildID to returned list of capabilities when a new session is started with
Marionette. This new capability will live in moz:buildID.
Differential Revision: https://phabricator.services.mozilla.com/D18974
--HG--
extra : moz-landing-system : lando
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8
This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:
ChromeUtils.import("resource://gre/modules/Services.jsm");
is approximately the same as the following, in the new model:
var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs
This was done using the followng script:
https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16750
--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
By default PollPromise has to behave similar to a normal Promise
and wait forever until it gets resolved or rejected.
Depends on D13662
Differential Revision: https://phabricator.services.mozilla.com/D15907
--HG--
extra : moz-landing-system : lando
To be closer to other test harnesses which are using executeSoon()
to run a task on the main thread, this patch adds the same
method to Marionette's sync module.
Differential Revision: https://phabricator.services.mozilla.com/D13659
--HG--
extra : moz-landing-system : lando
By default PollPromise has to behave similar to a normal Promise
and wait forever until it gets resolved or rejected.
Depends on D13662
Differential Revision: https://phabricator.services.mozilla.com/D15907
--HG--
extra : moz-landing-system : lando
To be closer to other test harnesses which are using executeSoon()
to run a task on the main thread, this patch adds the same
method to Marionette's sync module.
Differential Revision: https://phabricator.services.mozilla.com/D13659
--HG--
extra : moz-landing-system : lando
To be closer to other test harnesses which are using executeSoon()
to run a task on the main thread, this patch adds the same
method to Marionette's sync module.
Differential Revision: https://phabricator.services.mozilla.com/D13659
--HG--
extra : moz-landing-system : lando
To be closer to other test harnesses which are using executeSoon()
to run a task on the main thread, this patch adds the same
method to Marionette's sync module.
Differential Revision: https://phabricator.services.mozilla.com/D13659
--HG--
extra : moz-landing-system : lando
This adds a new synchronisation primitive to Marionette which will
allow us to wait for the last in a sequence of events to fire.
This is especially useful for high-frequency events such as the DOM
resize event, where multiple resize events may fire as the window
dimensions are being changed.
Depends on D8411
Differential Revision: https://phabricator.services.mozilla.com/D8412
--HG--
extra : moz-landing-system : lando
This patch changes Marionette to only run the interactability test
on <input type=file> when the strictFileInteractability capability is set.
strictFileInteractability is not set by default which means
this changes WebDriver:SendElementKeys' behaviour to not run
interactability checks on <input type=file>. This aligns our
WebDriver implementation with the current behaviour in Chrome.
To make it legible what the input to interaction.sendKeysToElement
is, its API has changed to take an options dictionary instead of
three boolean arguments at the end.
Depends on D10274
Depends on D10274
Differential Revision: https://phabricator.services.mozilla.com/D10275
--HG--
extra : moz-landing-system : lando
This patch changes Marionette to only run the interactability test
on <input type=file> when the strictFileInteractability capability is set.
strictFileInteractability is not set by default which means
this changes WebDriver:SendElementKeys' behaviour to not run
interactability checks on <input type=file>. This aligns our
WebDriver implementation with the current behaviour in Chrome.
To make it legible what the input to interaction.sendKeysToElement
is, its API has changed to take an options dictionary instead of
three boolean arguments at the end.
Depends on D10274
Differential Revision: https://phabricator.services.mozilla.com/D10275
--HG--
extra : moz-landing-system : lando
To avoid confusion with the global "window" object we should
avoid using this name as function argument.
Changes for driver.js are left-out and will be done by the
patch on bug 1311041.
--HG--
extra : rebase_source : f15714af3a422476923d096eb8cb837ae474c675
This patch moves the private whenIdle function to sync so it can
be shared across JSMs.
It also changes its semantics somewhat, so that instead of taking
a callback function (suitable for DOM event callbacks) it returns
a promise that is resolved when the main thread becomes idle and
the window has completed an animation frame tick.
This patch moves the private whenIdle function to sync so it can
be shared across JSMs.
It also changes its semantics somewhat, so that instead of taking
a callback function (suitable for DOM event callbacks) it returns
a promise that is resolved when the main thread becomes idle and
the window has completed an animation frame tick.
searchfox.org no longers renders Markdown, so it is not needed.
DONTBUILD
--HG--
rename : testing/marionette/test/unit/README.md => testing/marionette/test/unit/README
This adds a new public API to the Marionette sync module that can
"pause" async functions for an arbitrary amount of hardcoded time.
This can be useful for debugging purposes.
This patch introduces stricted type checks for the sync module's
PollPromise and TimedPromise. This may seem excessive, but we have
had real and severe bugs in this area before.
This adds a new public API to the Marionette sync module that can
"pause" async functions for an arbitrary amount of hardcoded time.
This can be useful for debugging purposes.