Skip to content

[pull] main from mozilla-firefox:main#349

Merged
pull[bot] merged 97 commits intopixeldevel:mainfrom
mozilla-firefox:main
Jan 31, 2026
Merged

[pull] main from mozilla-firefox:main#349
pull[bot] merged 97 commits intopixeldevel:mainfrom
mozilla-firefox:main

Conversation

@pull
Copy link

@pull pull bot commented Jan 31, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

AndiAJ and others added 30 commits January 30, 2026 17:59
…test r=aaronmt

The UI test was flaky when trying to interact with the site security sheet ETP togle.

Added a wait for the page to be loaded before opening the site security sheet and updated the selector used to perform the click

Both **disablingETPOnAWebsiteAddsItToExceptionListTest** and **enablingETPOnAWebsiteRemovesItFromTheExceptionListTest** successfully passed 75x on Firebase ✅

All UI tests successfully passed 1x on Firebase ✅

Differential Revision: https://phabricator.services.mozilla.com/D281179
…bserved from multiple threads when typing text to the search bar r=aaronmt

The exception was caused by touching Compose state while it was still measuring or drawing on another thread.
By waiting until the node exists, then letting Compose’s test rule perform the text change itself, and finally waiting for Compose to fully go idle should fix the problem.

**verifyHistorySearchWithBrowsingHistoryTest** - successfully passed 100x on Firebase ✅
all UI test successfully passed 1x on Firebase ✅

Differential Revision: https://phabricator.services.mozilla.com/D281191
… efficient r=emilio

Making the specialization a trivially move-copyable and move-assignable
type significantly improves the situation. There is no need to call the
destructor of the encapsulated object if it has a trivial destructor.

The only impact is that the moved object is left in a valid state (has
mandated by the standard) but the status of the maybe object is not
changed (isSome() result is unchanged). I think it's fine and we could
write a clang-tidy pass to check this.

The second change makes sure the MaybeStorage has no implicit padding,
which does not change the size of the object but helps the compiler to
generate faster loads.

Differential Revision: https://phabricator.services.mozilla.com/D281077
…hsingh

To capture usage changes, it is useful if all access to this variable goes through a method.
ClientUsages are also made private as both must always get modified together.

Differential Revision: https://phabricator.services.mozilla.com/D272586
…nel matching selectors. r=devtools-reviewers,ochameau.

Differential Revision: https://phabricator.services.mozilla.com/D280576
…o#compareTo. r=devtools-reviewers,jdescottes.

The distance property indicates if the selector applies to the element or to an ancestor (in such case, it is
negative and reflect how many level there is between the ancestor and the viewed element).
We need to use this when comparing those selectors, as an inherited declaration, even if important, can't
override a direct declaration.

A test case is added in browser_computed_matched-selectors-order.

Differential Revision: https://phabricator.services.mozilla.com/D281163
…iewContent. r=devtools-reviewers,jdescottes

Make a couple tests that were checking for disabled declarations use `checkRuleViewContent`
as the new assertion was first intended to check if some interaction **do not** disable
declarations (e.g. Bug 1984095), so it's nice to have cases where we do have
disabled declarations.

Differential Revision: https://phabricator.services.mozilla.com/D280970
…aiting on prefetch of a dictionary r=necko-reviewers,valentin

Differential Revision: https://phabricator.services.mozilla.com/D281081
…ILD CLOSED TREE

ach -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
af -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
an -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ar -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ast -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
az -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
be -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
bg -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
bn -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
bo -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
br -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
brx -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
bs -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ca -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ca-valencia -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
cak -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ckb -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
cs -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
cy -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
da -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
de -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
dsb -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
el -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
en-CA -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
en-GB -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
eo -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-AR -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-CL -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-ES -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-MX -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
et -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
eu -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fa -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ff -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fi -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fur -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fy-NL -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ga-IE -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gd -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gn -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gu-IN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
he -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hi-IN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hsb -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hu -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hy-AM -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hye -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ia -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
id -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
is -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
it -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ja -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ja-JP-mac -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ka -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
kab -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
kk -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
km -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
kn -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ko -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lij -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lo -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lt -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ltg -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lv -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
meh -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
mk -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ml -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
mr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ms -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
my -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
nb-NO -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ne-NP -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
nl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
nn-NO -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
oc -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pa-IN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pt-BR -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pt-PT -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
rm -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ro -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ru -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sat -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sc -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
scn -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sco -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
si -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sk -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
skr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
son -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sq -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sv-SE -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
szl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ta -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
te -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
tg -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
th -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
tl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
tr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
trs -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
uk -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ur -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
uz -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
vi -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
wo -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
xh -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
zh-CN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
zh-TW -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
…LD CLOSED TREE

