Commit Graph
982866 Commits
Author SHA1 Message Date
Alexandre Poirot caec8eadf9 Bug 2044741 - [devtools] Delay devtools JSProcess actor unregistration. r=devtools-reviewers,nchevobbe
Avoid unregistering the JS Process actor ASAP on DevTools closing
as it may throw many exception if any RDP Request or JSProcess Actor
query is still pending after the devtools closing.

It required some tweaks in the parent process as WatcherActor.conn
may now be null because of shifted executions and we weren't correctly
unregistering it because of lack of `connectionPrefix`.

As well as some tweaks around `sharedData` to force persisting it across
processes, otherwise the content process may still hold now destroyed
watcher actor sessionData and keep instantiating actor.

Last, but not least, because there is some shift in precise execution
timings, I had to tweak docshell DOM event listeners as we may leave
listeners on docshell's window object when the cleanup method
is call after the docshell starts being destroyed and docshell.domWindow
is already null.

Differential Revision: https://phabricator.services.mozilla.com/D306953
2026-07-15 08:33:48 +00:00
Alexandre Poirot cc9abf6c7e Bug 2044741 - [devtools] Avoid crashing when unregistering an actor in a destroying process. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D309939
2026-07-15 08:33:47 +00:00
Arnaud Bienner 05b8261442 Bug 1899194 - IDBCursor: use row values comparison to make SQL queries faster r=dom-storage-reviewers,jari
See [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1899194#c7 | bugzilla ]] for a detailed explanation about what this change does.

Differential Revision: https://phabricator.services.mozilla.com/D308931
2026-07-15 08:29:53 +00:00
Arnaud Bienner 4228d040c0 Bug 1899194 - More test coverage for IDBCursor continue/continuePrimaryKey r=dom-storage-reviewers,jari
Differential Revision: https://phabricator.services.mozilla.com/D308930
2026-07-15 08:29:52 +00:00
Dão Gottwald e10bf913af Bug 2051959 - [IPC Urlbar] Phase 6: Await the switch-to-tab in the secondary-actions test on the message path. r=daleharvey
Picking a switch-to-tab result switches to the target tab and closes the emptied
one from UrlbarInput's pick handling; over the actor message path that runs after
the synthesized keys return, so the test raced it by reading the tab count
synchronously. Await the switch before asserting.

Differential Revision: https://phabricator.services.mozilla.com/D310449
2026-07-15 07:59:56 +00:00
Dão Gottwald 5bf1920e3f Bug 2051959 - [IPC Urlbar] Phase 6: Rename UrlbarInput._setValue to setValue. r=daleharvey
`_setValue` is now part of the controller's actor-facing surface: on the message
path a parent-side provider hook reaches it through `controller.input`, which
forwards to the real input as an `InvokeContentAction` message. The underscore
"internal, don't call from outside" convention no longer fits, so drop it.

Pure mechanical rename of the method on `UrlbarInput`/`SmartbarInput` and every
caller (`UrlbarProviderAutofill`, the test utils and tests), plus the message-
path `InputProxy` forwarder and its allowed-method set.

Differential Revision: https://phabricator.services.mozilla.com/D310364
2026-07-15 07:59:55 +00:00
Dão Gottwald a9ed5029de Bug 2051959 - [IPC Urlbar] Phase 6: Confirm tab-to-search onboarding search mode in the input. r=daleharvey
The onboarding result's search mode was confirmed by the provider's
onEngagement, which reached the input through the picked result's DOM element
(element.documentGlobal.gURLBar). That element doesn't cross the actor boundary,
so the confirmation never ran over the message path and the content-side
searchMode stayed null.

Confirm it in UrlbarInput's pick handling instead -- next to the record() call
in the DYNAMIC branch, gated on providesSearchMode, mirroring the
RESULT_TYPE.SEARCH branch that already confirms its search mode there. It runs
against the live input, so there's no round-trip and no dependence on the DOM
element crossing the boundary; the provider's onEngagement is dropped.

Behavior-neutral on the direct path: same confirmation call, same Glean events
(verified against the urlbar.searchmode telemetry).

Differential Revision: https://phabricator.services.mozilla.com/D311027
2026-07-15 07:59:54 +00:00
Dão Gottwald c5e7b74727 Bug 2051959 - [IPC Urlbar] Phase 6: Make the provider engagement hooks work on the message path. r=daleharvey
Provider `onEngagement` hooks run parent-side (in `UrlbarProvidersManager`, from
the parent controller). On the actor message path the parent controller has no
child, so `controller.input`/`controller.view` are undefined and `details.element`
is dropped on the wire, breaking the hooks that reach them (`GlobalActions`,
`Autofill`, `ActionsSearchMode`, `Calculator`, `ContextualSearch`,
`UnitConversion`).

Resolve the element reads from data that survives the wire: `GlobalActions` reads
the picked action key from `details.pickedActionKey` (resolved content-side by
the telemetry snapshot); `QuickActions`' `pickAction` and `ActionsSearchMode`
take the action key and input length from the result payload instead of the
picked element, and `ActionsSearchMode` recomputes the disabled state from the
action; `UnitConversion` copies its conversion output from the result payload
instead of the picked element's text.

Route the input/view side effects to the content side: the parent-side
`UrlbarChildControllerProxy` exposes `input`/`view` stand-ins whose allowed
methods (`search`, `_setValue`, `startQuery`, `close`, `startTail150`) forward to
the real content objects as an `InvokeContentAction` message, so providers keep
calling `controller.input.X()`/`controller.view.X()` unchanged. `ContextualSearch`
passes the engine's name and aliases (all `search()` reads) as a plain object so
it stays structured-cloneable.

`this.input` is now a forwarding stand-in on the message path, so the
`receiveResults` first-result guard checks for the `onFirstResult` method rather
than mere truthiness (it only runs on the in-process input; the content side runs
`onFirstResult` itself).

The underscore-prefixed `UrlbarInput._setValue` is forwarded as-is here; a
follow-up renames it to `setValue` now that it's part of the actor-facing
surface.

`browser_glean_telemetry_reenter.js` exercises a provider `onEngagement` that
blurs the input. On the message path the hook fires only after the pick's
engagement has been recorded and its session cleared, so the blur's abandonment
record is a no-op rather than the synchronous `record()` re-entry the direct path
sees; the re-entry assertion is gated to the direct path. Both paths still record
exactly one engagement and no abandonment.

The default in-process path is unaffected.

Differential Revision: https://phabricator.services.mozilla.com/D310360
2026-07-15 07:59:53 +00:00
Nazım Can Altınova 7c35554521 Bug 2038445 - Disable GC zeal in profiler/bug2002982.js to fix intermittent failures r=mgaudet
The test expects the number of registered script sources to stay the
same across a profiler disable/enable cycle. On sm-compacting builds a
zeal GC can run between the two enableGeckoProfiling calls and discard
the JitScripts of scripts that are no longer on the stack (prologue.js
and self-hosted), so their sources don't get re-registered on the second
enable and the counts no longer match. Disable GC zeal at the start of
the test to keep it deterministic.

Differential Revision: https://phabricator.services.mozilla.com/D312038
2026-07-15 07:48:01 +00:00
Nicolas Chevobbe 9b755d6599 Bug 2052260 - [devtools] Avoid using currentlySelectedElement in #getRuleItem. r=devtools-reviewers,bomsy
The getter is potentially slow (it was picked up by DAMP), and in this case,
it can be replaced with the `rawNode` arg.

Differential Revision: https://phabricator.services.mozilla.com/D311470
2026-07-15 07:17:36 +00:00
Release Engineering Landoscript 3f33122e35 No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
an -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ar -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ast -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
az -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
be -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bg -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bn -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
br -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bs -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ca -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
cak -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
cs -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
cy -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
da -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
de -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
dsb -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
el -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
en-CA -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
en-GB -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
eo -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-AR -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-CL -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-ES -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-MX -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
et -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
eu -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fa -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ff -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fi -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fy-NL -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ga-IE -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gd -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gn -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gu-IN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
he -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hi-IN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hsb -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hu -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hy-AM -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ia -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
id -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
is -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
it -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ja -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ka -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
kab -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
kk -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
km -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
kn -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ko -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lij -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lo -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lt -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ltg -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lv -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
meh -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
mix -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ml -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
mr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ms -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
my -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
nb-NO -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ne-NP -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
nl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
nn-NO -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
oc -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pa-IN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pt-BR -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pt-PT -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
rm -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ro -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ru -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sk -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
son -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sq -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sv-SE -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ta -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
te -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
th -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
tl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
tr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
trs -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
uk -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ur -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
uz -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
vi -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
wo -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
xh -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
zam -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
zh-CN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
zh-TW -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
2026-07-15 06:48:03 +00:00
Release Engineering Landoscript 5eab57ff26 No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
af -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
an -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ar -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ast -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
az -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
be -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bg -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bn -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bo -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bqi -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
br -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
brx -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
bs -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ca -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ca-valencia -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
cak -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ckb -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
cs -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
cy -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
da -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
de -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
dsb -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
el -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
en-CA -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
en-GB -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
eo -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-AR -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-CL -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-ES -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
es-MX -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
et -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
eu -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fa -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ff -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fi -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fur -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
fy-NL -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ga-IE -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gd -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gn -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
gu-IN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
he -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hi-IN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hsb -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hu -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hy-AM -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
hye -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ia -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
id -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
is -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
it -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ja -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ja-JP-mac -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ka -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
kab -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
kk -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
km -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
kn -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ko -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lij -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lo -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lt -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ltg -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
lv -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
meh -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
mk -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ml -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
mr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ms -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
my -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
nb-NO -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ne-NP -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
nl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
nn-NO -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
oc -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pa-IN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pt-BR -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
pt-PT -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
rm -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ro -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ru -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sat -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sc -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
scn -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sco -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
si -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sk -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
skr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
son -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sq -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
sv-SE -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
szl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ta -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
te -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
tg -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
th -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
tl -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
tr -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
trs -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
uk -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
ur -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
uz -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
vi -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
wo -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
xh -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
zh-CN -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
zh-TW -> 5ab5dc26f37760249f2f9c85fb99ad12f53984ce
2026-07-15 06:48:01 +00:00
Lee Salzman 4cdc64f4c9 Bug 2045711. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D311733
2026-07-15 06:36:07 +00:00
Updatebot 2d1dfb8c0d Bug 2055096 - Update PDF.js to c661ba140807b915d38362c3ecb1208a48b40681 r=pdfjs-reviewers,calixte
Differential Revision: https://phabricator.services.mozilla.com/D312191
2026-07-15 06:34:35 +00:00
Nina Pypchenko f967e650a0 Bug 2051179 - Focus Timer widget: add small size in Nova r=reemhamz
Adds a third "small" size to the Nova Focus Timer widget on New Tab, alongside
the existing medium and large sizes. Small is a compact, vertically centered
layout matching the Figma design: a progress ring with the play/pause control,
a single editable duration row when idle, and just the ring plus remaining time
while running or paused. It has no manual Focus/Break toggle (the timer
auto-cycles) and no reset control; the completion celebration reuses the shared
animation but shows only the headline.

The classic (non-Nova) layout is untouched.

Differential Revision: https://phabricator.services.mozilla.com/D309283
2026-07-15 06:29:26 +00:00
Jon Coppeard b2930362ba Bug 2051881 - Part 14: Require lock to access large buffer map while concurrent marking r=sfink
This renames count that was previously only used to check for background
sweeping to something more generic, and increments/decrements it appropriately
when concurrent marking is running. The effect is that we need to take the lock
when marking large buffers concurrently.

Differential Revision: https://phabricator.services.mozilla.com/D311026
2026-07-15 06:23:09 +00:00
Jon Coppeard 51448d4726 Bug 2051881 - Part 13: Fix races tracing RegExpShared r=jandem
Currently this can race on kind_ being updated. It's simplest to trace all the
fields as the ones used for different kinds do not overlap.

Differential Revision: https://phabricator.services.mozilla.com/D311025
2026-07-15 06:23:06 +00:00
Jon Coppeard d9a87a308c Bug 2051881 - Part 12: Add initialization fence for IonScript and only read the method pointer once r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D311024
2026-07-15 06:23:03 +00:00
Jon Coppeard e7af06ebd4 Bug 2051881 - Part 11: Only read pointer passed to TraceManuallyBarrieredGCCellPtr once in concurrent marking builds r=sfink
This function was updated to make the intial read atomic but it can still read
the edge target later when checking whether the target was moved.

Differential Revision: https://phabricator.services.mozilla.com/D311022
2026-07-15 06:22:59 +00:00
Jon Coppeard df7e7d73ad Bug 2051881 - Part 10: Read zone from chunk for known tenured object r=sfink
JSObject::zone() read's the object's shape and then gets the zone from its
chunk (because it's unconditional and works regardless of whether the object is
in the nursery). We want to avoid the shape read here though and we know the
object will always be tenured.

Differential Revision: https://phabricator.services.mozilla.com/D311021
2026-07-15 06:22:56 +00:00
Jon Coppeard eed0577ac7 Bug 2051881 - Part 9: Make write to string capacity in rope flattening atomic r=sfink
I missed this update from the previous patch to make string field updates atomic.

Differential Revision: https://phabricator.services.mozilla.com/D311020
2026-07-15 06:22:53 +00:00
Jon Coppeard 6d2cd6d832 Bug 2051881 - Part 8: Make JIT method pointers GCPtr r=jandem
These don't have GC lifetime so HeapPtr is the natural choice. However the
chosen cut point is to make writes to GCPtrs atomic and leave HeapPtr alone. As
these are part of the core datastructures that will be traced concurrently we
do need to make these writes atomic though.

We can make these into GCPtrs as long as we manually trigger the post barrier
by clearing them before they are freed outside of GC.

Differential Revision: https://phabricator.services.mozilla.com/D311019
2026-07-15 06:22:50 +00:00
Jon Coppeard e6bb6fd178 Bug 2051881 - Part 7: Add a lock to IonScript and take it when manipulating IonIC stubs r=jandem
This adds a separate lock to IonScript and uses it for mutual exclusion between
tracing and updating its state. This does mean that tracing a JitScript can
take two separate locks however.

It's tempting to try and make this use the same lock as the ICScript (probalby
moving it to the JitScript) but it's not always convient to get to either of
those when you need it. What do you think - I can try and combine them if you
think that would be better?

