ladybird/Documentation
Luke Wilde aacf9b08ed LibWeb: Generate IDL attributes for all supported CSS properties
The CSSOM spec tells us to potentially add up to three different IDL
attributes to CSSStyleDeclaration for every CSS property we support:
- A camelCased attribute, where a dash indicates the next character
  should be uppercase
- A camelCased attribute for every -webkit- prefixed property, with the
  first letter always being lowercase
- A dashed-attribute for every property with a dash in it.

Additionally, every attribute must have the CEReactions and
LegacyNullToEmptyString extended attributes specified on it.

Since we specify every property we support with Properties.json, we can
use that file to generate the IDL file and it's implementation.

We import it from the Build directory with the help of multiple import
base paths. Then, we add it to CSSStyleDeclaration via the mixin
functionality and inheriting the generated class in
CSSStyleDeclaration.
2024-11-14 19:50:22 +01:00
..
EditorConfiguration Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
HumanInterfaceGuidelines Documentation: Add section on Ellipses to Text.md 2023-05-23 05:59:49 +02:00
Images Documentation: Rename class name on Images/classes.png 2024-10-28 11:06:38 -04:00
AddNewIDLFile.md Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AdvancedBuildInstructions.md Meta: Change the default build directories to exclude "ladybird" prefix 2024-11-06 10:38:57 -07:00
BrowsingContextsAndNavigables.md Documentation: Flatten the Browser/ directory 2024-10-23 09:02:46 +02:00
BuildInstructionsLadybird.md Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
BuildProfilingInstructions.md Meta: Update Documentation and CI for repo move 2024-06-03 10:53:53 +02:00
CodingStyle.md Documentation: Suggest installing clang-format version 18 precisely 2024-10-14 15:54:53 -06:00
CSSGeneratedFiles.md LibWeb: Generate IDL attributes for all supported CSS properties 2024-11-14 19:50:22 +01:00
EventLoop.md Documentation: Remove references to serenity.sh and its build configs 2024-06-03 10:53:53 +02:00
FAQ.md Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
GettingStartedContributing.md Docs: Recommend “Web Browser Engineering” book in GettingStarted guide 2024-11-07 15:39:31 +01:00
LibWebFromLoadingToPainting.md Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
LibWebPatterns.md Documentation: Flatten the Browser/ directory 2024-10-23 09:02:46 +02:00
Patterns.md Documentation: Remove SerenityOS mentions from patterns reference 2024-08-17 11:51:06 -06:00
Porting.md Documentation: Add start of a Porting guide 2024-10-11 09:08:10 +02:00
ProcessArchitecture.md Documentation: Flatten the Browser/ directory 2024-10-23 09:02:46 +02:00
README.md Documentation: Flatten the Browser/ directory 2024-10-23 09:02:46 +02: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 Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
Troubleshooting.md Meta: Move the vcpkg installation/cache directories under Build 2024-11-06 10:38:57 -07: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