Commit Graph

8304 Commits

Author SHA1 Message Date
Michael Froman
2bd0b78019 Bug 1921707 - (MOZ) moz.build files point to new location for abseil-cpp r=ng
Differential Revision: https://phabricator.services.mozilla.com/D224081
2024-10-10 13:42:41 +00:00
Brad Werth
173bb50340 Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-10-09 18:06:09 +00:00
Cosmin Sabou
cc36485d6c Backed out 3 changesets (bug 1919114) for causing reftest failures on 1412375. CLOSED TREE
Backed out changeset ed35ad3fdf9c (bug 1919114)
Backed out changeset 46baa027678a (bug 1919114)
Backed out changeset d4ab64473597 (bug 1919114)
2024-10-09 14:48:44 +03:00
Simon Friedberger
204dcfa6ed Bug 1720500 - Enable HTTPS-First for form submission r=freddyb,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D224287
2024-10-09 07:01:18 +00:00
Jens Stutte
b20bf0cae7 Bug 1911703 - Use a thread local flag for IsOnBackgroundThread. r=ipc-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D224903
2024-10-09 06:42:52 +00:00
Brad Werth
bd13547281 Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-10-09 06:23:55 +00:00
Chris H-C
d5675e4d9d Bug 1920562 - Remove C++ Telemetry::SetEventRecordingEnabled r=florian,necko-reviewers,valentin
We leave the network.trr.confirmation_telemetry_enabled pref intact because
removing it causes failures in test_prefs_tracker.js

Differential Revision: https://phabricator.services.mozilla.com/D223832
2024-10-08 20:14:41 +00:00
Tamas Szentpeteri
8be45dd280 Backed out changeset 4b1409597101 (bug 1920718) for causing bp bustages on rapl.cpp. 2024-10-08 23:27:18 +03:00
Tamas Szentpeteri
32d8c6e42e Backed out 3 changesets (bug 1919114) for causing restest failures on background-blending-color.html. CLOSED TREE
Backed out changeset 994aece36504 (bug 1919114)
Backed out changeset 0177073b7b42 (bug 1919114)
Backed out changeset 5c1e3623cdbd (bug 1919114)
2024-10-08 21:38:35 +03:00
serge-sans-paille
069a97307f Bug 1920718 - Annotate all global variable with runtime initialization as MOZ_RUNINIT r=application-update-reviewers,media-playback-reviewers,anti-tracking-reviewers,places-reviewers,profiler-reviewers,gfx-reviewers,aosmond,lina,nalexander,aabh
This annotation is only understood by our clang-tidy plugin. It has no
effect on regular compilation.

Differential Revision: https://phabricator.services.mozilla.com/D223341
2024-10-08 16:49:51 +00:00
Brad Werth
2a755c158b Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-10-08 15:44:32 +00:00
Stanca Serban
df8d0bf1e7 Backed out 2 changesets (bug 1920463) for causing multiple failures. CLOSED TREE
Backed out changeset e56421ffea4f (bug 1920463)
Backed out changeset 3c3f9787cfe4 (bug 1920463)
2024-10-08 15:17:36 +03:00
Bob Owen
3d875247b6 Bug 1920463 p2: Remove AbstractSandboxBroker. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D223117
2024-10-08 09:57:57 +00:00
Bob Owen
30ddc829b4 Bug 1920463 p1: Remove RemoteSandboxBroker. r=nika,geckoview-reviewers,ipc-reviewers,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D223114
2024-10-08 09:57:56 +00:00
Sandor Molnar
fc1cd91320 Backed out 5 changesets (bug 1920562) for causing xpc assertion failures. CLOSED TREE
Backed out changeset 8f085ab589a8 (bug 1920562)
Backed out changeset 4405387ae770 (bug 1920562)
Backed out changeset a68fd13a33ae (bug 1920562)
Backed out changeset cd3672fc08ed (bug 1920562)
Backed out changeset 62ab18879eea (bug 1920562)
2024-10-08 00:16:13 +03:00
Chris H-C
a0d39c1e98 Bug 1920562 - Remove C++ Telemetry::SetEventRecordingEnabled r=florian,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D223832
2024-10-07 17:29:56 +00:00
Emilio Cobos Álvarez
08a4f5d499 Bug 1922571 - Remove one win-specific include I missed.
MANUAL PUSH: Bustage fix CLOSED TREE
2024-10-04 10:58:17 +02:00
Emilio Cobos Álvarez
7714d17959 Bug 1922571 - Remove most of compiler_specific.h. r=nika
I've kept the header because I don't know how much we want to diverge
from upstream, specially in places like webrtc, but I think this is worth it.

