Sam Atkins
af68bf862f
LibWeb: Resolve border[-color,-style,-width] properties
2023-05-27 20:55:00 +02:00
Sam Atkins
abdd4a8733
LibWeb: Add helper for creating resolved values for sided shorthands
...
...and use it for `margin` and `padding`.
So now, if all four margins are 12px, we output "12px" instead of "12px
12px 12px 12px". This matches the spec's requirement to use the smallest
non-ambiguous representation.
2023-05-27 20:55:00 +02:00
Sam Atkins
e8dc8f697b
LibWeb: Alphabetize style_value_for_property()
property list
2023-05-27 20:55:00 +02:00
Sam Atkins
ee1fc56f02
LibWeb: Resolve background-size property
2023-05-27 20:55:00 +02:00
Sam Atkins
d5fbec8a49
LibWeb: Resolve background-position[-x,-y] properties
2023-05-27 20:55:00 +02:00
Sam Atkins
3ed2c6da72
LibWeb: Resolve appearance property
2023-05-27 20:55:00 +02:00
Sam Atkins
db09f0e0c1
LibWeb: Resolve align-{content,items,self} properties
2023-05-27 20:55:00 +02:00
Sam Atkins
6a51ef9c9b
LibWeb: Resolve accent-color property
2023-05-27 20:55:00 +02:00
Sam Atkins
0374b42f20
LibWeb: Remove CSS::
prefix from ResolvedCSSStyleDeclaration.cpp code
...
These prefixes weren't adding anything except some visual clutter, in
code that already has A::Lot::Of::This.
2023-05-27 20:55:00 +02:00
Andreas Kling
a98f5c7251
LibWeb: Make resolved serialization of CSS display
prefer short form
...
Although we translate e.g `block` to `block flow` for internal use in
the engine, CSS-DISPLAY-3 tells us to use the short form in
serializations for compatibility reasons.
This adds 9 points to our score on https://html5test.com/ :^)
2023-05-27 16:43:35 +02:00
Andreas Kling
89ba7246dd
LibWeb: Don't resolve CSS property values for unconnected elements
...
While it's possible to getComputedStyle() on an unconnected element,
the resulting object is not supposed to have any values, since we can't
resolve style without a document root anyway.
This fixes a crash on https://bandcamp.com
2023-05-10 17:27:07 +02:00
Sam Atkins
294f5b109f
LibWeb: Propagate errors from ResolvedCSSStyleDeclaration
...
Though not from ResolvedCSSStyleDeclaration::property() just yet.
2023-05-06 08:07:28 +02:00
Sam Atkins
d16600a48b
LibWeb: Propagate errors from StyleValue construction
...
Turns out we create a lot of these, mostly from places that don't return
ErrorOr. The yak stack grows.
2023-05-06 08:07:28 +02:00
Andreas Kling
75d603c31b
LibWeb: Support getting the grid-template-areas from resolved style
...
Without this, we crash when opening the DOM inspector.
2023-05-01 11:23:40 +02:00
martinfalisse
22202715fc
LibWeb: Parse grid-template
property
2023-04-30 05:56:10 +02:00
martinfalisse
bebf4363db
LibWeb: Change name of GridTrackSizeListStyleValue
...
Change the name of GridTrackSizeStyleValue to
GridTrackSizeListStyleValue which is more accurate.
2023-04-30 05:56:10 +02:00
Sam Atkins
7add4f2d2f
LibWeb: Add some font-related properties to the resolved style
2023-04-29 16:23:50 +02:00
Sam Atkins
e3b557fa64
LibWeb: Stop creating auto
LengthStyleValue for resolved style
2023-04-19 18:25:18 +02:00
Karol Kosek
e8fe35b1e5
LibWeb: Resolve more background-related properties
...
This change adds rules for background-attachment, background-clip,
background-image, background-origin, and background-repeat.
As a result, Window.getComputedStyle() will no longer return empty
strings on these properties after a page is loaded, and the background
shorthand will show the resolved values instead of the default ones for
these values. :^)
2023-04-14 12:44:59 +01:00
MacDue
bed55ac669
LibWeb: Parse and plumb background-position-x/y
...
This parses the new background-position-x/y longhands and properly
hooks up them up. This requires converting PositionStyleValue to
just contain two EdgeStyleValues so that it can be easily expanded
into the longhands.
2023-04-03 07:10:33 +02:00
Sam Atkins
1280d70d74
LibWeb: Split CalculatedStyleValue out of StyleValue.{h,cpp}
2023-03-30 21:29:50 +02:00
Sam Atkins
62a8cf2bb8
LibWeb: Let CSS::Size contain a CalculatedStyleValue
...
Technically this was already true, but now we explicitly allow it
instead of that calc value being hidden inside a Length or Percentage.
2023-03-30 21:29:50 +02:00
Sam Atkins
ba30f298f9
LibWeb: Stop returning the left padding for resolved padding-bottom
...
I accidentally broke this 8 months ago and nobody noticed. 😅
2023-03-27 14:27:09 +01:00
Sam Atkins
4c54c5d3dd
LibWeb: Split StyleValueList out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
3a2de67c7b
LibWeb: Split RectStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
cd06b1341b
LibWeb: Split TransformationStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
08fa513887
LibWeb: Split ShadowStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
b1ccd30b02
LibWeb: Split PositionStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
4b711932cc
LibWeb: Split PercentageStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
7f6add1c6e
LibWeb: Split NumericStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
9a84151169
LibWeb: Split LengthStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
1591352531
LibWeb: Split InitialStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
76de017a51
LibWeb: Split IdentifierStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
d39788556a
LibWeb: Split GridTrackSizeStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
486ef3df7f
LibWeb: Split GridTrackPlacementStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
402845fe00
LibWeb: Split GridTrackPlacementShorthandStyleValue out of StyleValue
2023-03-25 16:56:04 +00:00
Sam Atkins
675cb3b9da
LibWeb: Split GridAreaShorthandStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
77b2826402
LibWeb: Split ColorStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
66bc816284
LibWeb: Split BorderRadiusStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
25114c159d
LibWeb: Split BorderRadiusShorthandStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
1c03bc7a6f
LibWeb: Split BorderStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
52cd0b2f47
LibWeb: Split BackgroundRepeatStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
92a0d4c0af
LibWeb: Split BackgroundStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Andreas Kling
7e76a51cb0
LibWeb: Rename Layout::InitialContainingBlock to Layout::Viewport
...
The name "initial containing block" was wrong for this, as it doesn't
correspond to the HTML element, and that's specifically what it's
supposed to do! :^)
2023-02-28 12:21:56 +01:00
Andreas Kling
f11899f885
LibWeb+LibIDL: Fix (or paper over) various const-correctness issues
...
There's definitely stuff to iterate on here, but this takes care of
making the libraries compile with stricter RP and NNRP.
2023-02-21 00:54:04 +01:00
MacDue
3676f5085e
LibWeb: Replace RefPtr
with ValueComparingRefPtr
in StyleValue
...
Like the name suggests this pointer type compares its pointees by value
rather than just by the pointer. This is needed for the defaulted
struct Properties equality operator.
This commit also contains a few changes to StyleValue such as replacing
the operator==()s with a .equals() again. This is done to avoid the new
reversed operator==()s ambiguity in C++20.
2023-02-20 10:50:20 +01:00
Kenneth Myhra
8fbd43cb27
LibWeb: Make factory method of CSS::ResolvedCSSStyleDeclaration fallible
2023-02-18 00:52:47 +01:00
Timothy Flynn
b75b7f0c0d
LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate
...
Callers that are already in a fallible context will now TRY to allocate
cells. Callers in infallible contexts get a FIXME.
2023-01-29 00:02:45 +00:00
martinfalisse
9bc001f410
LibWeb: Parse grid-area
CSS property
2023-01-21 14:35:00 +01:00
martinfalisse
64c353f11c
LibWeb: Parse border-collapse
property for HTML table
2023-01-03 20:02:47 +01:00