Make the JSON tree view more accessible.
1. Automatically set focus to the first node on initial focus. Previously, the only way to interact with the tree view through the keyboard was to click on a node so that subsequent key presses would register.
2. Fix inaccurate aria-level and aria-expanded attributes causing confusing announcements for screen reader users.
3. Previously, pressing left arrow the first time on a leaf child node would not move focus to its parent, but subsequent tries would work. This has been fixed.
4. Implement first-letter navigation for quick movement via keyboard.
Differential Revision: https://phabricator.services.mozilla.com/D28274
--HG--
extra : moz-landing-system : lando
This was always set to false after the StupidAllocator has been removed, so we
could replace it at uses.
Differential Revision: https://phabricator.services.mozilla.com/D63909
--HG--
extra : moz-landing-system : lando
If a page has multiple videos, PiP keyboard shortcut opens the currently playing video.
Opens the first video, if no video is playing.
Differential Revision: https://phabricator.services.mozilla.com/D63780
--HG--
extra : moz-landing-system : lando
It's possible that the `nsHttpChannel::mTransaction` is null when `nsHttpChannel::OnPush` is called. This patch adds the transaction to the parameters of `OnPushCallback` to make sure we have a transaction to use.
Differential Revision: https://phabricator.services.mozilla.com/D64025
--HG--
extra : moz-landing-system : lando
TestNetworkLinkIdHashingWindows has two issues that, frighteningly, cancelled each other out under most conditions.
First is that the `sscanf` format string uses curly braces when the test data does not have braces.
Second is that the order of `nwGUIDS` does not match the sorting behavior of `nsNotifyAddrListener::HashSortedNetworkIds`.
What ended up happening was that the sscanf failed, and left the entire GUID uninitialized. Then we used that uninitialized data over and over in `nwGUIDS` so the order didn't matter. However, under AddressSanitizer, the failure became evident, because (I think, haven't verified) that ASan's instrumentation messes with the contents of the stack between the four GUID parses, so we no longer use the same uninitialized data four times. And for bonus fun, this wasn't noticed in CI because we don't (yet) run ASan on GTests for Windows.
Debugging this was... quite an adventure.
Differential Revision: https://phabricator.services.mozilla.com/D63532
--HG--
extra : moz-landing-system : lando
With Bug 1613130 fixed we may not need a fallback widget so let's remove this workaround.
Differential Revision: https://phabricator.services.mozilla.com/D64052
--HG--
extra : moz-landing-system : lando
In DrawTargetRecording::CreateSimilarDrawTarget, we would originally
create a new DrawTargetRecording. For resources that are shared, such as
SVG patterns, we would do the same work for each blob image tile. This
can get expensive if the pattern is large. Now we check a size
threshold, and if passed, we create a DrawTargetSkia backed by a
SourceSurfaceSharedData. When we want a snapshot, we now try to get the
shared surface instead if available. The recording infrastructure
already knows how to handle the lifetimes and use of external IDs for
shared surfaces, so now we rasterize the pattern once for all the blob
tiles. In an ideal world we would do this in the compositor process
once, but that requires more changes, and this is useful as a stopgap in
the meantime.
Differential Revision: https://phabricator.services.mozilla.com/D63903
--HG--
extra : moz-landing-system : lando
This patch adds some stability and comparison optimizations to the Browsertime arguments. It adds a viewport setting to ensure that all browsers we will test on use the same browser size (only affects desktop). The pageLoadStrategy is also set to `none` so that we can use the `pageCompleteCheckStartWait` and `pageCompleteCheckPollTimeout` options. Those options determine how much Selenium polls (and when it starts polling) to check if there are results available.
The size of the browser is also set to a specific size to prevent regressions/improvements (alerts) from occuring when we update Browsertime and the default screen resolution changes. This patch also disables the Browsertime Firefox extension since we don't need it.
Differential Revision: https://phabricator.services.mozilla.com/D63182
--HG--
extra : moz-landing-system : lando
Add new zoomSiteSpecific and zoomFullPage settings in browserSettings API
Updated description of zoomSiteSpecific in brower_settings.json
Differential Revision: https://phabricator.services.mozilla.com/D59433
--HG--
extra : moz-landing-system : lando
Implement the `MediaDecoder::Suspend/Resume` to shutdown and recreate the MediaSink. This is important the page is refreshed because the existing tree does not shutdown immediatelly. It stays alive but remains suspended thus it is necessary to clean up the low-level system resources. In order to support the suspended state with the existing work flow, if MediaSink is suspended it is disallowed to start it or change the sink id. Recreating the MediaSink is possible but starting it is restricted until resume.
Differential Revision: https://phabricator.services.mozilla.com/D63831
--HG--
extra : moz-landing-system : lando
`mPrincipalHandle` and `mPlaying` listeners were being connected in the ctor of a DecodedStream. However, this is not necessary because their attributes will only be modified after the sink start. In addition to that, it was causing problems if a sink was replaced before being started or stopped (and shutdown). This is a valid scenario, though, that we need to support.
Differential Revision: https://phabricator.services.mozilla.com/D63830
--HG--
extra : moz-landing-system : lando
Both lir nodes don't overwrite their input, so it's safe to use boxAtStart.
Differential Revision: https://phabricator.services.mozilla.com/D63660
--HG--
extra : moz-landing-system : lando
Since the thread actor caches the object actors
it creates, if an object had multiple properties
referencing the same object, we would create
multiple fronts for the same object actor, which
would confuse protocol.js.
The fix consist in checking if a front already exists
before creating a new one.
A test is added for the debugger to ensure this
works as expected and we don't regress.
Differential Revision: https://phabricator.services.mozilla.com/D63907
--HG--
extra : moz-landing-system : lando