Differential Revision: https://phabricator.services.mozilla.com/D311018
2026-07-15 06:22:47 +00:00
Jon Coppeard bf3dc504a8 Bug 2051881 - Part 6: Take marking lock when discarding baseline stubs r=jandem
This ensures we don't trace these while the main thread is unlinking the list.

Differential Revision: https://phabricator.services.mozilla.com/D311017
2026-07-15 06:22:44 +00:00
Jon Coppeard 81f5b8e1a0 Bug 2051881 - Part 5: Fix atomic/non-atomic cell header read method which was the wrong way round r=sfink
I got this the wrong way round originally.

Differential Revision: https://phabricator.services.mozilla.com/D311016
2026-07-15 06:22:41 +00:00
Jon Coppeard e7654c273e Bug 2051881 - Part 4: Fix buffer allocator tracing read through pointer exactly once r=sfink
In concurrent marking builds we already read the pointer atomically and we
don't need to read it again.

Differential Revision: https://phabricator.services.mozilla.com/D311015
2026-07-15 06:22:38 +00:00
Jon Coppeard 1e2cbed531 Bug 2051881 - Part 3: Use acquire/release atomic for LightLock r=jandem
TSAN doesn't like the current attempt to more relaxed memory ordering here. I
wasn't able to pinpoint exactly why but it's unlikely to make much difference
so we can go with a slightly stronger ordering here. This also simplifies this
code which is a good thing.

