Commit Graph

8576 Commits

Author SHA1 Message Date
Alex Kontos
e7824895ad refactor: rename Firefox related references to their relevant counterparts 2025-11-03 16:04:55 +00:00
Gabriele Svelto
7c81a53f68 Bug 1975853 - Fail gracefully if we cannot start the crash helper client a=RyanVM
Before this patch if we failed to launch the crash helper client then we
would either freeze or crash Firefox, which is not what we want. This
makes sure that errors when launching the crash helper are not
catastrophic. Additionally, this problem was triggered on a machine that
launched more than 64 child processes at startup during session restore.
That was a hard limit on Windows because of the limitations of
WaitForMultipleObjects(). I adjusted the code to also handle that
gracefully even though we don't support more than 64 child processes at
the moment. That's not a big deal because we're not yet using that
particular IPC channel, so ignoring every child process above the 63rd
doesn't change anything at the moment. Last but not least there was a
small race in the crash helper rendez-vous that might cause Linux to
attempt to generate a minidump before we had allowed a child process to
allow the crash helper to ptrace() it. This was also fixed.

Original Revision: https://phabricator.services.mozilla.com/D256299

Differential Revision: https://phabricator.services.mozilla.com/D262076
2025-08-22 16:24:58 +00:00
Gabriele Svelto
6d82d3eb47 Bug 1964600 - Introduce an IPC channel between child processes and the crash helper a=RyanVM
This channel is currently only used on Linux to rendez-vous with the
crash helper, obtain its PID and use it to enable the process to be
dumped when the Yama LSM is enabled. It will be used to actually request
a dump in the future, when the breakpad exception handler is removed.

Original Revision: https://phabricator.services.mozilla.com/D254047

Differential Revision: https://phabricator.services.mozilla.com/D262074
2025-08-22 16:24:50 +00:00
Nika Layzell
31a3ea2fb1 Bug 1966936 - Switch various IPC IDs to 64-bits, r=ipc-reviewers,mccr8,jld a=RyanVM
This changes a few IDs which have historically been 32-bit integers to
instead be 64-bit integers, reducing the chance of the value
overflowing.

Differential Revision: https://phabricator.services.mozilla.com/D250502
2025-06-03 02:57:50 +00:00
smayya
78cc49157a Bug 1948222 - Add IpAddressSpace and ParentIpAddressSpace members in LoadInfo. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238478
2025-05-22 11:13:54 +00:00
Norisz Fay
e7817cd3fd Revert "Bug 1960582 - Add LNA telemetry. r=necko-reviewers,valentin" for causing xpcshell failures at test_ip_address_space_lna_glean.js
This reverts commit 31781d2656.

Revert "Bug 1944556 - update IpAddressSpace for browsingContexts. r=necko-reviewers,valentin"

This reverts commit 3456e8ce81.

Revert "Bug 1960474 - Add tests for LNA Utilities. r=necko-reviewers,valentin"

This reverts commit 0c32ebb65d.

Revert "Bug 1960474 - Add LNA utility functions. r=necko-reviewers,valentin"

This reverts commit d451da6219.

Revert "Bug 1948222 - Add IpAddressSpace and ParentIpAddressSpace members in LoadInfo. r=necko-reviewers,valentin"

This reverts commit 8bcd4900c4.

Revert "Bug 1948222 - Add IPAddressSpace settings in BrowsingContext. r=necko-reviewers,valentin"

This reverts commit 2079ccb988.

Revert "Bug 1948222 - update nsILoadInfo.idl to add IPAddressSpace attribute. r=necko-reviewers,valentin"

This reverts commit 9126ee396c.
2025-05-21 23:35:37 +00:00
smayya
8bcd4900c4 Bug 1948222 - Add IpAddressSpace and ParentIpAddressSpace members in LoadInfo. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238478
2025-05-21 21:03:45 +00:00
Greg Stoll
793a2194f8 Bug 1961170 part 4 - make DispatchToDropTargetAndResumeEndDragSession() take allowedFilePaths r=dlp-reviewers,handyman
Ideally aAllowedFilePaths would be an array of nsIFile, but unfortunately
we don't seem to be able to pass nsIFile's over IPC, so pass the paths
instead. This should be fine for Windows but may need more testing or
a better solution if/when we support Mac.

