Timothy Flynn
b3d033f027
LibWeb: Declare overflow_value_makes_box_a_scroll_container as static
...
It is only used in this file, and not being declared static gives a "no
previous declaration" error.
2023-03-26 10:38:05 -04:00
Cameron Youell
f251ff0521
LibWeb: Fix non return in overflow value check
2023-03-26 15:03:43 +01:00
Andreas Kling
2699f226fb
LibWeb: Don't compute main axis "auto min-size" for flex item cross axis
...
The "flex item automatic minimum size in the main axis is the
content-based minimum size" behavior should only apply to flex item
sizes in the main axis. There was one case where we incorrectly applied
this behavior in the cross axis
2023-03-26 15:14:35 +02:00
Andreas Kling
1f7e6cc022
LibWeb: Use zero automatic minimum size for scroll-container flex items
...
The "flex item automatic minimum size in the main axis is the
content-based minimum size" behavior should only apply to flex items
that aren't scroll containers. We were doing it for all flex items.
2023-03-26 15:14:35 +02:00
Andreas Kling
8038824211
LibWeb: Add Layout::Box::is_scroll_container()
...
The computed `overflow` property values determine whether a box is a
scroll container or not, so let's have a simple helper for asking this.
2023-03-26 15:14:35 +02:00
Andreas Kling
3932afdc6a
LibWeb: Remove unnecessary repeat of partial flex layout algorithm
...
When calculating one of the intrinsic sizes for a flex container, we
already go through the flex layout algorithm.
There's no need to perform some of the algorithm steps a second time.
This is a relic from an earlier time when we tried to bail early from
the layout algorithm in the intrinsic sizing case. Now that we go
through the whole thing anyway, this is much simpler. :^)
2023-03-26 15:14:35 +02:00
MacDue
f96747b722
LibWeb: Check all conditions of radio button groups
...
This fixes a few issues I noticed when playing around with radio
buttons. Previously radio buttons would uncheck checkboxes with
the same "name" attribute, uncheck inputs across different forms,
and treated no name attribute as a group.
This now implements the radio button group check from the HTML spec.
2023-03-26 15:09:57 +02:00
Cameron Youell
f17bee0cb5
LibWeb: Fix mistype in LayoutState
2023-03-26 13:28:07 +02:00
Andreas Kling
b3b9ac6201
LibWeb: Add FIXME whining to debug log if layout produces negative sizes
...
Negative width/height sizes are not allowed in CSS, so if our layout
algorithm resolves something to a negative size, we have boogs.
Instead of crashing or rendering something very wrong, we now clamp the
values to 0 and whine on the debug log so that someone can go and figure
out how we got the negative values in the first place. :^)
2023-03-25 19:41:31 +01:00
Andreas Kling
4bf10674fa
LibWeb: Don't allow resolved height of abspos elements to become negative
...
We have to clamp the resulting height to 0 when solving for it.
2023-03-25 19:41:31 +01:00
Andreas Kling
3f6f3966b9
LibWeb: Don't allow resolved width of abspos elements to become negative
...
We have to clamp the resulting width to 0 when solving for it.
2023-03-25 19:41:31 +01:00
Andreas Kling
8f311c61af
LibWeb: Add out-of-flow boxes to anonymous wrapper block when possible
...
If the previous sibling of an out-of-flow box has been wrapped in an
anonymous block, we now stuff the out-of-flow box into the anonymous
block as well.
Co-authored-by: Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
2023-03-25 19:41:31 +01:00
Andreas Kling
a15a44cfc8
LibWeb: Don't use image source URL as backup alt
attribute
...
This was a non-standard behavior of ours that broke layout on many pages
where an image failed to load for some reason.
2023-03-25 19:41:31 +01:00
Sam Atkins
7d08d5ad6f
LibWeb: Remove now-unused includes from StyleValue.cpp
...
And add them to all the places that relied on getting them transitively.
2023-03-25 16:56:04 +00: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
4bf59c59bb
LibWeb: Split UnsetStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
1d948f7462
LibWeb: Split UnresolvedStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
87b7efa109
LibWeb: Split TimeStyleValue 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
66cb7edffb
LibWeb: Split TextDecorationStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
9b834058ee
LibWeb: Split StringStyleValue 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
6cedf5e05b
LibWeb: Split ResolutionStyleValue 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
f98634586e
LibWeb: Split OverflowStyleValue 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
fba2dacc7a
LibWeb: Split ListStyleStyleValue 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
44c9a5b648
LibWeb: Split InheritStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
e61a5ad180
LibWeb: Split AbstractImageStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
0f04fa2e6e
LibWeb: Split RadialGradientStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
c8ffd82cb7
LibWeb: Split LinearGradientStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
f30b042890
LibWeb: Split ConicGradientStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
35b240c87d
LibWeb: Split ImageStyleValue 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
4dc99e49a1
LibWeb: Split GridTemplateAreaStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
015885f068
LibWeb: Split FrequencyStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
87f920a299
LibWeb: Split FontStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
e24679f870
LibWeb: Split FlexFlowStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
273b9b4ca1
LibWeb: Split FlexStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
89ed8e59f9
LibWeb: Split FilterValueListStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Sam Atkins
9436b7de83
LibWeb: Split ContentStyleValue 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