Commit Graph

723 Commits

Author SHA1 Message Date
Erich Gubler
4e8ca4d873 Bug 1961024 - build(rust): shim-upgrade ron 0.9.0 → 0.10.1 r=supply-chain-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D245811
2025-04-17 17:50:35 +00:00
smolnar
280680c5c4 Backed out 5 changesets (bug 1955429) for causing mochitest failures @ widget/tests/test_bug343416.xhtml CLOSED TREE
Backed out changeset 3fd7b7cba0ff (bug 1955429)
Backed out changeset d771f40c809c (bug 1955429)
Backed out changeset 98fe0042de25 (bug 1955429)
Backed out changeset f239ffd8098f (bug 1955429)
Backed out changeset a49202330c21 (bug 1955429)
2025-04-17 17:53:46 +03:00
Chris H-C
6e1c1ce442 Bug 1955429 - Update to Glean SDK v64.1.1 r=TravisLong,supply-chain-reviewers,mach-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D244801
2025-04-17 13:07:54 +00:00
Drew Willcoxon
6973dd3ea6 Bug 1961039 - Vendor application-services 6a007c9. r=daisuke,nanj
This includes some small fixes to desktop Suggest code and tests due to changes
in the `suggest` app-services component. It also incorporates D243740 by
@daisuke since it's required for vendoring.

This vendor replaces exposure suggestions with dynamic suggestions in the
`suggest` component, which breaks a few desktop tests. I disabled them for now
and will address them in bug 1961040.

Depends on D244233

Differential Revision: https://phabricator.services.mozilla.com/D245826
2025-04-17 04:21:35 +00:00
Erich Gubler
8221b15491 Bug 1958063 - build(rust): shim-upgrade rusqlite 0.31.0 → 0.33.0 r=glandium
Do this by upgrading `application-services` repos to a commit that
_only_ differs from the current one in its `rusqlite` dependency.

Differential Revision: https://phabricator.services.mozilla.com/D244233
2025-04-16 16:25:17 +00:00
Erich Gubler
b30b2aa3e1 Bug 1958063 - build(rust): shim-upgrade hashlink 0.9.1 → 0.10.0 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D244356
2025-04-16 16:25:17 +00:00
Goloman Adrian
efcf0aaa0a Backed out 4 changesets (bug 1955429) for causing xpc failures. CLOSED TREE
Backed out changeset 8793ee7ac873 (bug 1955429)
Backed out changeset e1cf811b7274 (bug 1955429)
Backed out changeset 79bf1547f82b (bug 1955429)
Backed out changeset c451dfbfb59f (bug 1955429)
2025-04-15 21:57:40 +03:00
Chris H-C
28ccc109f9 Bug 1955429 - Update to Glean SDK v64.1.1 r=TravisLong,supply-chain-reviewers,mach-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D244801
2025-04-15 16:39:26 +00:00
Butkovits Atila
ed01a1d8b2 Backed out 4 changesets (bug 1955429) for causing failures at test_AttributionDistribution.js. CLOSED TREE
Backed out changeset ab33904d0edb (bug 1955429)
Backed out changeset abdbe82d2cc1 (bug 1955429)
Backed out changeset eba2fd65a5cf (bug 1955429)
Backed out changeset e0aa301f9301 (bug 1955429)
2025-04-15 19:16:06 +03:00
Chris H-C
04257f495a Bug 1955429 - Update to Glean SDK v64.1.1 r=TravisLong,supply-chain-reviewers,mach-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D244801
2025-04-15 14:37:31 +00:00
Erich Gubler
3826e3b939 Bug 1947920 - build(rust): shim-upgrade hashbrown 0.14.5 → 0.15.2, upgrade indexmap 2.5.0 → 2.8.0 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D239687
2025-04-08 20:49:59 +00:00
Dana Keeler
f5eea27271 Bug 1958095 - convert pkcs11testmodule to rust to simplify implementing additional features r=nkulatova,glandium
Differential Revision: https://phabricator.services.mozilla.com/D244252
2025-04-08 15:45:12 +00:00
Jan-Erik Rediger
7605226bfd Bug 1953191 - Update to Glean v64.0.1 and glean_parser 17.0.1 r=chutten,mach-reviewers,ahal
Vendoring happens in the next commit