Differential Revision: https://phabricator.services.mozilla.com/D248521
2025-05-21 17:33:22 +00:00
Sylvestre Ledru
8ae54ea4f9 Bug 1519636 - Reformat recent changes to the Google coding style r=geckoview-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,nalexander,gstoll,tcampbell,janv,julienw
Updated with clang-format version 19.1.7 (taskcluster-DYvBxDZJRVqTi8E7pTSJAQ)

Differential Revision: https://phabricator.services.mozilla.com/D249880
2025-05-17 19:11:13 +00:00
Gabriele Svelto
b05c87bfbb Bug 1961582 - Fix crash reporter breakage on non-Linux/Android Unix targets r=afranchuk
Differential Revision: https://phabricator.services.mozilla.com/D248612
2025-05-16 14:31:42 +00:00
Jed Davis
50a722b2a8 Bug 1752638 - Part 3: delay fork server shutdown until browser shutdown. r=ipc-reviewers,nika
Because the fork server is used to remotely `waitpid` child processes,
and this can be done until very late in shutdown, this patch extends the
fork server's lifetime.  This is a little complicated: it requires some
changes to `GeckoChildProcessHost::Destroy` to allow it to work after the
I/O thread is no longer accepting runnables.

Differential Revision: https://phabricator.services.mozilla.com/D240715
2025-05-15 04:36:18 +00:00
Jed Davis
ffb078cedf Bug 1752638 - Part 2: remote waitpid/SIGCHLD to/from the fork server. r=ipc-reviewers,nika
There are two parts to this:

1. A new sync IPC call to the fork server which is basically just
waitpid: it takes a pid and a flag for whether to block, and returns
either the exit status, an error, or an indication that the process is
still running.  The code in the parent process which would previously
hack around the fork server case with `kill(pid, 0)` now uses this
instead.

2. The fork server now has a `SIGCHLD` handler which writes to a pipe
given at startup.  Currently this is connected to the same pipe-to-self
used in `ProcessWatcher` for the parents' own `SIGCHLD`s.  Thus, the
existing `ProcessWatcher` is mostly unmodified.

Measured locally, these remote `waitpid`s take about 50µs, compared to
about 10µs for in-process.  So, while it's possible for the callback
for `SIGCHLD` pipe reads to call this `O(n)` times when `n` child
processes are exiting at once, the time taken shouldn't be a significant
responsiveness problem; I measured 250µs max while closing a tab for a
popular website with a large number of out-of-process iframes.  This can
be optimized later to batch the messages if needed.

The other potential performance issue is if a remote `waitpid` is blocked
behind a remote fork.  However, this is still an improvement over the
non-forkserver status quo: if we `clone` the parent process, that blocks
all threads for, empirically, about 15ms; cloning the fork server is
about 2.5ms, and that would only block another thread if it happens to
race with another child process exiting and not every time.  We also
prelaunch content processes during idle time, so this type of jank is
less likely to be user-visible in any case.

Importantly, the way this patch works, the `waitpid` is synchronous with
respect to the thread in the parent process making the requeste, so as
long as the fork server hasn't crashed then we can know that the process
with a given pid is in fact the process we expect it to be.

Differential Revision: https://phabricator.services.mozilla.com/D240714
2025-05-15 04:36:15 +00:00
Jed Davis
00e9cfa817 Bug 1752638 - Part 1: add thread safety to the fork server client. r=ipc-reviewers,nika
This does a few things to ForkServiceChild that will be needed in future
patches:

* protects the channel with a mutex, so that multiple threads can
  make calls to the fork server; note that the fork server itself is
  single-threaded so these are necessarily serialized

* ForkServiceChild is now thread-safely refcounted, so that attempts to
  use it which race with a fork server crash/restart will fail safely

Differential Revision: https://phabricator.services.mozilla.com/D240713
2025-05-15 04:36:11 +00:00
Jed Davis
83ffd33c10 Bug 1752638 - Part 0: inline ForkServiceChild::OnMessageReceived. r=ipc-reviewers,nika
Incoming messages to the ForkServiceChild are replies to its synchronous
requests to the fork server, read with blocking I/O, so handling the
reply can be done inline.  And there will soon be several requests,
with different replies, so it doesn't make sense to have a single
OnMessageReceived method like this.