ach -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
an -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ar -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ast -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
az -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
be -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
bg -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
bn -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
br -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
bs -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ca -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
cak -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
cs -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
cy -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
da -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
de -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
dsb -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
el -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
en-CA -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
en-GB -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
eo -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-AR -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-CL -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-ES -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
es-MX -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
et -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
eu -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fa -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ff -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fi -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
fy-NL -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ga-IE -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gd -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gn -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
gu-IN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
he -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hi-IN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hsb -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hu -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
hy-AM -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ia -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
id -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
is -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
it -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ja -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ka -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
kab -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
kk -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
km -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
kn -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ko -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lij -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lo -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lt -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ltg -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
lv -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
meh -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
mix -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ml -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
mr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ms -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
my -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
nb-NO -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ne-NP -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
nl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
nn-NO -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
oc -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pa-IN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pt-BR -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
pt-PT -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
rm -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ro -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ru -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sk -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
son -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sq -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
sv-SE -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ta -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
te -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
th -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
tl -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
tr -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
trs -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
uk -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
ur -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
uz -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
vi -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
wo -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
xh -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
zam -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
zh-CN -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
zh-TW -> e1d2d6fad014bf9a2ff06ea9bdf128d2de6822f0
…e/> more efficient r=emilio" for causing several failures.

This reverts commit 9ed13c6.
…bobowen

This patch changes the conditions for favoring systems DLLs over application
directory DLLs, such that we now opt for the application directory DLLs by
default, which is the safe choice. In particular, this changes our behavior in
failure code paths.

Differential Revision: https://phabricator.services.mozilla.com/D280993
…complete popup box. r=dimi,desktop-theme-reviewers,dao

Differential Revision: https://phabricator.services.mozilla.com/D280670
…ay Integrations r=NeilDeakin,tcampbell,credential-management-reviewers

Differential Revision: https://phabricator.services.mozilla.com/D278985
…nt scripts across browser restarts; r=denschub,webcompat-reviewers,ksenia,whimboo

Differential Revision: https://phabricator.services.mozilla.com/D279070
…ndroid-wide RFC process. r=jonalmeida,android-reviewers

This commit prepares to generalize the `android-components` RFC
process to an Android-wide RFC process.  The existing RFC process is
copied to a location higher in the directory structure, ready for
updates.  At the same time, an RFC proposing to replace the existing
`android-components` RFC process with the Android-wide RFC process is
added (following, more or less, the existing RFC process).

Differential Revision: https://phabricator.services.mozilla.com/D275330
emilio and others added 27 commits January 30, 2026 21:45
…e uses the attr() function. r=emilio,firefox-style-system-reviewers,dshin

Differential Revision: https://phabricator.services.mozilla.com/D280327
…eBufferManager. r=gfx-reviewers,lsalzman

AndroidHardwareBufferManager is used to look up AndroidHardwareBuffers
via an ID. This allows, for example, the host side of a same-process
IPDL bridge to create an AndroidHardwareBufferTextureHost from a
SurfaceDescriptorAndroidHardwareBuffer. We currently initialize this
only in the GPU process, when the (off by default) pref
"webgl.out-of-process.enable-ahardwarebuffer" has been enabled.

This patch makes it possible to create and use instances of the
AndroidHardwareBuffer class when AndroidHardwareBufferManager is not
initialized. These buffers may *not* be (de)serialized via
SurfaceDescriptorAndroidHardwareBuffer, but may be used in other ways.

This involves only registering a created buffer with the manager if
the manager is initialized, and making AndroidHardwareBuffer use its
own Monitor rather than the manager's. We additionally add missing
thread safety annotations to the monitors, and mark the monitors as
mutable thereby allowing some member functions to be const.

Differential Revision: https://phabricator.services.mozilla.com/D281164
…e descriptor. r=gfx-reviewers,lsalzman

This used to be supported but was removed in bug 1810097 to ensure
fence delivery remained simple for out-of-process webgl, which was the
only use of AndroidHardwareBuffer.

This patch reinstates the ability to serialize/deserialize
AndroidHardwareBuffers to/from file descriptors, which can be sent
cross-process. However, it comes with the caveat that fences will not
be delivered between the two AndroidHardwareBuffer instances. This is
therefore opt-in rather than the default method of (de)serializing
hardware buffers.