Differential Revision: https://phabricator.services.mozilla.com/D241958
2025-04-07 20:39:50 +00:00
Ben Dean-Kawamura
94fccbed84 Bug 1950665 - Upgrade to UniFFI 0.29.1, r=markh
Differential Revision: https://phabricator.services.mozilla.com/D239796
2025-04-07 20:39:50 +00:00
Butkovits Atila
b74789cbe7 Backed out changeset 390256672eac (bug 1958095) for causing bustages at libpkcs11testmodule.so. CLOSED TREE 2025-04-07 21:26:19 +03:00
Dana Keeler
5ef9879ac1 Bug 1958095 - convert pkcs11testmodule to rust to simplify implementing additional features r=nkulatova,glandium
Differential Revision: https://phabricator.services.mozilla.com/D244252
2025-04-07 15:38:47 +00:00
Cosmin Sabou
a237abc876 Backed out changeset 8955d56a5c82 (bug 1947920) for causing build bustages. CLOSED TREE 2025-04-03 14:52:33 +03:00
Erich Gubler
6c190b1bd8 Bug 1947920 - build(rust): upgrade hashbrown 0.14.5 → 0.15.2 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D239687
2025-04-03 11:31:59 +00:00
Norisz Fay
b263c6627a Backed out 9 changesets (bug 1620998) for causing multiple crash related failures
Backed out changeset 274ab6fba51b (bug 1620998)
Backed out changeset 731b7a72161e (bug 1620998)
Backed out changeset 5dad868cb181 (bug 1620998)
Backed out changeset 49618d90e1da (bug 1620998)
Backed out changeset cc14d8374efa (bug 1620998)
Backed out changeset 31f3cc43e800 (bug 1620998)
Backed out changeset fde49d4de714 (bug 1620998)
Backed out changeset 857c23185317 (bug 1620998)
Backed out changeset 97f0f061357e (bug 1620998)
2025-04-02 02:23:33 +03:00
Gabriele Svelto
6259c76b43 Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

The crash helper process is started when the first exception handler is set
on desktop platforms and before loading libxul on Android. In both cases
starting this process happens asynchronously so that neither the main process
nor child processes have to wait for it to come up. If a crash happens before
the crash helper has started, the crashed process will wait for it to fully
come up and then proceed with regular crash generation.

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-04-01 15:13:42 +00:00
Cosmin Sabou
e3d0bc89ab Backed out 9 changesets (bug 1620998) for causing build bustages. CLOSED TREE
Backed out changeset 72781375abd5 (bug 1620998)
Backed out changeset 30edb461ed99 (bug 1620998)
Backed out changeset a027ff2de570 (bug 1620998)
Backed out changeset 821e4224085a (bug 1620998)
Backed out changeset e90f6557d883 (bug 1620998)
Backed out changeset 47e7a1a2796e (bug 1620998)
Backed out changeset dbf8543d39d4 (bug 1620998)
Backed out changeset e72d5596ac91 (bug 1620998)
Backed out changeset b351cb3d0b54 (bug 1620998)
2025-04-01 01:34:43 +03:00
Gabriele Svelto
c544442459 Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

The crash helper process is started when the first exception handler is set
on desktop platforms and before loading libxul on Android. In both cases
starting this process happens asynchronously so that neither the main process
nor child processes have to wait for it to come up. If a crash happens before
the crash helper has started, the crashed process will wait for it to fully
come up and then proceed with regular crash generation.

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-03-31 21:23:14 +00:00
Erich Gubler
cee0dabc27 Bug 1956123 - build(rust): shim-upgrade unicode-width 0.1.10 → 0.2.0 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D243188
2025-03-29 11:40:39 +00:00
Alexandru Marc
7bee8ec457 Backed out 7 changesets (bug 1950665, bug 1956897, bug 1956123, bug 1953191) for causing fenix btime failures CLOSED TREE
Backed out changeset 22f47c90fd5d (bug 1956123)
Backed out changeset 6522ae70b658 (bug 1956897)
Backed out changeset 806db3f9c36c (bug 1950665)
Backed out changeset bf72ab72dfa6 (bug 1953191)
Backed out changeset d229188b7203 (bug 1953191)
Backed out changeset d73eaaafd097 (bug 1953191)
Backed out changeset 592d875cb61b (bug 1950665)
2025-03-28 19:28:52 +02:00
Erich Gubler
7c9eef1a62 Bug 1956123 - build(rust): shim-upgrade unicode-width 0.1.10 → 0.2.0 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D243188
2025-03-28 10:09:52 +00:00
Jan-Erik Rediger
465b1f4f57 Bug 1953191 - Update to Glean v64.0.0 and glean_parser 17.0.1 r=chutten,mach-reviewers,ahal
Vendoring happens in the next commit

