test mirror

Jelle Raaijmakers 86b831750d LibWeb: Layout children a bit earlier in BlockFormattingContext 1 day ago
.devcontainer dda1573746 Devcontainer: Set VCPKG_FORCE_SYSTEM_BINARIES when building cache 1 month ago
.github 2794ed0c73 CI: Do not cancel in-progress JS artifact builds 3 days ago
AK a83145c751 AK: Don't assert things about active union members in StringBase 4 days ago
Base ed265b568d LibWebView+WebContent+UI: Migrate to the new autoplay settings 1 day ago
Documentation 88e11eea2d LibWeb: Implement functional pseudo-element parsing 6 days ago
Libraries 86b831750d LibWeb: Layout children a bit earlier in BlockFormattingContext 9 hours ago
Meta ed265b568d LibWebView+WebContent+UI: Migrate to the new autoplay settings 1 day ago
Services 6f1710121d LibWeb: Remove OOM handling from the AutoplayAllowlist 1 day ago
Tests 04ba375cc7 LibWeb: Only set line builder's block offset if clearance increases it 9 hours ago
Toolchain 685cc1aae8 Everywhere: Remove Nix build support 6 days ago
UI ed265b568d LibWebView+WebContent+UI: Migrate to the new autoplay settings 1 day ago
Utilities 46a5710238 LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 6 days ago
.clang-format 66a89bd695 Meta: Support using clang-format on Objective-C++ files 1 year ago
.clang-tidy 94a8b635c9 Meta: Disable clang-tidy “implicit-bool-conversion” check 2 months ago
.clangd 4ffca2089e Meta: Change the default build directories to exclude "ladybird" prefix 4 months ago
.editorconfig c786d2126a Meta: Add .editorconfig 2 years ago
.gitattributes 681a2ac14e LibGfx: Remove support for the various "portable" image formats 9 months ago
.gitignore 93712b24bf Everywhere: Hoist the Libraries folder to the top-level 4 months ago
.gn 411f5af0b8 Meta: Automatically generate a compilation database for clangd 1 year ago
.mailmap cc4b3cbacc Meta: Update my e-mail address everywhere 5 months ago
.pre-commit-config.yaml 93954dcd9a Meta: Replace deprecated pre-commit stage name 5 months ago
.prettierignore 93712b24bf Everywhere: Hoist the Libraries folder to the top-level 4 months ago
.prettierrc 54036d660a Meta: Move prettier config files to the root of the repository 4 years ago
.swift-format 1bf4a225bd Meta: Add swift-format configuration 8 months ago
.ycm_extra_conf.py 51f5da00d7 Meta: Make YCM return flags as Python list 8 months ago
CMakeLists.txt 62cd358fab Meta: Link with OpenSSL explicitly 1 month ago
CMakePresets.json 13338a9532 CMake: Ensure build and test presets for Distribution and Debug 1 month ago
CODE_OF_CONDUCT.md 45a3360a62 Meta: Add code of conduct (from the Ruby community) 6 months ago
CONTRIBUTING.md 66732d2203 Meta: Switch to clang-format-19 as the standard formatter 3 months ago
ISSUES.md 6fc62c1538 Docs: Add info about --enable-idl-tracing flag 2 months ago
LICENSE ec8121d9b6 Meta: Update license year 1 month ago
README.md 03b9e555c0 Libraries: Remove LibArchive 4 months ago
SECURITY.md 51912bf0da Documentation: Make updates to align better with new issue template 5 months ago
vcpkg-configuration.json a3e24163aa Meta: Add overlay port for vulkan-loader 8 months ago
vcpkg.json 3d3e77cd3e Meta: Add explicit vcpkg dependency for zlib 1 week ago

README.md

Ladybird

Ladybird is a truly independent web browser, using a novel engine based on web standards.

[!IMPORTANT] Ladybird is in a pre-alpha state, and only suitable for use by developers

Features

We aim to build a complete, usable browser for the modern web.

Ladybird uses a multi-process architecture with a main UI process, several WebContent renderer processes, an ImageDecoder process, and a RequestServer process.

Image decoding and network connections are done out of process to be more robust against malicious content. Each tab has its own renderer process, which is sandboxed from the rest of the system.

At the moment, many core library support components are inherited from SerenityOS:

  • LibWeb: Web rendering engine
  • LibJS: JavaScript engine
  • LibWasm: WebAssembly implementation
  • LibCrypto/LibTLS: Cryptography primitives and Transport Layer Security
  • LibHTTP: HTTP/1.1 client
  • LibGfx: 2D Graphics Library, Image Decoding and Rendering
  • LibUnicode: Unicode and locale support
  • LibMedia: Audio and video playback
  • LibCore: Event loop, OS abstraction layer
  • LibIPC: Inter-process communication

How do I build and run this?

See build instructions for information on how to build Ladybird.

Ladybird runs on Linux, macOS, Windows (with WSL2), and many other *Nixes.

How do I read the documentation?

Code-related documentation can be found in the documentation folder.

Get in touch and participate!

Join our Discord server to participate in development discussion.

Please read Getting started contributing if you plan to contribute to Ladybird for the first time.

Before opening an issue, please see the issue policy and the detailed issue-reporting guidelines.

The full contribution guidelines can be found in CONTRIBUTING.md.

License

Ladybird is licensed under a 2-clause BSD license.