The agent/browser protocol is a request-response-acknowledge
format. We were only sending Acknowledge for the download case.
Differential Revision: https://phabricator.services.mozilla.com/D189579
Ensure the focusable and actionable control is also labeled, so an assistive technology user would know the purpose of this control. It should not only be announced as `Close` but also provide a context by referencing the search mode title text as well, so the "History" search would be announced as `Close History mode` or just `Close History` or similar.
Also, since there were a series of test cases failing the a11y-checks because of this unlabeled control, we remove the `fail-if` notations from their test manifests to allow for the accessibility tests to run and expect to pass, as they should be.
Differential Revision: https://phabricator.services.mozilla.com/D196095
QuotaInitRunnable is invoked by Context to set up cache directory. This is not always successful as it could be
interrupted by shutdown or other filesystem issues. By the time in ran into error, it's possible that some objects
needed by Context are not yet initialized in QuotaInitRunnable::Run. Since QuotaInitRunnable internal state machine
will always transition to 'COMPLETING' and Context::OnQuotaInit would always be called; it's possible that some objects
like mDirectoryLock, mCipherKeyManager and mDirectoryMetadata didn't get initialized yet. As an effect, we should
only assert these objects being non-null in Context::OnQuotaInit if the QuotaInitRunnable was successful.
Differential Revision: https://phabricator.services.mozilla.com/D196113
The text input of the multi-select combobox of Slack has the following
structure:
```
<div contenteditable style="display:flex">
<span class="c-multi_select_input__space"> </span>
<span class="c-multi_select_input__filter_query">text which you typed</span>
<span class="c-multi_select_input__space" contenteditable="false"> <span>
</div>
```
When you do "Select All", they adjust selection to start from start of the
text container `<span>` (i.e., `.c-multi_select_input__filter_query`).
Then, typing new character deletes selection first. At this time, in the
legacy mode, `AutoDeleteRangesHandler::ExtendOrShrinkRangeToDelete` does not
extend the deleting range because `<span>` is an inline element. However,
in the new mode, it extends the range because the `<span>` is a block since
it's a flex-item, and selection starts from current block boundary. Then,
deleting range starts before the text container. Finally, Gecko removes the
text container and the following non-editable `<span>`. Therefore, typing text
will be inserted as a child of the flex container which is the editing host.
Finally, Slack restores the previous structure and collapse selection to end
of the text.
Currently, Chrome does same thing for normal blocks without flex/gird container.
However, doing i in `AutoDeleteRangesHandler::ExtendOrShrinkRangeToDelete`
causes a lot of regressions. Therefore, this patch tries to avoid only the bug
in Slack. (I think that we need to redesign the deletion handler to fix it.)
Differential Revision: https://phabricator.services.mozilla.com/D195955
prewarming the AVDs was done for CI, where AVDs are used only once in
each task using them, and the cost of first use is high. Prewarming
reduces that overhead.
However, the ARM AVD is not used on CI (anymore?), so we don't need
them prewarmed. This unblocks the situation wrt the failure to run
the emulator on CI, while not addressing the underlying issues, so that
CoT keys can be rotated without waiting for the full situation to be
resolved.
Differential Revision: https://phabricator.services.mozilla.com/D195820
Setting `MOZBUILD_STATE_PATH` and/or moving the `state_dir` can cause
problems with installed hg extensions due to stale references in the
mercurial.ini file. Doing this check should allow the user the fix
the problem without having to deciper the confusing errors that
appear as a result.
An environment variable (MACH_IGNORE_HGRC_STATE_DIR_MISMATCH) was
added to ignore this check if for some reason a user intentionally wants
to use extensions installed elsewhere.
Differential Revision: https://phabricator.services.mozilla.com/D183210
Bug 1444275 introduced an assertion on the parent process to check that
the value of toolkit.telemetry.enabled is the expected one.
However, this expected value could be different from the one set and
locked e.g. in some forks. Therefore, the assertion prevented debug
builds from working in these cases.
Differential Revision: https://phabricator.services.mozilla.com/D195080
Ensuring the `Enter` and `Space` keys are working to activate the Clear button in Firefox View and adding a few tests to prevent regressions.
Differential Revision: https://phabricator.services.mozilla.com/D196070
This patch changes the cooldown mechansim. The original behavior is stop
executing cookie banner clicking after loading the site in the browsing
session. We modify it to that the cooldown mechanism takes effect after
loading the site several times in the browsing session..
Differential Revision: https://phabricator.services.mozilla.com/D193906
And for clarity, rename "manifest" to "manifest-serviceworker".
And convert .ini to .toml because there is an ongoing effort to do so.
This patch fixes the referenced bug because the test now runs behind the
correct MOZ_WEBEXT_WEBIDL_ENABLED config flag.
Differential Revision: https://phabricator.services.mozilla.com/D196188
The cc crate was upgraded in bug 1866934, and one of the changes it
contains is to notify cargo to trigger rebuilds when environment
variables change[1].
As we invoke cargo from different directories, and as we pass the
computed compiler flags through CFLAGS_* variables in rust.mk, and
as those computed compiler flags contain -I flags for includes in
the current directory, each cargo invocation ends up with different
values of the CFLAGS_* variable, which, while it doesn't have a
consequence on the build itself, does now trigger a rebuild of crates
using cc, causing longer build times when building gtest.
Those -I flags, however, are not necessary for Rust, so we eliminate
them, working around the problem. The solution is fragile, but is the
simplest we can do short of doing much more intrusive changes.
1. 962af5387b
Differential Revision: https://phabricator.services.mozilla.com/D196138
It is confusing to have the environment in the base section, as well as in the variants.
This is especially complicated because the variants can expand on what we have in the base section.
Differential Revision: https://phabricator.services.mozilla.com/D196185
We are seeing severe rendering glitches using the SurfaceControl
rendering path on Samsung S22 devices. This path was added to allow us
to gracefully recover from GPU process crashes on modern Android
versions (See bug 1762424). However, since bug 1824083 we have an
alternative solution to that problem.
Depends on D196168
Differential Revision: https://phabricator.services.mozilla.com/D196169