Differential Revision: https://phabricator.services.mozilla.com/D241958
2025-03-27 20:33:10 +00:00
Ben Dean-Kawamura
ffe793284f Bug 1950665 - Upgrade to UniFFI 0.29,
Differential Revision: https://phabricator.services.mozilla.com/D239796
2025-03-27 20:33:09 +00:00
Cosmin Sabou
ca05bec2fb Backed out 7 changesets (bug 1956132, bug 1956378, bug 1950665, bug 1953191) for causing LateWriteObserver crashes.
Backed out changeset 38ae4256b2ad (bug 1956132)
Backed out changeset cc9d570bc0d1 (bug 1956378)
Backed out changeset 85142db17376 (bug 1950665)
Backed out changeset 251fd670f26e (bug 1953191)
Backed out changeset f79d2c98afbc (bug 1953191)
Backed out changeset 7d91be694ac1 (bug 1953191)
Backed out changeset cb2b3aee545c (bug 1950665)
2025-03-27 00:53:58 +02:00
Jan-Erik Rediger
161a991090 Bug 1953191 - Update to Glean v64.0.0 and glean_parser 17.0.1 r=chutten,mach-reviewers,ahal
Vendoring happens in the next commit

Differential Revision: https://phabricator.services.mozilla.com/D241958
2025-03-26 17:12:06 +00:00
Ben Dean-Kawamura
f07cda2602 Bug 1950665 - Upgrade to UniFFI 0.29,
Differential Revision: https://phabricator.services.mozilla.com/D239796
2025-03-26 17:12:06 +00:00
Erich Gubler
3fe6f32b23 Bug 1955085 - build(rust): audit and shim-update half 1.8.3 → 2.5.0 r=supply-chain-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D242217
2025-03-21 17:32:17 +00:00
Erich Gubler
e55f763c31 Bug 1894795 - build(rust): upgrade base64 0.21.3 → 0.22.1 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D229933
2025-03-21 02:58:31 +00:00
Drew Willcoxon
05f10430e4 Bug 1954177 - Vendor application-services d773da92641d92930b7308300e9fc2746a05ce6a for Suggest geo expansion. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D241667
2025-03-14 17:16:10 +00:00
Drew Willcoxon
1817ce0847 Bug 1952588 - Vendor application-services to 138 for Suggest geo expansion. r=bdk,daisuke
This vendors the `desktop-138` branch [1] of application-services. The `main`
branch currently does not have some PRs that desktop needs because they break
mobile, and we need this on desktop ASAP.

This patch is larger than usual because the vendor includes some major changes
to the application-services `suggest` component, including new and changed API.
As a consequence this patch includes the following important changes:

## New `suggest` API & uniffi

`SuggestStoreBuilder::remote_settings_service` and `RemoteSettingsService::new`
are exposed to JS as synchronous functions. There's no need for them to be
off-main-thread.

## Telemetry

The labels of `suggest.ingest_time`, `ingest_download_time` and `query_time` had
to be updated due to changes in the Rust component. These are minor updates that
don't need a data review.

## Urlbar

I had to make the following changes to urlbar. I tried to keep them to a minimum
for now. There are opportunities for improvements in follow-ups.

* Appropriate minimal integration changes to `SuggestBackendRust` for creating
  the `SuggestStore` and setting up the RS config
* The Rust component uses new RS collections, which breaks tests. I tried to fix
  them without touching too many lines. There are definitely opportunities to
  improve these tests and test helpers that I'd like to come back to.
* A fix to `RemoteSettingsServer` that's required due to the new RS client used
  by the Rust component

## Late writes due to the new RS client & `AsyncShutdown`

