`acceptSslCerts` has been replaced by `acceptInsecureCerts`.
MozReview-Commit-ID: 79KbRoQb1dW
--HG--
extra : rebase_source : 1c0e4fcb468d5c196351cb21715804c98b5fef02
Reads the `acceptInsecureCerts` capability and sets the session state.
MozReview-Commit-ID: KVErmdxwXQB
--HG--
extra : rebase_source : 50ce229909cfc9a407fdadc593b57a9545342723
The `specificationLevel` capability has been removed from the WebDriver
specification, and will be removed in a future change to Marionette.
This change makes this clear by moving it down to the list of proprietary
Marionette capabilities.
MozReview-Commit-ID: BMTuXBDZ8WV
--HG--
extra : rebase_source : 1a56d7f64309f388695956b67c027090e4f0c132
This patch makes testing/marionette/harness/marionette/runner/httpd.py
capable of spinning up an HTTPS server with self-signed certificate.
It also introduces testing/marionette/harness/marionette/runner/serve.py
that is capable of managing the HTTP- and HTTPS fixture servers as
subprocesses, allowing them to operate independently.
serve.py uses inter-process communication based on channels (from
`multiprocessing.Pipe`) to query methods on the httpd served in each
process, which is used to get absolute URLs from the main process.
This is useful as servers can delegate port allocation to the system
socket service by atomically binding to port 0, guaranteeing that the
chosen port is uncontested. It is also used to perform synchronous and
graceful shutdown of the httpd.
MozReview-Commit-ID: 9OlW6F1w0AN
--HG--
extra : rebase_source : 5ae8b0f100a28b8d34f87b0868cde6d74c150602
We need to avoid passing the timeout ID returned from `setTimeout` in the
content frame script that we use to register the script timeout handler
to the sandbox's `clearTimeout` function as this might interfere with any
`window.setTimeout` calls being made in the injected script.
MozReview-Commit-ID: 26PY8JDkf9A
--HG--
extra : rebase_source : 414581472dfa99379aecdfea5c5a29c2ce808890
Modify the test "web-platform-tests/webvtt/webvtt-api-for-browsers/vttcue-interface/line.html" in order to follow the spec.
(1) The default value of line should be "auto" [1]
- change all "-1" into "auto"
(2) The cue.line should return the line's value, instead of computedLine's [2]
- change "-2" into "auto" (-2 is the value of the computedLine)
[1] https://w3c.github.io/webvtt/#webvtt-cue-line
[2] https://w3c.github.io/webvtt/#dom-vttcue-line
MozReview-Commit-ID: BbClRlWwQ40
--HG--
extra : rebase_source : 6ba7b3cc90b9ebdc3989a6740a20975dce03b70f
When the `acceptInsecureCerts` capability is set to true on creating
a new Marionette session, a `nsICertOverrideService` override service
is installed that causes all invalid TLS certificates to be ignored.
This is in line with the expectations of the WebDriver specification.
It is worth noting that this is a potential security risk and that this
feature is only available in Gecko when the Marionette server is enabled.
MozReview-Commit-ID: BXrQw17TgDy
--HG--
extra : rebase_source : 722b7bde2b6e76a4cf0565b0504a6ce8ec53f04a
When arriving at a document which baseURI starts with `about:certerror`
will cause Marionette to now return `error.InsecureCertificateError`.
This is mandated by the WebDriver specification.
This does, however, mark a non-backwards compatible change in Marionette.
It is assumed we will be able to mitigate this change in error type as
few consumers, if any, rely on the more generic type considering we did
not support invalid TLS certificates prior to this push.
MozReview-Commit-ID: JcIMvCXimB
--HG--
extra : rebase_source : 9ed8aa636192f45b30399af6bed9858bed3bad46
`acceptSslCerts` has been replaced by `acceptInsecureCerts`.
MozReview-Commit-ID: 79KbRoQb1dW
--HG--
extra : rebase_source : 4ccda0241b1809e0bc11ec6be4c820007731da63
Reads the `acceptInsecureCerts` capability and sets the session state.
MozReview-Commit-ID: KVErmdxwXQB
--HG--
extra : rebase_source : fb1ee50bc2ee53343af58dcb417e5a5c0dee7fbc
The `specificationLevel` capability has been removed from the WebDriver
specification, and will be removed in a future change to Marionette.
This change makes this clear by moving it down to the list of proprietary
Marionette capabilities.
MozReview-Commit-ID: BMTuXBDZ8WV
--HG--
extra : rebase_source : 839405b2cf30d23c7f107801376aff8e76ef4b59
This patch makes testing/marionette/harness/marionette/runner/httpd.py
capable of spinning up an HTTPS server with self-signed certificate.
It also introduces testing/marionette/harness/marionette/runner/serve.py
that is capable of managing the HTTP- and HTTPS fixture servers as
subprocesses, allowing them to operate independently.
serve.py uses inter-process communication based on channels (from
`multiprocessing.Pipe`) to query methods on the httpd served in each
process, which is used to get absolute URLs from the main process.
This is useful as servers can delegate port allocation to the system
socket service by atomically binding to port 0, guaranteeing that the
chosen port is uncontested. It is also used to perform synchronous and
graceful shutdown of the httpd.
MozReview-Commit-ID: 9OlW6F1w0AN
--HG--
extra : rebase_source : 3d791a6c44a23be72704f37c07cb437f309cdcef
This is being used instead of a self-defined Browser.timeout.
MozReview-Commit-ID: 5zAqI38AdHs
--HG--
extra : rebase_source : 1d47dd27db65cde30f5b8b6e7fd38c18fc67243e
On fennec we have the special workaround that is doesn't dispatch the "error" event when the error is
"MEDIA_ERR_SRC_NOT_SUPPORTED" because we will use an external app to open it.
But we don't want this behavior affect the tests we already have, so close the pref.
MozReview-Commit-ID: 9aoy1vnekvY
--HG--
extra : rebase_source : 9ac045b7595eadd36039bc6f42b32e4d3eac421b
Run the tooltool manifests through a python script to read the
json as an OrderedDict and when write it back out with normal
tooltool formatting options. This regularizes the whitespace,
fixing trailing spaces written by older versions of the python
json serializer, dos-vs-unix line endings, and regularizing
opening '[{' and closing '}]' to be on separate lines.
The android manifests have a 'versions' key which has indenting,
unlike the rest of the files. I've left that as-is.
MozReview-Commit-ID: EVW1YlgRJJL
--HG--
extra : rebase_source : 40c1992090807dc40495ebacb37ee358c1d6a6f1
This change is mostly straightforward, except for the following.
- It removes all the printing from the do_check_* macros because gtest macros
do appropriate printing.
- test_StatementCache.cpp needs some special gtest magic for the type
parameterization.
- It merges the four tests in test_unlock_notify.cpp because they rely on being
executed in order, and so aren't independent.
- storage_test_harness_tail.h is no longer necessary because gtest provides the
test looping functionality.
- It uses #include and the preprocessor to remove the duplication between
test_deadlock_detector.cpp and xpcom/tests/DeadlockDetector.cpp.
- It makes the test in test_service_init_background_thread.cpp a death test to
force it to be the first storage gtest, because it fails otherwise.
- It adds code to undo the SQLite mutex hooking as necessary, so that tests
don't interfere with each other.
- It de-virtualizes Spinner's destructor (as identified in bug 1318282).
--HG--
rename : storage/test/storage_test_harness.h => storage/test/gtest/storage_test_harness.h
rename : storage/test/test_AsXXX_helpers.cpp => storage/test/gtest/test_AsXXX_helpers.cpp
rename : storage/test/test_StatementCache.cpp => storage/test/gtest/test_StatementCache.cpp
rename : storage/test/test_asyncStatementExecution_transaction.cpp => storage/test/gtest/test_asyncStatementExecution_transaction.cpp
rename : storage/test/test_async_callbacks_with_spun_event_loops.cpp => storage/test/gtest/test_async_callbacks_with_spun_event_loops.cpp
rename : storage/test/test_binding_params.cpp => storage/test/gtest/test_binding_params.cpp
rename : storage/test/test_deadlock_detector.cpp => storage/test/gtest/test_deadlock_detector.cpp
rename : storage/test/test_file_perms.cpp => storage/test/gtest/test_file_perms.cpp
rename : storage/test/test_mutex.cpp => storage/test/gtest/test_mutex.cpp
rename : storage/test/test_service_init_background_thread.cpp => storage/test/gtest/test_service_init_background_thread.cpp
rename : storage/test/test_statement_scoper.cpp => storage/test/gtest/test_statement_scoper.cpp
rename : storage/test/test_transaction_helper.cpp => storage/test/gtest/test_transaction_helper.cpp
rename : storage/test/test_true_async.cpp => storage/test/gtest/test_true_async.cpp
rename : storage/test/test_unlock_notify.cpp => storage/test/gtest/test_unlock_notify.cpp
extra : rebase_source : dbb695c112564efa1945116be1a8435988982e74
This deprecates PYTHON_UNIT_TESTS and replaces it with PYTHON_UNITTEST_MANIFESTS.
In the build system, this means python unittests will be treated the same as all
other test suites that use manifestparser. New manifests called 'python.ini' have
been created for all test directories containing python unittests.
MozReview-Commit-ID: IBHG7Thif2D
--HG--
extra : rebase_source : 11a92a2bc544d067946bbd774975140147458caa
The mozbase unittests don't use mozunit, so their output is confusing in the log.
This makes mozbase output consistent with the rest of the python unittests.
MozReview-Commit-ID: AIs5mza8Rn6
--HG--
extra : rebase_source : 10f65e612f5b3cebb921c47699f5a8be7cd2ba5a
The mozsystemmonitor test is under mozsystemmonitor/mozsystemmonitor/test instead of
mozsystemmonitor/tests like all the other mozbase modules.
MozReview-Commit-ID: AIs5mza8Rn6
--HG--
rename : testing/mozbase/mozsystemmonitor/mozsystemmonitor/test/test_resource_monitor.py => testing/mozbase/mozsystemmonitor/tests/test_resource_monitor.py
extra : rebase_source : dde714fb9212f19d1f8ba566f574bd7e9d7c4030
Also we don't need to check the event time, it's out of scope of this test case.
MozReview-Commit-ID: JkbiiVPunGH
--HG--
extra : rebase_source : 4438091abfd7e55908ab15f543c6a4590acf45a6
This removes gaia_desktop, gaia_emulator, marionette_emulator,
webapi_desktop, and webapi_emulator test suite definitions.
MozReview-Commit-ID: Lf8slbzKNLz
--HG--
extra : rebase_source : 4a60c0cd0d05cabd0af74c15a85929d943c867f6
If there is a property called 'installer_path', the job is from in-tree
config.
MozReview-Commit-ID: E5SIHyxp0dM
--HG--
extra : rebase_source : e0251636e8e55613d58e743d70469e6b1a2175a5
taskcluster-scheduler is deprecated. mozharness uses it to get the task
graph in order to discover the parent of a task.
We now use queue to get the task definition, which contains the
'requires' field.
MozReview-Commit-ID: 8IivfxLvxVA
--HG--
extra : rebase_source : 76ad3993d50cb3dccca6b56652eec9568f5e5abb
When we scroll the element into the bottom of the viewport, it is the
first button that does not cause a scroll.
MozReview-Commit-ID: 1zv3uyUcnRn
--HG--
extra : rebase_source : 1cc3835c5bbcba941bceb3be98fdaa9b6f91d6b9
When returning the tree of interactable elemenets under the cursor, we
want to test the first one against the passed element, not that there
are _any_ interactable elements under the cursor.
MozReview-Commit-ID: AUvKAWKHgZk
--HG--
extra : rebase_source : 69563be46dbb18c4c814d6615b1bd2f97179b816
Add a test that checks that `scrollIntoView({block: "end", inline:
"nearest"})` works by placing the element at the bottom of the viewport,
where the overlay does not cover it.
MozReview-Commit-ID: Gzv9n17240G
--HG--
extra : rebase_source : 373c0da6c74bbf3953dc8b08e8b65929003b7d12
The old calcaulation to determine an element's in-view centre point was
wrong as pointed out in https://github.com/w3c/webdriver/issues/425,
and this is an implementation of the proposed algorithm which passes
real-world tests.
This also addresses https://github.com/w3c/webdriver/pull/441 which
checks if the `DOMRect` sequence returned from `getClientRects` is empty,
as it may be if the element's `display` style property is `none`.
MozReview-Commit-ID: 4uitUrviW2a
--HG--
extra : rebase_source : d9a3eefc9496500dffe74a28a117e29067a646f1
Checking for general interactability will also consider keyboard
interactability, which has not yet been implemented. On interacting with
an element by clicking, we should only test for pointer interactability.
MozReview-Commit-ID: BUCs7zHppRm
--HG--
extra : rebase_source : 2053a49ee4bcb291299568902e9ac25cc747bc5e
When scrolling an element into view using `Element.scrollIntoView`,
use the `{block: "end", inline: "nearest"}` scroll position arguments,
which are equivalent to `Element.scrollIntoView(false)`. This is what
other WebDriver implementations have used for a while, and we meant to
change to this sooner.
This ensures that the element appears at the bottom of the viewport
rather than the top, where overlaying menus with fixed style position
may more frequently appear.
In the future we might consider replacing this with `{block: "center"}`
which is specified in the CSSOM specification, but not yet implemented
in any browsers.
This implements https://github.com/w3c/webdriver/pull/440, which should
fix https://github.com/mozilla/geckodriver/issues/327.
MozReview-Commit-ID: BRMupP4fM89
--HG--
extra : rebase_source : 952edd6932b0f7e8b7d2694d428435508a4ffc8c
Only replace addDiv with createDiv in spacing-keyframes-transform.html.
Others are the same.
MozReview-Commit-ID: JNSpyc6WNtP
--HG--
extra : rebase_source : 05af4176e85234e1d89023f1e74012d0e1481230
This removes the `default_timeouts` internal state associated
with the Marionette client connection and introduces a new
API to reset all timeouts to their documented defaults in
`marionette_driver.timeouts.Timeout`.
MozReview-Commit-ID: 3xFWsYLngMp
--HG--
extra : rebase_source : a712985559c0c1d9cab3d08197a3351610fcb996
This was an ugly hack in the first place, and this seems like a good
opportunity to rectify it.
MozReview-Commit-ID: IB6Y8SlOfRn
--HG--
extra : rebase_source : b9968f01fa5da7319871ecaa145134479e595ab0
This ensure backwards compatible for consumers.
MozReview-Commit-ID: J2VOiB08xxV
--HG--
extra : rebase_source : 672b17642aa1463a9f65612c6494885a05d354fa
Introduce a new interface for managing timeouts in the Marionette
Python client.
MozReview-Commit-ID: JHojs7rWBz5
--HG--
extra : rebase_source : 388b8b3f30f07b95bf40edc57d13ffe5a7d5c502
The WebDriver specification mandates that the implicit wait timeout should
default to 0 (off), which in Marionette has the same effect as null.
MozReview-Commit-ID: Ca3RxO7gHv8
--HG--
extra : rebase_source : 5a804614b0bdf99c7d1241bbc06f3566f127b32f
This renames the `Marionette:timeouts` command
to `Marionette:setTimeouts`. It should be fine to make this
backwards incompatible change as the `Marionette.set_script_timeout`,
`Marionette.set_search_timeout`, and `Marionette.set_page_load_timeout`
commands all have existing try...except behaviour for another backwards
incompatible change in Firefox 52.
MozReview-Commit-ID: 58RrXhE2tN3
--HG--
extra : rebase_source : 67a52d6c48d5c94fdd4eb4e1120223778a83e0c2
This image currently has a version of the "run-wizard" binary baked in. This is out of date from the
canonical copy under taskcluster/scripts. This patch just copies what the "desktop-test" image does
by downloading that binary from version control.
MozReview-Commit-ID: Eg4x8slf3X9
--HG--
extra : rebase_source : 89e3dc5716c4bfb46ab807cc15df3e1e329a93d6
I'm not a fan of introducing a new configuration flags (and not
knowing where or how to document it!), but there's a clear need for
configuration in the absence of a documented way to add a coherent
"artifact build dimension" akin to "opt/debug". I like adding a
subtle tri-state flag even less, but I tried this with two flags
(ignore and build-variant) and it was worse, so I'm rolling with a
tri-state flag.
MozReview-Commit-ID: KTNvacTBUXB
--HG--
extra : rebase_source : 950373677c78c4f7ab574386d1894024f1ca3b12
As debug builds are inherently slow, we need to increase the wait
time before triggering the `setTimeout` callback so that the next
`marionette.execute_script` statement has time to run.
MozReview-Commit-ID: IAgicNAmVA6
--HG--
extra : rebase_source : dcb0ae95265e28e08c257260eff426d87a6340af
Marionette does not use specialpowers any more and it is pointless to
include it in the Marionette jar.
MozReview-Commit-ID: 8tzSO4VsMA7
--HG--
extra : rebase_source : a2a78e5a37a444b1d04dcae25551c8cbcc3aca61
We add opt and debug mozconfigs that enable stylo.
We define 2 new mozharness build configurations for stylo builds. These
occur only on Linux64 for the moment.
The mozharness configs are mostly copypasta. This is how you do things
in mozharness land.
MozReview-Commit-ID: 99XNOymw9Dx
--HG--
extra : rebase_source : d89ddd907ed96697f62637859f6f719601e03b01
All other browsers support a constructor here. Per current spec, the
constructor does not support .locale, although initCompositionEvent
does. If we ever decide to standardize .locale, the constructor can be
updated at that point. (Edge also supports .locale in
initCompositionEvent but not the constructor. Chrome doesn't support
.locale at all.)