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
We then convert that to `#aarrggbb` in GeckoView for convenient use
with `android.graphics.Color`.
Differential Revision: https://phabricator.services.mozilla.com/D57689
--HG--
extra : moz-landing-system : lando
Talkback users expect that when you navigate past the end of the text in a node, Talkback will move into the next node and navigate there.
However, even though text navigation is async (client performs an action on the focused accessible and then waits for a text traversal event), firing a traversal event with a different accessible from the focused accessible is not supported by Talkback.
Firing a11y focus on the new node (as we did previously) doesn't fix this, but instead causes the entire node to be reported, among other weird behaviour.
1. Don't fire a11y focus for text traversal.
Aside from Talkback reporting the entire node, this was also confusing Talkback, causing it to try to navigate several times into the new node.
2. When navigating text, cache whether we're at either edge.
We do this because we need to be able to synchronously query whether we're at the edge, but we do navigation async.
Special handling is needed for words at the end because words don't include trailing space.
3. When performing a text navigation action, check if we're already at the edge using the cache described above.
If we are, synchronously return false, as Talkback expects.
Talkback will then move to the next/previous node itself and navigate the text there.
Differential Revision: https://phabricator.services.mozilla.com/D57926
--HG--
extra : moz-landing-system : lando
Right now we only detect `onCrash` on mochitests/reftests and `onKill` on junit
tests.
This change makes it so we wait for both on every type of test.
Differential Revision: https://phabricator.services.mozilla.com/D57895
--HG--
extra : moz-landing-system : lando
remove unused Fennec components in mobile/android/components (only the geckoview or extensions subdirs are used by GeckoView).
Differential Revision: https://phabricator.services.mozilla.com/D57394
--HG--
extra : moz-landing-system : lando
Add a document.addCertException function to about:certerror pages, and use it on the desktop certerror page.
Also, as the CallerIsTrusted* functions expect URLs like about:certerror, but GeckoView error pages are data URLs, and so need to be handled differently for these special error-page methods to be exposed on their documents.
Example usage of document.addCertException:
document.addCertException(
true|false /* true == temporary, false == permanent */
).then(
() => {
location.reload();
},
err => {
console.error(err);
}
);
Differential Revision: https://phabricator.services.mozilla.com/D56974
--HG--
extra : moz-landing-system : lando
This also fixes a lifetime issue where we may have been leaking the
native instance of `WebResponse.Support`.
Differential Revision: https://phabricator.services.mozilla.com/D56994
--HG--
extra : moz-landing-system : lando
Along with this comes a new test server for use with GeckoView JUnit
tests based on AndroidAsync. This allows us to have more control
over responses and gets us off of the end-of-lifed Jetty we were using
before.
Differential Revision: https://phabricator.services.mozilla.com/D56993
--HG--
extra : moz-landing-system : lando
We have implemented new audio focus management in bug1565689 which would allow us to have one tab playing audio at the same time no matter we're using e10s or Fission.
Therefore, we can remove the old pref dom.audiochannel.audioCompeting and dom.audiochannel.audioCompeting.allAgents, which are only work on non-e10s mode.
In addition, the audio competing is only used by default on Fennec, but Fennec is now no longer following the latest m-c, it's using ESR68. So even if our new audio focus management is not on by default on Android, it won't affect current behavior on Fennec. We can 100% sure that we won't need those code for old audio competing anymore.
Differential Revision: https://phabricator.services.mozilla.com/D44749
--HG--
extra : moz-landing-system : lando
Add a document.addCertException function to about:certerror pages, and use it on the desktop certerror page.
Also, as the CallerIsTrusted* functions expect URLs like about:certerror, but GeckoView error pages are data URLs, and so need to be handled differently for these special error-page methods to be exposed on their documents.
Example usage of document.addCertException:
document.addCertException(
true|false /* true == temporary, false == permanent */
).then(
() => {
location.reload();
},
err => {
console.error(err);
}
);
Differential Revision: https://phabricator.services.mozilla.com/D56974
--HG--
extra : moz-landing-system : lando
`port.connectNative` is synchronous, so there is the slim possibility that a
message could be sent before the app has been notified that the port has been
created. Similarly, if the app has not attached a listener yet, the port
message gets lost.
In either case, we now store this message in a list that we check when a
delegate is attached to the port object.
Differential Revision: https://phabricator.services.mozilla.com/D57511
--HG--
extra : moz-landing-system : lando
The controller will be used in a later patch to listen to delegates updates.
Differential Revision: https://phabricator.services.mozilla.com/D57366
--HG--
extra : moz-landing-system : lando
This also fixes a lifetime issue where we may have been leaking the
native instance of `WebResponse.Support`.
Differential Revision: https://phabricator.services.mozilla.com/D56994
--HG--
extra : moz-landing-system : lando
Along with this comes a new test server for use with GeckoView JUnit
tests based on AndroidAsync. This allows us to have more control
over responses and gets us off of the end-of-lifed Jetty we were using
before.
Differential Revision: https://phabricator.services.mozilla.com/D56993
--HG--
extra : moz-landing-system : lando
* We add bidirectional messaging to `TestCrashHandler`:
1. The test sends a message to the `TestCrashHandler`, notifying it that an
upcoming crash is intentional and its intent should be checked.
2. Upon receipt of the crash report, the service reviews the contents of the
crash intent, and then sends a message back to the test with the test results.
3. The service deletes any crash dump artifacts belonging to crash intents
that have been evaluated so that the harness doesn't pick up any
intentional crashes.
* We remove `crashContent` from `CrashTest.kt` and create `ContentCrashTest.kt`
for that case. The `crashParent` test remains unchanged other than switching
its crash handler over to `TestCrashHandler`.
* We remove the `CrashTestHandler` service, as both `crashContent` and
`crashParent` tests now use `TestCrashHandler`.
Differential Revision: https://phabricator.services.mozilla.com/D56854
--HG--
rename : mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/crash/CrashTest.kt => mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/ContentCrashTest.kt
rename : mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/crash/CrashTest.kt => mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/crash/ParentCrashTest.kt
extra : moz-landing-system : lando
This change modifies all tests that use key3/cert8 to use the new files. It
removes test_sdr_upgraded_with_password, as without the upgrade part that is now
the same test as test_sdr_preexisting_with_password.
Differential Revision: https://phabricator.services.mozilla.com/D55708
--HG--
rename : security/manager/ssl/tests/unit/test_sdr_preexisting/key4.db => security/manager/ssl/tests/unit/test_broken_fips/key4.db
extra : moz-landing-system : lando
This change modifies all tests that use key3/cert8 to use the new files. It
removes test_sdr_upgraded_with_password, as without the upgrade part that is now
the same test as test_sdr_preexisting_with_password.
Differential Revision: https://phabricator.services.mozilla.com/D55708
--HG--
rename : security/manager/ssl/tests/unit/test_sdr_preexisting/key4.db => security/manager/ssl/tests/unit/test_broken_fips/key4.db
extra : moz-landing-system : lando
For paragraphs, divs, spans, etc., a11y focus on Android goes to text leaf Accessibles, rather than to the HyperTextAccessible container.
This does make sense, as these containers frequently embed other content, so the text needs to be reachable as a separate item.
However, previously, performing text navigation on these text leaf Accessibles returned the HyperTextAccessible parent.
This isn't supported by Talkback, and even if it were, it causes other problems; e.g. a11y focus being lost if the user was focused on a child other than the first child of such a container.
Therefore, if text navigation was performed on a text leaf Accessible, we now return a result within the text leaf Accessible if possible, rather than the HyperTextAccessible.
1. Make AccessibleWrap::GetTextContents support text leaf Accessibles (for both local and remote proxied Accessibles).
This is used when providing text for text traversal events.
2. When navigating text on Android, we use Pivot::Next/PrevText.
However, this will always return a HyperTextAccessible, even when starting on a text leaf.
Therefore, if the result from Pivot::Next/prevText resides entirely within the same text leaf, translate the offsets from the HyperTextAccessible so they're relative to the text leaf and return the text leaf.
3. Pivot::Next/PrevText already supported starting from a text leaf Accessible.
However, they ignored the offsets, which meant that navigating from a text leaf would always navigate to the start/end of the text leaf.
Now, if a text leaf is passed to Pivot::Next/PrevText, the offsets (if specified) are translated to the HyperTextAccessible parent first.
4. Adjust the existing character/word/line tests so they ensure that navigation returns the node that has a11y focus; i.e. the text leaf.
Differential Revision: https://phabricator.services.mozilla.com/D57269
--HG--
extra : moz-landing-system : lando