This is a urlbar change but it's worth calling out separately. I pushed all
these changes to tryserver, and there was a failure at the end of the browser
Suggest tests due to `LateWriteObserver` [2].

The late write happens when the app exits: `SuggestStore` is dropped, which
causes the new app-services RS client to drop its Sqlite connection, which
causes Sqlite to sync the RS client's DB to disk. This hasn't been a problem
before because `suggest` currently uses the old RS client, which doesn't keep a
DB. (`suggest` does have its own separate Sqlite DB, and I didn't investigate
why this isn't a problem for it, mainly because it makes sense that the new RS
client would sync its DB when it's dropped and that might be considered a "late
write" when it happens on app shutdown.)

According to the stack in the log, `SuggestStore` is dropped by
`nsCycleCollector`. I can't see how `SuggestBackendRust.#store` is involved in a
cycle, and I don't know if something in this patch is causing a cycle where
there wasn't one before. Maybe there always was. And I don't know if the cycle
is what's causing the all this to happen too late on shutdown. Maybe it's
unrelated. (I'll paste the stack in a Phabricator comment.)

The `SuggestStore` is definitely kept alive until
`AsyncShutdown.profileBeforeChange` since we have a barrier for that phase that
calls `interrupt()` on it. Maybe that's simply the problem and we're using a
phase that's too late in shutdown. But again I don't know why it wouldn't also
be a problem for Suggest's own DB.

The only fix I found is to replace `AsyncShutdown.profileBeforeChange` with
either `quitApplicationGranted` or `profileChangeTeardown`, and then null out
`#store` in the callback (after we call `interrupt()` on it). I assume that
fixes it because `profileBeforeChange` runs later than those other two phases.

So I replaced `profileBeforeChange` with `profileChangeTeardown`. I don't know
which of `quitApplicationGranted` or `profileChangeTeardown` is better. I think
it probably doesn't matter. I chose `profileChangeTeardown` because it's closer
to `profileBeforeChange`. (The order is: `quitApplicationGranted`,
`profileChangeTeardown`, `profileBeforeChange`.)

[1] https://github.com/mozilla/application-services/tree/desktop-138
[2] https://treeherder.mozilla.org/jobs?repo=try&revision=1639f87aa46f1afaf50901d80c8282861700019b

Differential Revision: https://phabricator.services.mozilla.com/D240919
2025-03-12 20:20:09 +00:00
Nicolas Chevobbe
80af76ba24 Bug 1950551 - [devtools] Fix source_location of CssRule::NestedDeclarations. r=emilio,supply-chain-reviewers.
Nested declarations were getting the location of their parent rule, which would
cause issue in the DevTools Inspector (e.g. for InspectorUtils.getRelativeRuleLine).
We now track the first declaration of the nested declaration to set it as the location
of the rule.

This required some changes in upstream cssparser that are vendored in this patch:
- 5e477ab819
- 958a3f098a

Differential Revision: https://phabricator.services.mozilla.com/D238911
2025-03-12 05:58:39 +00:00
Chris Martin
7ecd1ad6b4 Bug 1950364 - Update and vendor tempfile r=glandium,supply-chain-reviewers,nika,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D240093
2025-03-10 17:05:06 +00:00
Mark Banner
fffd1a6e07 Bug 1952712 - Vendor app-services f7947a60b3e9957b97229d6dd08b458532e79c1c. r=bdk
Also mark `SearchEngineSelector.set_config_overrides` as being a sync / main thread function.

Differential Revision: https://phabricator.services.mozilla.com/D240790
2025-03-10 13:25:22 +00:00
Mark Banner
678fa38cbd Bug 1950499 - Vendor app-services d83fcd87f69a23930fed279ab5d2c56173a61db7. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D239665
2025-03-03 09:00:40 +00:00
Erich Gubler
5c540e4ffe Bug 1945020 - build(rust): bump minimum Rust version 1.76 → 1.82 r=glandium
…but for ASAN/TSAN, use a hack: a 1.82.0 nightly commit that tolerates
`unsafe extern` blocks, but doesn't break our current toolchain patches.

We also remove the `host_or_target_str` check in
`build/moz.configure/toolchain.configure`, at @glandium's suggestion. To
quote him:

> [This] essentially undoes bug 1806040 but that bug predates other
> linker related changes, and I think the discrepancy host/target is not
> necessary anymore.

Differential Revision: https://phabricator.services.mozilla.com/D236028
2025-02-25 02:42:51 +00:00
Erich Gubler
92d6cc8d4b Bug 1949858 - build(rust): shim-upgrade core-graphics-types 0.1.3 → 0.2.0, core-foundation 0.9.4 → 0.10.0, core-foundation-sys 0.8.6 → 0.8.7 r=gfx-reviewers,glandium,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D239209
2025-02-24 15:29:54 +00:00
Butkovits Atila
d1846f9d0f Backed out 2 changesets (bug 1949858) for causing WebRender failures. CLOSED TREE
Backed out changeset 311381302426 (bug 1949858)
Backed out changeset a43a261a4dbb (bug 1949858)
2025-02-24 16:55:15 +02:00
Erich Gubler
de677e28d2 Bug 1949858 - build(rust): shim-upgrade core-graphics-types 0.1.3 → 0.2.0, core-foundation 0.9.4 → 0.10.0, core-foundation-sys 0.8.6 → 0.8.7 r=gfx-reviewers,glandium,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D239209
2025-02-24 13:41:46 +00:00
Butkovits Atila
515aa5ce36 Backed out 2 changesets (bug 1949858) forcausing wrench bustages. CLOSED TREE
Backed out changeset a38ace2f6538 (bug 1949858)
Backed out changeset a56ed79b9609 (bug 1949858)
2025-02-22 06:25:42 +02:00
Erich Gubler
489cb02b0e Bug 1949858 - build(rust): shim-upgrade core-graphics-types 0.1.3 → 0.2.0, core-foundation 0.9.4 → 0.10.0, core-foundation-sys 0.8.6 → 0.8.7 r=gfx-reviewers,glandium,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D239209
2025-02-22 03:48:43 +00:00
Anna
20ceb96c36 Bug 1942805 - Builtins: building in xul instead of separate library r=glandium,keeler,geckoview-reviewers,browser-installer-reviewers,nalexander,owlish,jschanck
Differential Revision: https://phabricator.services.mozilla.com/D234953
2025-02-21 12:49:03 +00:00
Goloman Adrian
ba170ee295 Backed out changeset ed1adda514e3 (bug 1945020) for causing build bustages @cargo-linker. CLOSED TREE 2025-02-20 02:46:08 +02:00
Erich Gubler
0c5eba3c2b Bug 1945020 - build(rust): bump minimum Rust version 1.76 → 1.82 r=glandium
…but for ASAN/TSAN, use a hack: a 1.82.0 nightly commit that tolerates
`unsafe extern` blocks, but doesn't break our current toolchain patches.

Differential Revision: https://phabricator.services.mozilla.com/D236028
2025-02-19 19:38:46 +00:00
Goloman Adrian
7a6f0dd01d Backed out 10 changesets (bug 1942805, bug 1620998) for causing grandle and ui failures.
Backed out changeset b840c4565b11 (bug 1942805)
Backed out changeset 7acecab7051d (bug 1620998)
Backed out changeset bad9fd65a113 (bug 1620998)
Backed out changeset 11b93a07b5b1 (bug 1620998)
Backed out changeset c6e1addf36e0 (bug 1620998)
Backed out changeset be300aa07606 (bug 1620998)
Backed out changeset fb9daf29a61a (bug 1620998)
Backed out changeset 2ee28adc6f8e (bug 1620998)
Backed out changeset ef24c2b9784c (bug 1620998)
Backed out changeset 8f5c82b3dbe5 (bug 1620998)
2025-02-19 21:24:01 +02:00
Anna
42368e5466 Bug 1942805 - Builtins: building in xul instead of separate library r=glandium,keeler,geckoview-reviewers,browser-installer-reviewers,nalexander,owlish
Differential Revision: https://phabricator.services.mozilla.com/D234953
2025-02-19 15:16:38 +00:00
Gabriele Svelto
5b7d8fdf9a Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

One limitation of the current code is that the crash helper process needs to
be running before we can start setting exception handlers in child processes.
This limitation is due to how Breakpad exception handlers register themselves
with the crash generator and prevents us from lazily starting the helper (or
restarting it on Android).

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-02-19 12:58:34 +00:00