Normal usage via TextureClient/TextureHost continues to use
SurfaceDescriptorAndroidHardwareBuffer for (de)serialization, which
can only be used over same-process bridges when
AndroidHardwareBufferManager is enabled (in which case fences are
delivered as expected).

Since code may attempt to lock and subsequently read or write from the
buffer, when deserializing we populate the size, stride, and format
from the description obtained by AHardwareBuffer_describe() to ensure
their values are trusted. If the format is not recognized then we fail
to create the buffer.

Differential Revision: https://phabricator.services.mozilla.com/D281165
…he time of when the window/docshell was created, r=ahal.

Differential Revision: https://phabricator.services.mozilla.com/D281168
…inks for cert mismatches, r=valentin,frontend-codestyle-reviewers

After bug 1941148, HOST_NAME is now display-based. That's mostly good, but there
were a few places that actually need/want the internal hostname only - the DoH
exceptions list, and the handling that suggests opening `www.example.com` in the
case of certificate mismatch errors based on the SAN. Both of these need ASCII
hosts (not display, ie "pretty" hosts in the case of IDN), and don't want/need
the port number.

Differential Revision: https://phabricator.services.mozilla.com/D280733
…sues with hdiutil attach. r=mozbase-reviewers,ahal

hdiutil by default requires exclusive access to mount a disk image.
When pytest runs tests in parallel they all try to mount the same
file simultaneously, leading to "Resource busy" or CRC verification errors.

Differential Revision: https://phabricator.services.mozilla.com/D280556
…alize() testing functions, and add a release assert r=spidermonkey-reviewers,iain

Differential Revision: https://phabricator.services.mozilla.com/D281276
…tibility r=cubeb-reviewers,supply-chain-reviewers,padenot

Updated crates for cubeb-rs 0.32 compatibility:
- cubeb-sys: 0.30.1 -> 0.32.0
- audioipc2-client/server: 82fe7fa7e3aa -> c8d3f03cb5f8
- cubeb-coreaudio: 7b996ab09d0a -> 85a5bfbbf6b5
- cubeb-pulse: 4e3ea4bbc582 -> 9cebfcceb073

Differential Revision: https://phabricator.services.mozilla.com/D280842
…emilio

More specifically, moving an nsCOMPtr is more efficient than copying it.

Differential Revision: https://phabricator.services.mozilla.com/D281181
…emilio

Moving an nsComPtr is more efficient than copying it, let's use that
approach when it makes sense.

Differential Revision: https://phabricator.services.mozilla.com/D281175
…thandler/ r=Gijs

More specifically moving nsCOMPtr is faster than copying it, and the
generated HandlerInfo class contains nsCompPtr and nsCString members, so
its generated move assign operator is more efficient than its copy
assign operator.

Differential Revision: https://phabricator.services.mozilla.com/D281192
…ar r=emilio

There's a dedicated operator for moving a JARURIParams into an URIParams
instance, let's use it.

As a side effect, apply the same change in
image/decoders/icon/nsIconURI.cpp where the pattern is exactly the same.

Differential Revision: https://phabricator.services.mozilla.com/D281217
…n deserialize() testing functions, and add a release assert r=spidermonkey-reviewers,iain" for causing xpc failures @test_wasm_get_values.js.

This reverts commit f5560ee.
…es when only AI windows are open r=emilio,desktop-theme-reviewers

When only AI windows exist, the toolbar-theme pref was not being updated because AI windows have updateGlobalThemeData = false. This caused the AI window to use a stale pref value when the user changed themes via addon.

This patch stores the user's theme in _lastData before replacing it with aiThemeData, and captures the user's color_scheme preference to determine whether to render in dark or light mode. Falls back to system dark mode detection when no explicit preference is set.

Differential Revision: https://phabricator.services.mozilla.com/D281120
…they are not default. r=smaug

Also drive-by-ed a few things that can be `const` but weren't.

Differential Revision: https://phabricator.services.mozilla.com/D281227
…tion if they are not default. r=smaug" for causing mochitest failures @Selection.cpp.

This reverts commit c925a51.
@pull pull bot locked and limited conversation to collaborators Jan 31, 2026
@pull pull bot added the ⤵️ pull label Jan 31, 2026
@pull pull bot merged commit 031c614 into pixeldevel:main Jan 31, 2026
1 check failed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.