Differential Revision: https://phabricator.services.mozilla.com/D224504
2024-10-04 08:00:42 +00:00
Emilio Cobos Álvarez
c77e3bf53d Bug 1922571 - Clean-up some includes in ipc_message_utils.h. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D224502
2024-10-04 08:00:41 +00:00
Emilio Cobos Álvarez
4f1b4c38f6 Bug 1922351 - Move ffi serde serialization from Servo into somewhere usable by other crates in the tree. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D224394
2024-10-04 07:51:46 +00:00
Jan Varga
deda722602 Bug 1919555 - LSNG: Start PBackgroundLSDatabase construction in the parent; r=dom-storage-reviewers,asuth
The construction currently starts in the child using a datastore id. This extra
step and complexity is not needed anymore since a received endpoint for a top
level actor can be bound to any event target.

Differential Revision: https://phabricator.services.mozilla.com/D222420
2024-10-03 11:26:39 +00:00
Jan Varga
6ba69dd029 Bug 1919555 - LSNG: Convert PBackgroundLSDatabase to a top level actor; r=dom-storage-reviewers,asuth
The conversion will allow:
- returning an endpoint instead of a datastore id when datastore preparation is
  done
- binding the child actor to a different event target

Long term, it would be possible to bind the parent actor to a dedicated task
queue or existing LS thread, helping to relieve the PBackground thread.

Differential Revision: https://phabricator.services.mozilla.com/D222417
2024-10-03 11:26:38 +00:00
Mike Hommey
90b7b9f9ed Bug 1922183 - Fix xpc_array_set_fd use in IosProcessLauncher::DoLaunch. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D224286
2024-10-02 19:53:25 +00:00
Stanca Serban
dfdac72d4a Backed out 3 changesets (bug 1919114) for causing nogpu related reftests failures. CLOSED TREE
Backed out changeset 9e75159e3f24 (bug 1919114)
Backed out changeset 9fbb4bf4480d (bug 1919114)
Backed out changeset 9c9e6df18d35 (bug 1919114)
2024-10-02 11:41:05 +03:00
Brad Werth
94939adb94 Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-10-02 06:49:33 +00:00
Nika Layzell
a254df4ee3 Bug 1440207 - Part 3j: ForkServer support for file geckoargs, r=ipc-reviewers,jld
After this change, the fork server no longer uses a Dup2Sequence to set
fixed FD offsets when starting child processes, instead using the new
geckoargs system.

Because this was pretty disruptive to thow the fork server works and was
previously integrated into LaunchApp, the forkserver code has generally been
moved out of the chromium codebase, and inlined into the ForkServer files.

As the linux chroot sandbox code needs to run the chroot server from a process
created during forking, it is now being sent down to the fork server
separately, though the child end of the pipe is still being passed using
GeckoArgs.

Finally, the primary IPC pipe used by the fork server is also changed to
be passed using geckoargs into the fork server, and the fork server
being used is made more explicit in GeckoChildProcessHost, as launching
using the fork server now requires different arguments than launching
normally (due to needing to pass down the ChildProcessArgs).

Differential Revision: https://phabricator.services.mozilla.com/D221380
2024-10-01 22:21:51 +00:00
Nika Layzell
fbd09b4ceb Bug 1440207 - Part 3i: Fix iOS builds, r=ipc-reviewers,jld
The code which decodes the XPC bootstrap message hasn't landed into
mozilla-central yet, so only the serializing side in GeckoChildProcessHost is
updated here.

Differential Revision: https://phabricator.services.mozilla.com/D221379
2024-10-01 22:21:51 +00:00
Nika Layzell
e40dad70cf Bug 1440207 - Part 3h: Android support for file geckoargs, r=geckoview-reviewers,ipc-reviewers,owlish,jld
This changes how file descriptors are passed to Android child processes to
support the new ChildProcessArgs model. Instead of explicit lists of FDs to pass
around, a single array of FDs is passed from the parent process into the child
service and then passed into GeckoArgs.

Differential Revision: https://phabricator.services.mozilla.com/D221378
2024-10-01 22:21:50 +00:00
Nika Layzell
5d19cad371 Bug 1440207 - Part 3g: Basic posix support for file geckoargs, r=ipc-reviewers,jld
This effectively mimics the old system using fixed FDs for passing the
arguments down.

An in-memory array of FDs is used to track which FD corresponds with
with file argument, which is initialized to the fixed offsets, in order
to allow platforms which cannot use fixed FDs in their child processes
to specify explicit files being passed down. This will be used in the
fork server, for Android, and for iOS.

