This is covered in other test suites, but it may be possible for
GeckoView to get this wrong, so add an explicit test.
Differential Revision: https://phabricator.services.mozilla.com/D59935
--HG--
extra : moz-landing-system : lando
Instead, subclass nsTextControlFrame. This simplifies the code and avoids
correctness issues.
I kept the localization functionality though it is not spec compliant. But I
filed a bug to remove it in a followup.
Differential Revision: https://phabricator.services.mozilla.com/D57193
--HG--
extra : moz-landing-system : lando
The GeckoView is listening OnContentBlockingEvent in the content process.
As we move the event into the parent process, we have to change it to
listen the event in the parent process.
This patch also adds a workaround in the test
ContentBlockingControllerTest#getLog(). This workaround adds a 500ms
delays before we check the ContentBlockingLog. This is needed because there
is a delay between the notification of OnContentBlockingEven in the parent
process and the actual recording of the log in the content process. This
workaround will be no longer needed once we move the log entirely to the
parent process (Bug 1599046).
Differential Revision: https://phabricator.services.mozilla.com/D56749
--HG--
extra : moz-landing-system : lando
We don't need to package tests for builds that we don't actually run
tests from, but it is tricky to align this correctly by setting
MOZ_AUTOMATION_PACKAGE_TESTS=0 in relevant mozconfigs. Instead we can
set the environment variable in the task definition, and use a full
taskgraph verification check to ensure that the flag is only set on
builds that have tests.
The one tricky task is win64-aarch64-shippable/opt, which copies tests
from another build rather than building them itself. For this reason, it
explicitly sets MOZ_AUTOMATION_PACKAGE_TESTS: '0' in the environment
even though that is now the default. This is why the exception is only
raised if MOZ_AUTOMATION_PACKAGE_TESTS is not set at all, rather than
checking that it is set to 1.
Differential Revision: https://phabricator.services.mozilla.com/D59426
--HG--
extra : moz-landing-system : lando
The window will be supplied in the recording-device-events notification and mediaCaptureWindowState will be called on each window in turn.
Differential Revision: https://phabricator.services.mozilla.com/D56569
--HG--
extra : moz-landing-system : lando
This is useful if you get a certificate-related error and want
to inspect the broken certificate.
Differential Revision: https://phabricator.services.mozilla.com/D58170
--HG--
extra : moz-landing-system : lando
This is the server certificate, if any, as a
java.security.cert.X509Certificate.
Differential Revision: https://phabricator.services.mozilla.com/D58156
--HG--
extra : moz-landing-system : lando
Now that everything in `GeckoProcessManager` runs on the XPCOM launcher thread,
`GeckoThread` should just call `GeckoProcessManager.preload()` directly.
Differential Revision: https://phabricator.services.mozilla.com/D57840
--HG--
extra : moz-landing-system : lando
The primary purpose of this patch is to convert the internal sequence of
service binding and invoking of `start` to asynchronously run on the XPCOM
launcher thread via `GeckoResult`. Because more of the code now runs on the same
thread, many of these methods no longer need to be `synchronized`.
Disconnecting via `unbind` is also modified to use the launcher thread and
`GeckoResult`.
Note that no changes have been made yet to enable multiple processes of the
same type; those changes will be made in bug 1595834.
Differential Revision: https://phabricator.services.mozilla.com/D57839
--HG--
extra : moz-landing-system : lando
This patch adds a `Dispatcher` implementation that allows us to create
`GeckoResult`s that will dispatch to the XPCOM launcher thread.
Differential Revision: https://phabricator.services.mozilla.com/D57838
--HG--
extra : moz-landing-system : lando
Since `XPCOMEventTarget` uses JNI, this patch makes it possible for consumers to
retrieve and invoke methods on one without needing to worry about whether JNI
is actually up yet.
To achieve this, we create the `IXPCOMEventTarget` interface, and observe that
both of its methods can be handled by a proxy if JNI is not ready:
* Calls to `dispatch` may be enqueued until JNI is up;
* Observe that, when JNI is not up yet, the result of `isOnCurrentThread`
can never be `true`.
Once JNI is up and the event targets have been resolved, the proxies are
replaced with the real, concrete `XPCOMEventTarget`s and are no longer used for
the remainder of the Gecko instance's lifetime.
Differential Revision: https://phabricator.services.mozilla.com/D57837
--HG--
extra : moz-landing-system : lando
`TestCrashHandler.Client` expects to run in the UI thread, so we move calls
to its methods into `crashParent` and annotate the test with `@UiThreadTest`.
Differential Revision: https://phabricator.services.mozilla.com/D58577
--HG--
extra : moz-landing-system : lando
This commit does two things:
- It exposes the error that caused the test to fail in our logs, so it would
appear like so:
```
TEST-UNEXPECTED-FAIL | org.mozilla.geckoview.test.ExtensionActionTest.setIconSvg[#pageAction] | java.lang.AssertionError: We shouldn't get here
```
- It catches exceptions that are raised before any test code is run and outputs
a different message (since those failures do not depend on the test at all),
like so:
```
ERROR runjunit.py | The previous test failed because of an error in the test harness | org.mozilla.geckoview.test.rule.TestHarnessException: java.lang.RuntimeException: We shouldn't get here
```
This will hopefully help with spurious intermittents and understand when a
failure changes.
Differential Revision: https://phabricator.services.mozilla.com/D58022
--HG--
extra : moz-landing-system : lando
Autofill service application uses email, username and password hint for login
form. Some sites use email value for autocomplete attribute even if
`<input type="text">`. So we should set autofill hint for this situation.
Differential Revision: https://phabricator.services.mozilla.com/D58215
--HG--
extra : moz-landing-system : lando
It is the right way to do that now. Though again we should probably just link to
the moz-phab docs.
Differential Revision: https://phabricator.services.mozilla.com/D58049
--HG--
extra : moz-landing-system : lando