1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 19:17:44 +00:00

LibWeb: Add ComputedCSSSstyleDeclaration and support 2 properties :^)

getComputedStyle(element) now returns a ComputedCSSStyleDeclaration
object, which is a live view of the computed style of a given element.

This works by ComputedCSSStyleDeclaration being a wrapper around an
element pointer. When you ask it for a CSS property, it gets the latest
computed style values from the element and returns them as a
CSS::StyleProperty object.

This first cut adds support for computed 'color' and 'display'.

In case the element doesn't have a corresponding node in the layout
tree, we fall back to using specified style instead. This is achieved by
performing an on-the-fly style resolution for the individual element and
then grabbing the requested property from that resolved style.
This commit is contained in:
Andreas Kling 2021-09-12 20:05:29 +02:00
parent caa9e1f622
commit 8b27bc078c
4 changed files with 146 additions and 4 deletions

View file

@ -17,6 +17,7 @@ set(SOURCES
CSS/CSSStyleDeclaration.cpp
CSS/CSSStyleRule.cpp
CSS/CSSStyleSheet.cpp
CSS/ComputedCSSStyleDeclaration.cpp
CSS/DefaultStyleSheetSource.cpp
CSS/Length.cpp
CSS/MediaQueryList.cpp