ladybird/Libraries/LibIPC
Aliaksandr Kalenik c6d740ea41 Everywhere: Remove dynamic Mach bootstrap registration on macOS
Registering multiple Mach port names with the bootstrap server at
runtime is not how macOS expects it to be used — the bootstrap server
is meant for static services, and the only reason we used it originally
was so child processes could reach back to the UI process.

Remove bootstrap_transport_over_socket(), which had both sides register
dynamic names with the bootstrap server and exchange them over a socket.
Instead, WebDriver and BrowserProcess connections now go through
MachPortServer instances directly. When a non-child process contacts a
MachPortServer, the server creates a port pair on demand (detected via
sysctl ppid check) and returns the local half immediately. This keeps
bootstrap server usage limited to the one original case: child processes
looking up their parent's MachPortServer.

WebDriver Session now runs its own MachPortServer per session.
--webdriver-content-path becomes --webdriver-mach-server-name on macOS.
Spare WebContent launches are skipped when a WebDriver session is active
to avoid bootstrap races.
2026-03-23 18:50:48 +01:00
..
Attachment.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
Attachment.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
AttachmentMachPort.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
AutoCloseFileDescriptor.cpp Everywhere: Remove LibCore/System.h includes from header files 2025-12-04 15:40:46 +00:00
AutoCloseFileDescriptor.h Everywhere: Remove LibCore/System.h includes from header files 2025-12-04 15:40:46 +00:00
CMakeLists.txt Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
Concepts.h Libraries: Move #pragma once above include headers 2026-03-22 14:05:44 +01:00
Connection.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Connection.h LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
ConnectionFromClient.h LibIPC: Simplify IPC read hook 2025-10-21 09:31:22 +02:00
ConnectionToServer.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
Decoder.cpp LibIPC: Remove unused header in Decoder 2026-02-23 12:15:23 +01:00
Decoder.h LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Encoder.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Encoder.h LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
File.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
File.h Everywhere: Remove LibCore/System.h includes from header files 2025-12-04 15:40:46 +00:00
FileWindows.cpp LibCore/LibIPC/Meta: Stop using deprecated Winsock functions 2026-02-02 10:35:11 +01:00
Forward.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
HandleType.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
Limits.h LibIPC: Move IPC message limits to a shared Limits.h header 2026-01-22 17:38:15 +01:00
Message.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
Message.h LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
MessageWindows.cpp LibIPC+LibWeb: Introduce IPC::Attachment abstraction 2026-03-13 20:22:50 +01:00
SingleServer.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
Stub.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Transport.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportBootstrapMach.cpp Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
TransportBootstrapMach.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
TransportHandle.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportHandle.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportMachPort.cpp Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
TransportMachPort.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
TransportSocket.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportSocket.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportSocketWindows.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
TransportSocketWindows.h Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00