Differential Revision: https://phabricator.services.mozilla.com/D311014
2026-07-15 06:22:35 +00:00
Jon Coppeard 51b53082a0 Bug 2051881 - Part 2: Make GCStructPtr writes atomic in concurrent marking builds r=jandem
This updates GCStructPtr in line with the other barrier wrappers (e.g.
GCBuffer).

This wrapper will be removed eventaully when everything is migrated
to buffer allocator buffers but in the mean time this silences some warnings in
TSAN builds.

Differential Revision: https://phabricator.services.mozilla.com/D311013
2026-07-15 06:22:31 +00:00
Jon Coppeard c0c6848e79 Bug 2051881 - Part 1: Fix race around stealing buffer allocator chunks during concurrent marking r=sfink
This can be read by concurrent marking, which skips marking in chunks that are
allocated during collection. This is only ever written on the main thread so
it's not possible that this ends up with the wrong value. There is a separate
flag stolenFromSweepList that ensures stolen chunks get their mark bits cleared
after concurrent marking has finished, so it's not a problem if concurrent
marking marks some buffers before noticing that this flag has changed.

Differential Revision: https://phabricator.services.mozilla.com/D311012
2026-07-15 06:22:28 +00:00
Nina Pypchenko 12b8ffe671 Bug 2052427 - Stocks widget: add error state r=fluent-reviewers,flod,maxx
When stock data cannot be loaded, the widget now shows a "Stock data is not
available." message instead of sitting on loading placeholders. It retries once
in the background about a minute later and recovers on its own if that attempt
succeeds. Showing the error records a widgets_error telemetry event (error_type
"load_error"), and the message text is a new localizable string.

