ladybird/Libraries/LibWebView
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
..
Plugins LibWeb: Flatten Platform::FontPlugin by merging WebView::FontPlugin 2026-02-28 15:32:14 +01:00
WebUI Base+LibWebView: Organize the settings page into tabs 2026-03-05 10:00:32 -05:00
Application.cpp Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
Application.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
Attribute.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Attribute.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Autocomplete.cpp LibHTTP+LibWeb+RequestServer: Move Fetch's HTTP header infra to LibHTTP 2025-11-27 14:57:29 +01:00
Autocomplete.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
BrowserProcess.cpp Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
BrowserProcess.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
CMakeLists.txt LibWeb: Flatten Platform::FontPlugin by merging WebView::FontPlugin 2026-02-28 15:32:14 +01:00
ConsoleOutput.cpp LibJS: Add source locations to console.trace() 2026-02-06 11:58:07 +00:00
ConsoleOutput.h LibJS: Add source locations to console.trace() 2026-02-06 11:58:07 +00:00
CookieJar.cpp LibHTTP+Everywhere: Move the cookie implementation to LibHTTP 2026-02-10 12:21:20 +01:00
CookieJar.h LibHTTP+Everywhere: Move the cookie implementation to LibHTTP 2026-02-10 12:21:20 +01:00
DOMNodeProperties.cpp LibDevTools+LibWebView+WebContent: Selectively fetch DOM node properties 2025-03-20 09:01:26 +01:00
DOMNodeProperties.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
FileDownloader.cpp LibWeb+RequestServer: Attach HTTP cookie headers from RequestServer 2026-02-10 12:21:20 +01:00
FileDownloader.h LibWebView+UI: Add a context menu item to download images 2026-02-05 07:27:34 -05:00
Forward.h LibDatabase+LibWebView: Extract our SQLite wrapper to its own library 2025-10-14 13:40:33 +02:00
HeadlessWebView.cpp Everywhere: Add an is_fullscreen parameter to set_viewport 2026-03-17 18:58:37 -05:00
HeadlessWebView.h test-web: Reset viewport size after each test 2026-02-23 18:44:26 +00:00
HelperProcess.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
HelperProcess.h LibWeb+LibWebView+WebContent: Send service sockets over IPC channel 2026-03-12 20:32:55 +01:00
MachPortServer.cpp Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
MachPortServer.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
Menu.cpp LibWebView+UI: Add structures to hold context menu and action data 2025-09-11 14:23:45 -04:00
Menu.h LibWeb+LibWebView+UI: Add a context menu item to toggle fullscreen state 2026-03-01 15:41:43 -06:00
Mutation.cpp LibWeb+LibWebView+WebContent: Inform the UI about DOM mutations 2025-03-08 01:25:55 +01:00
Mutation.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Native.css Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Options.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
PageInfo.h test-web: Dump stacking context tree in layout test output 2025-07-09 14:36:08 +02:00
Process.cpp Everywhere: Replace Unix socket IPC transport with Mach ports on macOS 2026-03-23 18:50:48 +01:00
Process.h test-web: Add results directory and live terminal display 2026-01-13 21:05:58 +01:00
ProcessHandle.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ProcessHandle.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ProcessManager.cpp LibWebView: Defer process cleanup to avoid signal handler deadlock 2026-01-13 21:05:58 +01:00
ProcessManager.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
ProcessType.h LibWebView: Rename the Chrome process type to Browser 2025-03-15 19:57:27 -04:00
SearchEngine.cpp LibWebView: Support custom search engines 2025-04-06 13:45:10 +02:00
SearchEngine.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Settings.cpp Base+LibWebView: Organize the settings page into tabs 2026-03-05 10:00:32 -05:00
Settings.h Base+LibWebView: Organize the settings page into tabs 2026-03-05 10:00:32 -05:00
SiteIsolation.cpp LibWebView: Keep javascript URL navigations in the same process 2025-03-16 10:59:41 -04:00
SiteIsolation.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
SourceHighlighter.cpp LibJS: Remove C++ lexer, use Rust tokenizer for syntax highlighting 2026-03-19 21:55:10 -05:00
SourceHighlighter.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
StorageJar.cpp LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
StorageJar.h LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
StorageSetResult.h LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
UIProcessClient.ipc Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
UIProcessServer.ipc Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
URL.cpp LibWebView: Add a bit of explicit handling for "localhost:port" URLs 2025-11-08 11:14:44 -05:00
URL.h LibWebView: Return a ByteString from WebView::url_text_to_copy 2025-09-11 14:23:45 -04:00
UserAgent.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
UserAgent.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Utilities.cpp Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
Utilities.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
ViewImplementation.cpp Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
ViewImplementation.h Everywhere: Add an is_fullscreen parameter to set_viewport 2026-03-17 18:58:37 -05:00
WebContentClient.cpp WebContent: Remove the sync result from did_request_fullscreen_window 2026-03-17 18:58:37 -05:00
WebContentClient.h WebContent: Remove the sync result from did_request_fullscreen_window 2026-03-17 18:58:37 -05:00
WebUI.cpp LibIPC: Return TransportHandle directly from create_paired() 2026-03-14 18:25:18 +01:00
WebUI.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00