Differential Revision: https://phabricator.services.mozilla.com/D221377
2024-10-01 22:21:50 +00:00
Nika Layzell
88b2da527a Bug 1440207 - Part 3f: Windows support for file geckoargs, r=ipc-reviewers,mccr8
Windows is the simplest platform to support, as HANDLEs are inherited by
identity into the child process, and there's less variance between different
OSes.

This effectively re-implements the existing behaviour used for HANDLE
passing on Windows by passing the handle directly on the command line.

Differential Revision: https://phabricator.services.mozilla.com/D221376
2024-10-01 22:21:50 +00:00
Nika Layzell
86ad98a5f0 Bug 1440207 - Part 3e: Pass linux sandbox fds using geckoargs, r=ipc-reviewers,jld
Previously these arguments were initialized in places which would be
inconvenient to use geckoargs with. This patch changes them to both be
initialized during SandboxLaunch::Configure in the parent process, and
then be passed down to the process launching code either within the
LaunchOptions object, or in the ChildProcessArgs object.

Unfortunately, we need to read the command line arguments within
XRE_InitChildProcess, rather than SandboxEarlyInit, as the sandbox code
is not linked directly to libxul, where the file handle GeckoArgs
methods are defined.

One of the more significant functional changes here is that when using
the fork server, the chroot pipe will be created within the parent
process, with the server end of the pipe passed over IPC to the fork
server to be used to create the chroot server. This is a bit
unnecessary, but keeps things simpler for the fork server, as geckoargs
are transferred directly from the parent process to the forked child
processes over the forkserver exec pipe.

Differential Revision: https://phabricator.services.mozilla.com/D221375
2024-10-01 22:21:49 +00:00
Nika Layzell
fd1d20ea4b Bug 1440207 - Part 3d: Pass the initial IPC pipe using geckoargs, r=ipc-reviewers,mccr8
The initial IPC pipe was previously the only argument passed as a chromium
command line flag. This changes it to instead be passed using geckoargs,
unifying the platforms, and removing the need for specific handling on every
platform.

Differential Revision: https://phabricator.services.mozilla.com/D221374
2024-10-01 22:21:49 +00:00
Nika Layzell
3c8b71811d Bug 1440207 - Part 3c: Pass the crashreporter pipe using geckoargs, r=gsvelto
The crash reporter pipe was previously passed as a positional argument with
custom code for each platform. On some platforms it is implemented as a file
being passed, which is now directly supported by geckoargs.

Differential Revision: https://phabricator.services.mozilla.com/D221373
2024-10-01 22:21:48 +00:00
Nika Layzell
6dcfd96db0 Bug 1440207 - Part 3b: Use GeckoArgs for parentPID and initialChannelID, r=ipc-reviewers,mccr8
This helps unify some logic between platforms, and removes some positional
arguments from the command line, so it ended up in this patch stack, despite
not technically being required to pass FDs directly.

Differential Revision: https://phabricator.services.mozilla.com/D221372
2024-10-01 22:21:48 +00:00
Nika Layzell
c3974e5fe9 Bug 1440207 - Part 3a: Migrate GeckoChildProcessHost callers to use ChildProcessArgs, r=ipc-reviewers,necko-reviewers,media-playback-reviewers,aosmond,mccr8
This patch implements the majority of the public interface for the new IPC
handle passing design.

The rough design is an expansion of `geckoargs` to allow passing
`UniqueFileHandle` arguments to child processes. This replaces the existing
extra options array to make the list of files explicit.

This currently just replaces things which were already passed this way on the
command line from outside of GeckoChildProcessHost. Note that this does not
migrate callers which were not already passing file handles using geckoargs,
and does not implement the actual OS-level support for passing arguments this
way.