Differential Revision: https://phabricator.services.mozilla.com/D311484
2026-07-15 06:18:10 +00:00
glob 131dfcaa10 Bug 1407718 - Show the subview indicator on the Developer button in the overflow menu r=Gijs,devtools-reviewers,bomsy
The subview chevron (the subviewbutton-nav class) is only added to view
widgets created with SOURCE_BUILTIN. The Developer button is created by
devtools through CustomizableUI.createWidget(), which always marked widgets
as SOURCE_EXTERNAL, so it never got the indicator in the overflow menu even
though it opens a subview.

Add an optional source argument to the public and internal createWidget()
(defaulting to SOURCE_EXTERNAL so existing callers are unaffected), and have
DevToolsStartup create the Developer button with SOURCE_BUILTIN.

Differential Revision: https://phabricator.services.mozilla.com/D311830
2026-07-15 06:09:19 +00:00
Andrea Marchesini 040a5202a7 Bug 2052044 - Expose the l10n coverage via the mozILocaleService interface r=necko-reviewers,eemeli
Differential Revision: https://phabricator.services.mozilla.com/D309915
2026-07-15 05:01:39 +00:00
Alex Hochheiden db74a91fcc Bug 2038789 - Assemble the macOS update frameworks with FINAL_TARGET_FILES r=firefox-build-system-reviewers,application-update-reviewers,sergesanspaille,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D303699
2026-07-15 03:57:39 +00:00
Alex Hochheiden f1d273acc9 Bug 2038789 - Support renaming and mode preservation for objdir installs in moz.build r=firefox-build-system-reviewers,application-update-reviewers,sergesanspaille,nalexander
Objdir entries in `OBJDIR_FILES` and `FINAL_TARGET_FILES` were installed with
`nsinstall`, which forces a fixed mode and installs only by basename, so it
drops the executable bit and cannot rename. Add a
`(source, target_basename)` tuple form to the `*_FILES` lists and install
those entries with a new `install_objdir_file` action that copies the file
preserving its mode, renaming to `target_basename`. Generated headers
under `dist/include` are the exception and keep the `nsinstall` bulk export,
where a fixed mode is fine.

