This eliminates the need for using andThen and orElse. This is now consistent
with hanling of STATE_ENSURE_ORIGIN_INITIALIZED.
Differential Revision: https://phabricator.services.mozilla.com/D115127
This removes the check from static prefs, mainly since it's hard to check MOZ_JXL in JS side. It can be a bit confusing but generally shouldn't be harmful.
Differential Revision: https://phabricator.services.mozilla.com/D115704
The 500ms value was completely arbitrary (we're trying to test that the rAF
rate is reduced, not that it's exactly 500ms), looks like in some cases we get
updates _just_ below the 500ms mark, so to avoid false failures we can reduce
the value to 450ms.
Differential Revision: https://phabricator.services.mozilla.com/D115744
When TRR is used in mode 3(only in mode 3) AsyncResolveNative can fail immediately (sync) and we need to make sure that we retry it in the same way as in DnsAndConnectSocket::TransportSetup::OnLookupComplete. If RESOLVE_IP_HINT is set we already retry he lookup, but we do not retry if mRetryWithDifferentIPFamily is set.
Differential Revision: https://phabricator.services.mozilla.com/D114952
Sites appear to only ever call the cm* functions using cmTagQueue, so since
we are shimming them all as no-ops, it's safer to ignore the queue entirely.
Differential Revision: https://phabricator.services.mozilla.com/D115709
This changes the MediaKeys to actually service output protection status queries
by sending those queries to the EncryptedMediaChild actor and handling responses
from the actor. These interactions are done via the observer service.
Differential Revision: https://phabricator.services.mozilla.com/D115418
This expands EncryptedMediaChild to be able to query and track the information
now shared by webrtcUI around screen and window sharing. The actor will use this
information to report to observers if capture is possible or not.
For now we use a coarse approach where we only track if the screen or any window
is shared, but in future I plan to have a more granular tracking of windows.
Differential Revision: https://phabricator.services.mozilla.com/D115417
This patch plumbs the QueryOutputProtectionStatus call from the CDM up to the
MediaKeys. This is plumbing is done to get the request to an endpoint of Gecko
C++ code, and future patches will do further plumbing in order to complete the
query.
After the first query is complete, we cache the result in a CDM's
ChromiumCDMParent and update the value only when notified of changes from the
MediaKeys. This has the benefit of that checks after the first don't need to
touch the main thread. This avoids adding more main thread work, and means we
can still complete checks in a timely fashion even if the main thread is running
hot.
We cache in the parent rather than the child so that the parent can make
decisions on how to handle requests even if the CDM machinery is not yet fully
initialized. In future it may make sense to move the caching to the child, but
I'd prefer to do this only after other refactoring of the machinery which I
consider out of scope for this bug.
Future patches will ensure listeners are in place such that the cached data is
updated when updates are received further up the stack.
Differential Revision: https://phabricator.services.mozilla.com/D115415
We call initMouseAsTouch when creating GeckoSession, normally this happens
after a GeckoRuntime has been created, so GeckoAppShell.getApplicationContext()
will return a non-null value.
If the GeckoSession is created before then, however, that method will return
null causing a NullPointerException (a AC unit test does that).
We fix this problem by initializing sTreatMouseAsTouch lazily, and not assuming
that the Context is present.
Differential Revision: https://phabricator.services.mozilla.com/D115727
Using autofocus="true" or programmatically calling .focus() when there is no pre-existing focused
element causes the :focus-visible to match.
This patch avoids using autofocus="true" on some of our about: pages, and uses
Element.focus({ preventFocusRing: true }) to avoid that when these pages and dialog
first load. Note that this doesn't prevent the focus ring from _ever_ appear, it just
stops it from appearing on first load.
Differential Revision: https://phabricator.services.mozilla.com/D115062
Automatic update from web-platform-tests
[TablesNG] Always display collapsed borders for empty cells
TablesNG was too clever, hiding collapsed borders for empty
cells if empty-cells:hide was set.
All the other browsers ignored empty cell hiding for collapsed
borders. We now match the others.
Bug: 1210273
Change-Id: I32ad4d8f4bd26ed8e5ca41a48b2768845d142932
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2903691
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#884523}
--
wpt-commits: 210f3063ee08710cc588fe0fdbb9680c2ed73bea
wpt-pr: 29035