ladybird/Libraries/LibWebView
Timothy Flynn c011dc766f LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe
We currently create a separate headless-browser application to serve two
purposes:

1. Allow headless browsing to take a screenshot of a page or print its
   layout tree / internal text.
2. Run the LibWeb test framework.

This patch migrates (1) to the main Ladybird executable. The --headless
flag enables this mode. This matches the behavior of other browsers, and
means we have one less executable to ship at distribution time.

We want to avoid creating too many AppKit / Qt facilities in headless
mode. So this involves some shuffling of application init to ensure we
don't create them until after we've parsed the command line arguments.
Namely, we avoid creating the NSApp in AppKit and QCoreApplication in
Qt. Doing so also requires that we don't create the application event
loop until we've parsed the command line as well, because the loop we
create depends on whether we're creating those UI facilities.
2025-06-10 12:04:59 -04:00
..
EventLoop LibCore+LibWebView: Restore was_exit_requested to EventLoop 2025-04-30 11:12:23 -04:00
Plugins LibGfx: Rely on fontconfig(if enabled) for font directory resolution 2025-05-26 12:14:29 -06:00
WebUI Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Application.cpp LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
Application.h LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
Attribute.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Attribute.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Autocomplete.cpp LibWebView: Respect autocomplete response Content-Encoding headers 2025-04-17 07:51:43 -04:00
Autocomplete.h LibWebView: Respect autocomplete response Content-Encoding headers 2025-04-17 07:51:43 -04:00
BrowserProcess.cpp Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
BrowserProcess.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
CMakeLists.txt LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
ConsoleOutput.cpp LibDevTools+LibWebView+WebContent: Report exceptions to DevTools 2025-03-27 14:14:02 +00:00
ConsoleOutput.h LibDevTools+LibWebView+WebContent: Report exceptions to DevTools 2025-03-27 14:14:02 +00:00
CookieJar.cpp LibWebView: Remove uneeded URL valdity check in CookieJar 2025-04-19 07:18:43 -04:00
CookieJar.h LibWebView: Add method to remove all cookies globally 2025-01-05 13:58:27 +00:00
Database.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Database.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
DOMNodeProperties.cpp LibDevTools+LibWebView+WebContent: Selectively fetch DOM node properties 2025-03-20 09:01:26 +01:00
DOMNodeProperties.h LibDevTools+LibWebView+WebContent: Selectively fetch DOM node properties 2025-03-20 09:01:26 +01:00
Forward.h LibWebView: Forward declare WebView option structures 2025-06-10 12:04:59 -04:00
HeadlessWebView.cpp LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
HeadlessWebView.h LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
HelperProcess.cpp LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
HelperProcess.h LibWeb+LibWebView+Services: Add IPC for starting WebWorker of a type 2025-04-25 14:07:51 +02:00
MachPortServer.cpp Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
MachPortServer.h LibWebView+Services+UI: Move process helpers to LibWebView 2024-11-11 07:35:43 -05:00
Mutation.cpp LibWeb+LibWebView+WebContent: Inform the UI about DOM mutations 2025-03-08 01:25:55 +01:00
Mutation.h LibWeb+LibWebView+WebContent: Inform the UI about DOM mutations 2025-03-08 01:25:55 +01:00
Native.css Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Options.h LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
PageInfo.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Process.cpp Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
Process.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02: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 LibWeb+LibWebView+WebContent: Convert about:processes to a WebUI 2025-03-28 07:31:10 -04:00
ProcessManager.h LibWeb+LibWebView+WebContent: Convert about:processes to a WebUI 2025-03-28 07:31:10 -04: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: Support custom search engines 2025-04-06 13:45:10 +02:00
Settings.cpp LibWebView: Disable autocomplete when search is disabled 2025-05-11 11:48:02 -04:00
Settings.h LibWebView: Create a dedicated settings observer for the Application 2025-04-23 19:58:58 -04:00
SiteIsolation.cpp LibWebView: Keep javascript URL navigations in the same process 2025-03-16 10:59:41 -04:00
SiteIsolation.h LibWebView+WebContent: Add a command-line flag to disable site isolation 2025-03-12 02:00:54 +00:00
SourceHighlighter.cpp Everywhere: Replace miscellaneous references to the chrome process 2025-03-15 19:57:27 -04:00
SourceHighlighter.h LibWebView: Handle missing URL for view source 2025-03-04 16:24:19 -05: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 LibURL: Port create_with_file_scheme to Optional 2025-04-19 07:18:43 -04:00
URL.h LibWebView: Do not use AK::format to format search engine URLs 2025-04-06 13:45:10 +02:00
UserAgent.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
UserAgent.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Utilities.cpp LibWebView: Port to Windows 2025-03-19 20:25:24 -06:00
Utilities.h LibWebView+Services+UI: Move process helpers to LibWebView 2024-11-11 07:35:43 -05:00
ViewImplementation.cpp LibWebView: Do not make the client bitmap shareable for screenshots 2025-05-29 16:24:08 -04:00
ViewImplementation.h LibWeb+LibWebVew+WebContent+UI: Add IPC to retrieve the system clipboard 2025-05-02 17:46:16 -04:00
WebContentClient.cpp LibWeb+LibWebVew+WebContent+UI: Add IPC to retrieve the system clipboard 2025-05-02 17:46:16 -04:00
WebContentClient.h LibWeb+LibWebVew+WebContent+UI: Add IPC to retrieve the system clipboard 2025-05-02 17:46:16 -04:00
WebUI.cpp Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
WebUI.h Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00