serenity/Meta
Luke Wilde 772be9dec0 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.

(cherry picked from commit aacf9b08ed8c4286c84145b52fa70f399ed0bdff;
amended to fix tiny conflict in libweb_generators.cmake, and to change
the default value of all gap-related properties from 'auto' to 'normal'
since serenity does not yet have LadybirdBrowser/ladybird#2253 and
cherry-picking that has a pretty long dependency tree. It's easy to
update the test once that is cherry-picked)
2024-11-23 22:07:22 -05:00
..
CMake LibWeb: Generate IDL attributes for all supported CSS properties 2024-11-23 22:07:22 -05:00
gn Kernel/aarch64: Use generic kprintf.cpp 2024-11-23 19:29:50 +01:00
HeaderCheck
Lagom LibWeb: Generate IDL attributes for all supported CSS properties 2024-11-23 22:07:22 -05:00
Screenshots
ShellCompletions/zsh
Websites/man.serenityos.org Meta: Move SerenityOS.org website to separate repository 2024-11-02 02:02:57 +01:00
analyze-qemu-coverage.sh
build-image-extlinux.sh
build-image-grub.sh
build-image-limine.sh
build-image-qemu.sh Meta: Combine boot drive environment variables into SERENITY_BOOT_DRIVE 2024-08-07 18:30:06 -04:00
build-manpages-website.sh
build-native-partition.sh
build-root-filesystem.sh Meta: Remove /mod 2024-08-10 10:13:52 -04:00
check-ak-test-files.sh
check-debug-flags.sh Meta: Make check-debug-flags.sh runnable in Bash 3.2 2024-11-05 06:05:19 -05:00
check-emoji.py
check-idl-files.py Meta: Add script for checking WebIDL files 2024-11-10 21:19:33 -05:00
check-markdown.sh
check-newlines-at-eof.py Meta: Ignore LibWeb text tests for newline-at-eof check 2024-11-21 22:16:48 -05:00
check-png-sizes.sh
check-style.py Kernel/HID: Add support for virtio input devices 2024-05-23 11:16:57 -06:00
convert-markdown-links.lua
debug-kernel.sh Meta: Unbreak kernel debugging script after Prekernel/Kernel merge 2024-07-26 14:25:49 -04:00
download_file.py Meta: Try to download files with gzip compression in download_file.py 2024-11-21 10:08:16 +01:00
embed_as_string.py Meta: Make embed_as_string_view.py produce Strings instead 2024-11-15 23:10:03 -05:00
emoji-file-list.txt Base: Add 3 emojis 2024-10-09 19:55:11 -04:00
export-argsparser-manpages.sh
extlinux.conf
find_compiler.sh Meta: Fix detection of default compiler versions 2024-05-23 00:56:37 -06:00
generate-embedded-resource-assembly.sh
generate-libwasm-spec-test.py LibWasm: Ignore tests that check that we don't support 2+ memories 2024-07-16 17:35:43 +02:00
generate-libwasm-spec-test.sh
grub-ebr.cfg Meta: Unbreak default grub configs after Prekernel/Kernel merge 2024-05-27 17:35:42 +02:00
grub-gpt.cfg Meta: Unbreak default grub configs after Prekernel/Kernel merge 2024-05-27 17:35:42 +02:00
grub-mbr.cfg Meta: Unbreak default grub configs after Prekernel/Kernel merge 2024-05-27 17:35:42 +02:00
import-wpt-test.py Meta+Tests: Substitute Ahem font path in import-wpt-test.py 2024-11-21 22:16:48 -05:00
install-ports-tree.sh
jbig2_to_pdf.py
label-pull-requests.js
lb-cherry-picks.py Meta: Add more commits and PRs to lb-cherry-picks.py 2024-11-17 15:05:50 -05:00
limine.cfg
lint-ci.sh Meta: Add script for checking WebIDL files 2024-11-10 21:19:33 -05:00
lint-clang-format.sh Kernel/HID: Add support for virtio input devices 2024-05-23 11:16:57 -06:00
lint-commit.sh
lint-executable-resources.sh
lint-gml-format.sh
lint-gn.sh
lint-keymaps.py
lint-ports.py Meta: Fix Ports table linter when there's only one space after the link 2024-10-04 10:46:42 -04:00
lint-prettier.sh Meta: Enforce Prettier formatting of Markdown files 2024-10-04 10:46:42 -04:00
lint-python.sh
lint-shell-scripts.sh Userland: Move Shell code to be in a library directory 2024-10-04 10:56:27 +02:00
new-project.sh
refresh-serenity-qtcreator.sh
run.py Kernel/aarch64: Use generic kprintf.cpp 2024-11-23 19:29:50 +01:00
run.sh
serenity.sh Meta: Delete jakt toolchain in delete_toolchain too 2024-11-22 19:43:12 +01:00
serenity_gdb.py
shell_include.sh Meta: Make disk_usage() not depend on GNU du 2024-07-01 23:26:18 +02:00
test_pdf.py
toot-commits.js
tweet-commits.js