ladybird/Documentation
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
..
EditorConfiguration Everywhere: Document use of ladybird.py over ladybird.sh 2025-05-29 16:24:17 -04:00
HumanInterfaceGuidelines Documentation: Remove SerenityOS references where appropriate 2024-11-23 14:29:48 +01:00
Images Documentation: Add a document describing our DevTools server 2025-02-19 08:45:51 -05:00
AddNewIDLFile.md Meta: Clarify what IDL files need adding to idl_files.cmake 2025-02-10 16:07:18 +00:00
AdvancedBuildInstructions.md Everywhere: Document use of ladybird.py over ladybird.sh 2025-05-29 16:24:17 -04:00
BrowsingContextsAndNavigables.md Documentation: Flatten the Browser/ directory 2024-10-23 09:02:46 +02:00
BuildInstructionsLadybird.md Everywhere: Document use of ladybird.py over ladybird.sh 2025-05-29 16:24:17 -04:00
BuildProfilingInstructions.md Meta: Update Documentation and CI for repo move 2024-06-03 10:53:53 +02:00
CodingStyle.md Meta: Switch to clang-format-20 as the standard formatter 2025-05-14 02:01:59 -06:00
CSSGeneratedFiles.md LibWeb: Support nested shorthands when serializing CSS declaration 2025-06-09 10:43:50 +01:00
CSSProperties.md LibWeb/CSS: Move property code from CSSStyleDeclaration to *Properties 2025-03-19 13:53:00 +00:00
DevTools.md Documentation: Remove now-obsolete patch from Servo's DevTools parser 2025-04-17 12:12:50 -04:00
EventLoop.md Documentation: Remove references to serenity.sh and its build configs 2024-06-03 10:53:53 +02:00
FAQ.md FAQ: Add question and answer about ad blocker 2025-04-17 20:00:51 +02:00
GettingStartedContributing.md Documentation: Mention TODOs and FIXMEs as potential sources of work 2025-01-05 12:02:16 +01:00
LibWebFromLoadingToPainting.md Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
LibWebPatterns.md LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Patterns.md Documentation: Remove SerenityOS mentions from patterns reference 2024-08-17 11:51:06 -06:00
Porting.md Everywhere: Replace miscellaneous references to the chrome process 2025-03-15 19:57:27 -04:00
ProcessArchitecture.md Documentation: Remove SerenityOS references where appropriate 2024-11-23 14:29:48 +01:00
README.md Documentation: Document how to add a new CSS property 2025-02-26 11:32:14 +00:00
SmartPointers.md Documentation: Remove extra <hr>s from the smart pointers reference 2024-08-17 11:51:06 -06:00
StringFormatting.md Documentation: Remove references to serenity.sh and its build configs 2024-06-03 10:53:53 +02:00
Testing.md LibWebView+WebDriver+UI: Migrate headless browsing to main Ladybird exe 2025-06-10 12:04:59 -04:00
Troubleshooting.md Documentation: Refer to specific compiler versions in fewer places 2025-05-14 02:01:59 -06:00

Ladybird Documentation

Ladybird development moves quickly, so some of these might be out of date. Please let us know if something here is wrong, or submit a PR with any additions or corrections! If you have any questions that are not answered here or in the FAQ, you are welcome to ask on Discord.

Building and Running

Configuring Editors

Development

Browser/LibWeb