Differential Revision: https://phabricator.services.mozilla.com/D240712
2025-05-15 04:36:08 +00:00
Andrew Osmond
b73a14ef05 Bug 1965599 - Allow serialization of Variant with non default constructible types. r=ipc-reviewers,nika
This will be generally useful for IPC serialization, and specifically
for MediaDataEncoder remoting.

Differential Revision: https://phabricator.services.mozilla.com/D248676
2025-05-14 04:14:47 +00:00
Narcis Beleuzu
28211eb04b Revert "Bug 1961582 - Fix crash reporter breakage on non-Linux/Android Unix targets r=afranchuk" for bustages on GeckoChildProcessHost.cpp
This reverts commit f9ee5d16d7.
2025-05-14 01:13:46 +00:00
Gabriele Svelto
f9ee5d16d7 Bug 1961582 - Fix crash reporter breakage on non-Linux/Android Unix targets r=afranchuk
Differential Revision: https://phabricator.services.mozilla.com/D248612
2025-05-13 23:21:36 +00:00
Sylvestre Ledru
42d5c5dbe7 Bug 1965564 - ruff: fix 'len (XX) used as condition without comparison PLC1802 (ruff)' r=linter-reviewers,ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D248664
2025-05-13 00:24:47 +00:00
Emilio Cobos Álvarez
f088656bc3 Bug 1965779 - Remove GTK iconSize / iconState from icon URI. r=stransky,settings-reviewers
Icon state is now unused (and wasn't used anyhow). Icon sizes are
hardcoded in GTK as per: https://docs.gtk.org/gtk3/enum.IconSize.html

So we can migrate the few usages left to the actual sizes, and remove
the supporting code.

Differential Revision: https://phabricator.services.mozilla.com/D248866
2025-05-12 19:10:42 +00:00
Emilio Cobos Álvarez
621f242334 Bug 1964046 - Add support for scale and color-scheme to moz-icon:// URIs on GTK. r=stransky
Use symbolic icons where possible for this.

Differential Revision: https://phabricator.services.mozilla.com/D247587
2025-05-12 10:22:21 +00:00
serge-sans-paille
bf3516e81e Bug 1964489 - Avoid duplication in NS_DECLARE_STATIC_IID_ACCESSOR / NS_DEFINE_STATIC_IID_ACCESSOR r=nika,necko-reviewers,media-playback-reviewers,places-reviewers,win-reviewers,dom-storage-reviewers,xpcom-reviewers,gstoll,janv,emilio,padenot,valentin,asuth
In modern C++, static constexpr member variables are automatically
inline (aka weak) so the template trick is not needed. This also avoid
duplication and reduces the amount of parsed code. No impact on
generated binary (actually: smaller debuginfo, close to identical
binary).

Differential Revision: https://phabricator.services.mozilla.com/D247825
2025-05-08 08:05:51 +00:00
Alex Franchuk
4c94ab35e9 Bug 1959799 pt2 - Add the process type to crash information r=Roger,gsvelto,geckoview-reviewers,android-reviewers,ohall,nika
The current logic results in all `BACKGROUND_CHILD` process types ending
up as GPU processes (if they aren't an extension process), however
rather than rely on this behavior, it's a better idea to send the actual
process type name through to the Android crash handling code.

Differential Revision: https://phabricator.services.mozilla.com/D245979
2025-05-01 15:24:12 +00:00
Gabriele Svelto
08a8136801 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-18 16:37:06 +00:00
Jens Stutte
e95880aa13 Bug 1960138 - Avoid a ctor assertion in IdleSchedulerParent and be more resilient during shutdown. r=smaug
Asserting in the ctor does not really help with anything, as the construction of this object can be the result of very asynchronously happening IPC messages such that we cannot guarantee anything from the sender's side about the receiver's state.
But we can avoid to do the heavy and hang prone work of CollectProcessInfo during shutdown.

Differential Revision: https://phabricator.services.mozilla.com/D245938
2025-04-17 19:18:27 +00:00
Joel Maher
98ece24bd5 Bug 1959821 - cleanup and standardize remaining xpcshell.toml files. r=aryx,sync-reviewers,markh
Differential Revision: https://phabricator.services.mozilla.com/D245147
2025-04-15 20:24:35 +00:00
Alex Hochheiden
9e91a1f021 Bug 1715287 - [lint] Enable remaining pyupgrade rules and lint tree r=linter-reviewers,webdriver-reviewers,translations-reviewers,whimboo,sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D245320
2025-04-13 17:48:23 +00:00
Nika Layzell
734a0debe0 Bug 1956103 - Part 2: Replace ChannelCapability with EventTargetAndLockCapability, r=ipc-reviewers,mccr8
This is the generalized version of the `ChannelCapability` type, which has now
been moved into XPCOM so it can be used by other types. The functionality and
checking should be identical.

Differential Revision: https://phabricator.services.mozilla.com/D242845
2025-04-11 19:42:01 +00:00
Alexandre Lissy
25568879c8 Bug 1771452 - Enable Utility process for Android with Isolated Process r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D181883
2025-04-10 19:08:15 +00:00
Butkovits Atila
db441a7fa1 Backed out changeset cb1915bbbec9 (bug 1771452) for causing failures at test_android_audio_off.html. 2025-04-10 19:43:08 +03:00
Alexandre Lissy
bc67a00345 Bug 1771452 - Enable Utility process for Android with Isolated Process r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D181883
2025-04-10 14:49:53 +00:00
Tom Schuster
1890abed1e Bug 1959034 - Use WorkerCSPContext for the trusted-types directive. r=smaug
This largely reverts D242894.

Differential Revision: https://phabricator.services.mozilla.com/D244701
2025-04-10 10:48:22 +00:00
Florian Quèze
9885783942 Bug 1956726 - remove leftover Telemetry.h includes in .cpp files, r=chutten,geckoview-reviewers,cookie-reviewers,win-reviewers,dom-storage-reviewers,gstoll,valentin,m_kato,janv.
Differential Revision: https://phabricator.services.mozilla.com/D244351
2025-04-08 13:03:02 +00:00
Chris Martin
5262bcde9a Bug 1909470 - Transfer auxv from child processes to crash reporter r=media-playback-reviewers,gsvelto,padenot
Differential Revision: https://phabricator.services.mozilla.com/D235710
2025-04-04 18:47:15 +00:00
Cosmin Sabou
3b945ff592 Backed out changeset 2332eb04959d (bug 1909470) for causing CrashReporterClient related bustages. CLOSED TREE 2025-04-03 18:25:17 +03:00
Chris Martin
7a5aa9f3c5 Bug 1909470 - Transfer auxv from child processes to crash reporter r=media-playback-reviewers,gsvelto,padenot
Differential Revision: https://phabricator.services.mozilla.com/D235710
2025-04-03 13:59:54 +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
Kagami Sascha Rosylight
7e899e8e47 Bug 1956153 - Create actors directly on the main thread r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D243689
2025-03-31 19:53:58 +00:00
Florian Quèze
92cc8bb101 Bug 1956726 - Migrate histograms to use Glean APIs for ipc related histograms, r=chutten,media-playback-reviewers,padenot.
Differential Revision: https://phabricator.services.mozilla.com/D242916
2025-03-31 14:09:54 +00:00
Florian Quèze
bd74da684a Bug 1956726 - Migrate histograms to use Glean APIs in toolkit/components/crashes/CrashManager.in.sys.mjs, r=chutten,gsvelto.
Differential Revision: https://phabricator.services.mozilla.com/D242911
2025-03-31 14:08:17 +00:00
Frédéric Wang
5f2238c730 Bug 1942306 - Make ShouldTrustedTypePolicyCreationBeBlockedByCSP work for Workers. r=tschuster
This is done by exposing on CSPInfo the raw array of tt-expressions
associated to a CSPInfo::ContentSecurityPolicy [1]. Then we use a static
version of nsCSPDirective::ShouldCreateViolationForNewTrustedTypesPolicy
that relies on this raw array instead of an actual nsCSPDirective.

[1] https://w3c.github.io/trusted-types/dist/spec/#tt-expression

Differential Revision: https://phabricator.services.mozilla.com/D242894
2025-03-27 09:10:43 +00:00
Yannis Juglaret
8de17578df Bug 1956398 - Avoid duplicating pseudo-handles in ipc_channel_win.cc. r=nika a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D243135
2025-03-26 18:35:09 +00:00
Andrew Sutherland
52ee093e9a Bug 1320796 - Always seek decrypted streams on first read. r=dom-storage-reviewers,janv
In cases where Available() is called on a DecryptingInputStream in one process
and then serialized and deserialized to another process, if the underlying
stream retains its position, then the deserialized DecryptingInputStream will
be in a broken state because the serialization does not propagate the internal
state that makes the altered stream position okay.

This is because when restoring state with its final restorative Seek(), the
call to DecryptingInputStream::Seek will invoke ParseNextChunk() which will
perform a read (if possible).

This fix consists of a minor change to seek the underlying stream to its
start in EnsureBuffers which will always be called exactly once before we do
any I/O, and will only happen when we were going to do I/O anyways, so this
does not induce any I/O when it would not have happened.

This patch originally contained test changes to
dom/quota/test/gtest/TestEncryptedStream.cpp but they have now been split out
in consultation with the reviewer, :janv.  Specifically the test required the
StringInputStream to serialize its offset but there is additional work to be
done for the requested XPCOM changes to correspond to that.  The test changes
will land as part of that follow-up stack.

The changes were made in order to test serialization and ensure that we also
have coverage for not calling the side-effect including Available() method
prior to reads (in order to be consistent with what we see with http request
bodies when the socket process is in use).  If the fix is commented out and
testing with the test, the test will fail permutations starting with
`DOM_Quota_EncryptedStream_Parametrized/ParametrizedCryptTest.DummyCipherStrategy_SerializeRoundtrip`.

In order to stick with the TestEncryptedStream.cpp GTest not using a file input
stream, DecryptingInputStream needed to have its serialization logic
generalized to support other serializable streams in the test.  That change has
been retained.

Differential Revision: https://phabricator.services.mozilla.com/D241157
2025-03-26 01:31:06 +00:00
Kelsey Gilbert
c1c9462c2a Bug 1955115 - Respond to GetShaderPrecisionFormat from client instead of sync IPC. r=gfx-reviewers,ipc-reviewers,mccr8,lsalzman
Also:
* Add IPC ParamTraits/QueueParamTraits for std::tuple, std::pair, and
std::unordered_map.

Differential Revision: https://phabricator.services.mozilla.com/D242221
2025-03-25 00:04:05 +00:00
Stanca Serban
5bfe2957d9 Backed out changeset ae92bb24b819 (bug 1909470) for causing build bustages in CrashReporterInitArgs.cpp. CLOSED TREE 2025-03-25 01:48:35 +02:00
Chris Martin
8821fe2cda Bug 1909470 - Transfer auxv from child processes to crash reporter r=media-playback-reviewers,gsvelto,padenot
Differential Revision: https://phabricator.services.mozilla.com/D235710
2025-03-24 22:33:07 +00:00
Chris Peterson
953bc3fdcd Bug 1955801 - Fix non-unified build error in SharedMemoryPlatform_mach.cpp on macOS. r=afranchuk
Bug 1942129 added a use of PR_BEGIN_MACRO to SharedMemoryPlatform_mach.cpp, but only included the macro's definition (in prtypes.h) when building for iOS, not macOS.

/Users/chris/Code/mozilla/firefox-hg/ipc/glue/SharedMemoryPlatform_mach.cpp:67:5: error: unknown type name 'PR_BEGIN_MACRO'
   67 |     LOG_ERROR("Failed to make memory entry (%zu bytes). %s (%x)\n", aSize,
      |     ^
/Users/chris/Code/mozilla/firefox-hg/ipc/glue/SharedMemoryPlatform_mach.cpp:38:5: note: expanded from macro 'LOG_ERROR'
   38 |     PR_BEGIN_MACRO                                                 \
      |     ^

Differential Revision: https://phabricator.services.mozilla.com/D242646
2025-03-24 18:05:11 +00:00
Sandor Molnar
d2eabece72 Backed out changeset 7421430ae066 (bug 1955115) for causing assertion failures @ ClientWebGLContext.h CLOSED TREE 2025-03-23 13:05:17 +02:00