Differential Revision: https://phabricator.services.mozilla.com/D221371
2024-10-01 22:21:47 +00:00
Iulian Moraru
d95976c52d Backed out 3 changesets (bug 1919114) for causing multiple no-gpu reftest failures. CLOSED TREE
Backed out changeset d64a523fd44c (bug 1919114)
Backed out changeset 1a78a03693b0 (bug 1919114)
Backed out changeset eeba73c31be2 (bug 1919114)
2024-10-02 01:55:14 +03:00
Brad Werth
f337b2113c Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-10-01 15:12:08 +00:00
Stanca Serban
d47496686e Backed out 3 changesets (bug 1919114) for causing no-gpu related reftests failures.
Backed out changeset e7b92733fa76 (bug 1919114)
Backed out changeset f8e4f207430b (bug 1919114)
Backed out changeset cec6c1dcdfae (bug 1919114)
2024-10-01 06:47:56 +03:00
Brad Werth
79fda3a157 Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-09-30 15:55:30 +00:00
Iulian Moraru
c29878ce48 Backed out 3 changesets (bug 1919114) for causing multiple nogpu reftest failures.
Backed out changeset bd7b34ae33ef (bug 1919114)
Backed out changeset 226668ab3f35 (bug 1919114)
Backed out changeset ea1c122a3848 (bug 1919114)
2024-09-27 22:13:34 +03:00
Brad Werth
ff9adab15d Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-09-26 23:55:38 +00:00
Butkovits Atila
058cc6cd02 Backed out 3 changesets (bug 1919114) for causing refetest failures. CLOSED TREE
Backed out changeset 0852cb6ea78f (bug 1919114)
Backed out changeset 9db329e6c216 (bug 1919114)
Backed out changeset 3b459fd776e6 (bug 1919114)
2024-09-26 04:29:40 +03:00
Brad Werth
9b30a7a605 Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-09-25 20:20:26 +00:00
Joel Maher
c0d4d4f7be Bug 1920540 - cleanup gfx/ipc/security/widget browser.toml files. r=aryx,necko-reviewers,profiler-reviewers,canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D223216
2024-09-25 13:49:06 +00:00
Iulian Moraru
faa36b9181 Backed out 3 changesets (bug 1919114) for causing multiple reftest failures on multiple platforms with no-gpu enabled flavors. CLOSED TREE
Backed out changeset a69fadab030b (bug 1919114)
Backed out changeset e4cf55f1c4da (bug 1919114)
Backed out changeset bd75acb8f7ff (bug 1919114)
2024-09-25 04:05:19 +03:00
Cristian Tuns
44fb28a14e Backed out 13 changesets (bug 1440207) for causing multiple failures. CLOSED TREE
Backed out changeset c9f33dfc1cc5 (bug 1440207)
Backed out changeset 76d823a34925 (bug 1440207)
Backed out changeset 75a99142ee1c (bug 1440207)
Backed out changeset b4d283d3e8da (bug 1440207)
Backed out changeset ea81a08ce181 (bug 1440207)
Backed out changeset c581a4e8cd15 (bug 1440207)
Backed out changeset d13799a1dc26 (bug 1440207)
Backed out changeset 6d715586c911 (bug 1440207)
Backed out changeset 30ff6a4db1d0 (bug 1440207)
Backed out changeset 2da0bbfdfee5 (bug 1440207)
Backed out changeset f3445c3fdd5e (bug 1440207)
Backed out changeset 07fbed499fe4 (bug 1440207)
Backed out changeset 1c2ac609c466 (bug 1440207)
2024-09-24 19:10:35 -04:00
Brad Werth
1c9e4138e7 Bug 1919114 Part 1: Allow UtilityAudioDecoderChild::CreateVideoBridge to work without a GPU process. r=aosmond
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.

Differential Revision: https://phabricator.services.mozilla.com/D223015
2024-09-24 19:39:53 +00:00
Nika Layzell
f3d5680017 Bug 1440207 - Part 3j: ForkServer support for file geckoargs, r=ipc-reviewers,jld
After this change, the fork server no longer uses a Dup2Sequence to set
fixed FD offsets when starting child processes, instead using the new
geckoargs system.

Because this was pretty disruptive to thow the fork server works and was
previously integrated into LaunchApp, the forkserver code has generally been
moved out of the chromium codebase, and inlined into the ForkServer files.

As the linux chroot sandbox code needs to run the chroot server from a process
created during forking, it is now being sent down to the fork server
separately, though the child end of the pipe is still being passed using
GeckoArgs.

Finally, the primary IPC pipe used by the fork server is also changed to
be passed using geckoargs into the fork server, and the fork server
being used is made more explicit in GeckoChildProcessHost, as launching
using the fork server now requires different arguments than launching
normally (due to needing to pass down the ChildProcessArgs).

Differential Revision: https://phabricator.services.mozilla.com/D221380
2024-09-24 19:28:13 +00:00
Nika Layzell
386517d44c Bug 1440207 - Part 3i: Fix iOS builds, r=ipc-reviewers,jld
The code which decodes the XPC bootstrap message hasn't landed into
mozilla-central yet, so only the serializing side in GeckoChildProcessHost is
updated here.

Differential Revision: https://phabricator.services.mozilla.com/D221379
2024-09-24 19:28:12 +00:00
Nika Layzell
3862954606 Bug 1440207 - Part 3h: Android support for file geckoargs, r=geckoview-reviewers,ipc-reviewers,owlish,jld
This changes how file descriptors are passed to Android child processes to
support the new ChildProcessArgs model. Instead of explicit lists of FDs to pass
around, a single array of FDs is passed from the parent process into the child
service and then passed into GeckoArgs.

Differential Revision: https://phabricator.services.mozilla.com/D221378
2024-09-24 19:28:12 +00:00