This is the same rename that `RenamedSourcePath` already performed
internally for jar manifests, now expressible from `moz.build` and
supported by the RecursiveMake backend.

Differential Revision: https://phabricator.services.mozilla.com/D303698
2026-07-15 03:57:37 +00:00
Serban Stanca 455dd5e8db Revert "Bug 2054477 - Update AboutWelcome default screens based on pin prompt segmentation r=omc-reviewers,jprickett" for causing wpt failures.
This reverts commit 31e261f2af.
2026-07-15 03:27:01 +00:00
Lando ff96e24ae0 Merge mozilla-central to autoland 2026-07-15 03:23:50 +00:00
Maxx Crawford b4b9a39b81 Bug 2054436 - Fix Daily Crossword widget clipping and auto-size it to large while a puzzle is in progress. r=reemhamz
Differential Revision: https://phabricator.services.mozilla.com/D312153
2026-07-15 03:17:50 +00:00
Maxx Crawford 2ab51a1106 Bug 2054463 - Allow the Crossword widget iframe to open related article links in new tabs r=thecount
Differential Revision: https://phabricator.services.mozilla.com/D312135
2026-07-15 03:17:48 +00:00
Maxx Crawford 275ba34dd7 Bug 2054325 - Update locales for Firefox 152.0.6 train-hop (2026-08-14) r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D312112
2026-07-15 03:17:47 +00:00
Maxx Crawford f8d72a7e91 Bug 2053667 - Add 'New' badge to crossword, remove it upon widget interaction. r=thecount
Differential Revision: https://phabricator.services.mozilla.com/D311237
2026-07-15 03:17:44 +00:00
Maxx Crawford 18f1628cbe Bug 2053311 - Add crossword widget context menu and postMessages interactions. r=fluent-reviewers,nina-py,bolsson,thecount
Differential Revision: https://phabricator.services.mozilla.com/D310975
2026-07-15 03:17:42 +00:00
Maxx Crawford e1a64a23de Bug 2054936 - Part 3: Remove the New Tab preview Fluent file and its plumbing. r=mconley,thecount
Differential Revision: https://phabricator.services.mozilla.com/D312068
2026-07-15 03:17:41 +00:00
Maxx Crawford 8d1eed5026 Bug 2054936 - Part 2: Hardcode Crossword strings inline. r=mconley,thecount
Differential Revision: https://phabricator.services.mozilla.com/D312063
2026-07-15 03:17:39 +00:00
Maxx Crawford 1b2a081f74 Bug 2054936 - Part 1: Move home-prefs-crossword-widget-header into newtab.ftl. r=thecount,mconley
Differential Revision: https://phabricator.services.mozilla.com/D312062
2026-07-15 03:17:37 +00:00
iulian moraru bc21112402 Revert "Bug 2045711. r=gfx-reviewers,nical" for causing build bustages on cairo-truetype-subset.c.
This reverts commit 71df7fc9fa.
2026-07-15 02:34:04 +00:00
az 90968e9918 Bug 2052237 - Keep hardware H.264 decode for WebRTC when no software decoder is available. r=dbaker
With media.webrtc.hw.h264.enabled off (the desktop default), WebRTC prefers the
software H.264 decoder. That works when software decode is available, but since
bug 2044499 made codec support reporting accurate, platforms where H.264 is
hardware-only (e.g. the Windows GPU process) have no software decoder to use.
This leaves an empty support set if the pref is set to false, causing
the OpenH264 fallback path to be used which currently has compatibility issues.

Differential Revision: https://phabricator.services.mozilla.com/D310224
2026-07-15 02:19:31 +00:00
Lee Salzman 71df7fc9fa Bug 2045711. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D311733
2026-07-15 02:18:49 +00:00
Sarah Chung 9153471fa4 Bug 2053294 - Fix preonboarding splash screen height r=omc-reviewers,mimi,jprickett
D308122 regressed the height of the preonboarding splash screen because the `height` in `content.screen_style` was moved to affect the <main> screen rather than the section-main component. This patch reverts that specific change but still ensures that the asrouter-newtab-multistage wrapper height can be customized in order to keep the flexible height of that newtab message type.

Differential Revision: https://phabricator.services.mozilla.com/D311142
2026-07-15 01:48:43 +00:00
Stephanie Cunnane 89ba19bda6 Bug 2046494 - Fetch additional results from Merino for Online Suggest. r=csadilek,nanj,Standard8,adw
Differential Revision: https://phabricator.services.mozilla.com/D308597
2026-07-15 01:37:17 +00:00
Tomislav Jovanovic eec5339bd0 Bug 2050124 - Enable Tier 3 typecheck lint for toolkit/extensions r=robwu,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D308693
2026-07-15 01:07:38 +00:00