Occasionally marionette tries to get the accessibility element while the
elements are still being built. This causes getAccessibleFor to return
null when there actually should be an accessibility element available.
Instead, if the document is busy, wait until it finishes to get the
accessibility element.
The InvalidCookieDomainError type is missing a status lookup key in
testing/marionette/error.js. This adds "invalid cookie domain" as a
reverse lookup for the type.
MozReview-Commit-ID: 69hkk28axtt
--HG--
extra : rebase_source : 19628df79d89f7fbaf821cc1847e1be241ff56af
This changes the about memory parser to only perform prefix matches if the
path ends in a '/'. For example:
> parse_about_memory.py memory-report.json.gz 'resident'
Will match the 'resident' node, but not 'resident-unique'.
MozReview-Commit-ID: CK2jAemGNDn
Instead of 'itemCount' the 'maxResults' property of the autocomplete popup
has to be used, because it doens't get increased similar to 'itemCount' but
stays the same all the time.
Further we cannot do an equal check in the puppeteer unit test but only do
a check for 0 < visible results <= maxResults, to ensure that items are
visible. Using the dot instead, should also give us more and more accurate
results across different locales.
MozReview-Commit-ID: KZEhq87kvx7
--HG--
extra : rebase_source : f429730d3f4a8da28b481b42c916145ae82e6bb5
It is not clear exactly why, but Travis will complain that gcc and
gcc-multilib packages cannot be installed because they are virtual. The
working theory is that the virtual packages do not correctly resolve to
the concrete gcc-4.8 and gcc-4.8-multilib packages.
This patch fixes compilation of geckodriver on Travis, which we at the
moment use for releasing geckodriver.
DONTBUILD
MozReview-Commit-ID: H1zsUgDi7wO
--HG--
extra : rebase_source : 191f0d0719cbc23f92899f5ec342ed64dca79c66
According to the spec, when we cancel an animation we should "reset an
animation's pending tasks"[1] which has following step:
...
4. Reject animation’s current ready promise with a DOMException named "AbortError".
5. Let animation’s current ready promise be the result of creating a new resolved Promise object.
Since we create the ready promise and, if need resolve it when we create it
(see Animation::GetReady), this patch simply clear the ready promise
when an animation is canceled.
[1] https://w3c.github.io/web-animations/#reset-an-animations-pending-tasks
MozReview-Commit-ID: JxoqeA5dXCO
--HG--
extra : rebase_source : 1c51724f236b3ed464eb6af3c20ccc9aaf5aa3e6
This enables all test suites on linux64-ccov except for the talos test suite (more work needs to be done), spidermonkey tests (more work needs to be done), and the mochitest-valgrind test suite (not going to run linux64-ccov).
MozReview-Commit-ID: 6vYV89CH8TB
--HG--
extra : rebase_source : 2c2c22a2ffc0b431b24e0ee32dca046a11470d3c
The test times out on master and dev edition but not on normal beta. Since
this is difficult to handle in ini files just disable the entire test until there's
a proepr fix for the underlying issue.
MozReview-Commit-ID: B3d7MElHy86
--HG--
extra : rebase_source : eaff065fb42f046173281c713c55ec6a977da812
We need to delay the response from the setWindowRect command until the
window has had time to properly resize. But because the DOM resize
event is not synchronous, we cannot rely on it alone to tell us when the
widget toolkit has actually completed the resizing.
To overcome this problem we throttle the event using
ChromeWindow.requestAnimationFrame to force the event loop to flush
before resolving the promise.
The setWindowRect command previously relied on a 15 FPS setTimeout delay
because requestAnimationFrame did not work with ChromeWindow, but this
seems to have since been fixed. Local tests show that this approach is
more stable and produces less intermittent results.
MozReview-Commit-ID: D1ICb3F6vX3
--HG--
extra : rebase_source : ef5ef15db80ce78284672551581ce5d9cdde9189
Bug 1370576 disabled staging of application updates, which is not yet
supported in our firefox-ui update tests. As result there is a hang and
the restart button is never clicked on.
This is just a wallpaper fix and full support might still have to
be integrated if wanted.
MozReview-Commit-ID: 8LF1RKxnMEb
--HG--
extra : rebase_source : 5a268cd891a6577eda163c86fe6ef94fe767fbff
BaseMarionetteTestRunner.appinfo is used in two places: when logging
whether E10s is enabled at the beginning of a test run, and for comparing
a few properties in the WebDriver capabilities test.
It currently tries to serialise Services.appinfo, which has
a field QueryInterface, which is a function. Because of the
Function.prototype.inherits field, this serialisation results in an
infinite recursion, presumably because the inherits method itself is
a function.
This patch removes BaseMarionetteTestRunner.appinfo as it is a clunky and
potentially error-prone implementation due to the way it caches appinfo,
and replaces the current consumers with functions retrieving specific
properties from Services.appinfo.
MozReview-Commit-ID: BPDA6TJrHHb
--HG--
extra : rebase_source : 763c18f2c71412140e4ca21854e1e05514112d0e
Multiple commands rely on the current URL of the chrome window, or
the active content browser. The newly added properties help to ease
the retrieval of the URL for both chrome and content scope.
MozReview-Commit-ID: 2KAtRzHxxNc
--HG--
extra : rebase_source : 85e4192f8a01fe4e1735f7812612decba0db1ad5
When accessing a property of the current content browser from
the parent process, the current top-level browsing context has
to be valid.
MozReview-Commit-ID: BZHJTk1j5Nj
--HG--
extra : rebase_source : 7e44fc6e05d7fb1429fb3e36e897cf51b3d9142f
BaseMarionetteTestRunner.appinfo is used in two places: when logging
whether E10s is enabled at the beginning of a test run, and for comparing
a few properties in the WebDriver capabilities test.
It currently tries to serialise Services.appinfo, which has
a field QueryInterface, which is a function. Because of the
Function.prototype.inherits field, this serialisation results in an
infinite recursion, presumably because the inherits method itself is
a function.
This patch removes BaseMarionetteTestRunner.appinfo as it is a clunky and
potentially error-prone implementation due to the way it caches appinfo,
and replaces the current consumers with functions retrieving specific
properties from Services.appinfo.
MozReview-Commit-ID: BPDA6TJrHHb
--HG--
extra : rebase_source : cb97953b7110f3d6dda75fbe3a1fd7dcffcef0c2
* removes old files mobile/android/config/mozconfigs/*/{release,l10n-release}
* updates merge day scripts (did some config dumping to verify, but didn't run migration)
* updates testing/mozharness/configs/single_locale/{staging_,}mozilla-{beta,release}_android-api-15.py to remove bogus mozconfig definition, which now comes from single_locale/tc_android-api-15.py
I could go on and look at configs/multi_locale, which appear to be unused, but I've got to draw a line somewhere.
MozReview-Commit-ID: 2zLYlMj0B9t
--HG--
extra : rebase_source : 2aee89720391890fd0c637589282af0066edb4bc
Previously, mock_runner.driverclass() returned a plain Mock object.
MozReview-Commit-ID: 1RMQhud4BJD
--HG--
extra : rebase_source : 54d7f62444e66bc2f9ae07c0b5ed91cd9a3cbbaf
Bug 1356952 defined tooltool manifest at the taskcluster job definition.
This makes many definitions from mozharness now redundant.
While this would ideally have been done in bug 1356952, some of those
definitions are likely to still be used by some buildbot job or some
obscure taskcluster job seldomly triggered. Preparing for the
possibility that this might burn some jobs, making this removal
backout-able independently allows other work to happen on top of bug
1356952 without the risk of everything having to be backed out because
of some random bustage.
--HG--
extra : rebase_source : 73fdb7747a51ddc57fe41a9493893e293cd3bbc4
SpecialPowers has been removed from Marionette, and this method does not
appear to be used anywhere in mozilla-central.
MozReview-Commit-ID: 3hkPVNJw0iA
--HG--
extra : rebase_source : a5cb71ece7d40dbbcb9ae5a532b74d69cd7b209c
This will create a mochitest selftest harness based on |mach python-test|. There
is also a basic test that checks whether TEST-PASS and TEST-UNEXPECTED-FAIL work.
MozReview-Commit-ID: Jqyhbj7nC6z
--HG--
extra : rebase_source : d73b37305590a415e350ee45785a85635e7d4209
This ensures that developers can run the majority of tests with the
default config, but makes things a little more confusing for marionette
developers.
MozReview-Commit-ID: 9wd761ZgCyx
--HG--
extra : rebase_source : d601fa10d1896afd3c450b2d44a2024b9963096f
When a call through the content frame proxy is interrupted by the
dialogueObserver, the synchronous promise that is meant to wait for a
response from the frame script is resolved immediately with an undefined
return value.
When an undefined value is assigned to the response body, it gets dropped
during JSON serialisation. To ensure the "value" field expected from
the Execute Script and Execute Async Script commands is populated,
we need to assign a null value to resp.body.value.
We can treat undefined as null by calling evaluate.toJSON again on the
return value from the proxied frame script call. This effectively means
we serialise it twice, since it first needs to be serialised to cross
the IPC border, though the second computation only looks at primitives
and no known web element store is required.
It would be nicer if the content frame script itself would be able to
return early with null by installing a user prompt notification event,
but this is not possible because the tabmodal dialogue that appears
blocks script execution. This means we need to rely on the
dialogueObserver in testing/marionette/proxy.js to take care of the
dialogue for us.
MozReview-Commit-ID: D14TA2TYYXI
--HG--
extra : rebase_source : 5fc17a1f0786e2fc9a2d054ef7c1f8b0e3336906
Removes the Marionette.import_script API as it is not used by any
consumers of the client, including the Firefox UI tests.
MozReview-Commit-ID: 3xceYXZZVR0
--HG--
extra : rebase_source : 7422704737da599704125874a6f52e4eeb670dfd
The import script functionality was removed in
https://bugzilla.mozilla.org/show_bug.cgi?id=1368648, but the
Marionette.clear_imported_script API was not removed from the client.
We are currently making calls after every test to the clearImportedScripts
command in the server, but we are apparently ignoring the ‘unknown
command’ error that is being returned.
MozReview-Commit-ID: KVjh2IfhuUY
--HG--
extra : rebase_source : ebc8faf8746e7e3e91b395ec488aeea014747848