Timothy Flynn
7df48756d6
LibWeb: Use SystemColor::button_text for ButtonText CSS values
2023-08-26 19:24:22 +02:00
Sam Atkins
848ec538c6
LibWeb: Implement <system-color>
and <deprecated-color>
keywords
...
The spec allows for these either to be based on the OS, or to be defined
by the browser. Looking at the other browser engines, there's a mix of
the two options. Since we've had issues with using OS colors as
defaults, let's use hard-coded colors for now. Some of these are based
on the definitions in
https://html.spec.whatwg.org/multipage/rendering.html
2023-08-25 20:30:20 +01:00
Sam Atkins
1dcd63be05
LibWeb: Deduplicate "ident is color" check
...
Reuse the check from IdentifierStyleValue in the CSS Parser, instead of
duplicating it. This might not be the ideal place to put it, but it
works for now.
2023-08-25 20:30:20 +01:00
Sam Atkins
c171810030
LibWeb: Make CalculatedStyleValue::dump() infallible
2023-08-22 17:51:48 +01:00
Sam Atkins
7fe97ee6c5
LibWeb: Make StyleValue::to_string() infallible
2023-08-22 17:51:48 +01:00
Sam Atkins
ccfe197e5a
LibWeb: Make serializing CSS Parser types infallible
2023-08-22 17:51:48 +01:00
Sam Atkins
2754c16e97
LibWeb: Make serializing GridTrack classes infallible
2023-08-22 17:51:48 +01:00
Sam Atkins
6bee81cfb6
LibWeb: Make serializing basic CSS types infallible
2023-08-22 17:51:48 +01:00
Sam Atkins
b5893ee115
LibWeb: Make Serialize functions infallible
2023-08-22 17:51:48 +01:00
Sam Atkins
fae05faf7f
LibWeb: Rename StyleValue::Type::Url -> URL
...
This matches the URLStyleValue name. (This will be important shortly.)
2023-08-20 17:59:36 +02:00
Andreas Kling
703c2bb06e
LibWeb: Add support for parsing grid-auto-flow
CSS property
...
Co-Authored-By: Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
2023-08-20 15:36:18 +02:00
Sam Atkins
c20df751c9
LibWeb: Use correct NumericLimits in CalculatedStyleValue
2023-08-20 14:25:18 +01:00
Sam Atkins
eca144a75e
LibWeb: Make absolutizing StyleValues infallible
2023-08-19 17:34:22 +02:00
Sam Atkins
2038cb3c81
LibWeb: Make CSS math function parsing infallible
2023-08-19 17:34:22 +02:00
Sam Atkins
8a8cc18cf4
LibWeb: Make StyleValue constructors infallible
2023-08-19 17:34:22 +02:00
Aliaksandr Kalenik
934afcb9d5
LibWeb: Make HTML::SharedImageRequest GC allocated
...
This allows to partially solve the problem of cyclic dependency between
HTMLImageElement and SharedImageRequest that prevents all image
elements from being deallocated.
2023-08-18 15:42:44 +02:00
MacDue
fa7a2269cd
LibWeb: Remove ±1 translations from RadialGradientStyleValue
...
These were added when Gfx::Rect was made endpoint exclusive, however,
for this code an offset of ±1 makes no visible difference (but makes the
code look a little confusing).
2023-08-18 05:26:04 +02:00
Sam Atkins
631a988a57
LibWeb: Allow any valid <color>
in CSS gradients
...
We now keep the color value as a StyleValue up until we go to paint the
gradient, which makes `currentColor` work, along with any other color
values that can't be immediately converted into a `Gfx::Color` while
parsing.
2023-08-16 14:51:12 +02:00
MacDue
5f0d3c083f
LibWeb: Allow (explicitly) converting CSSPixels to float and int
...
...and remove some unnecessary cast chains.
2023-08-08 14:58:26 +02:00
Lucas CHOLLET
3f35ffb648
Userland: Prefer _string
over _short_string
...
As `_string` can't fail anymore (since 3434412
), there are no real
benefits to use the short variant in most cases.
2023-08-08 07:37:21 +02:00
Aliaksandr Kalenik
c72a2f9e46
LibWeb/CSS: Serialize short version if possible for "place-" properties
...
Output short version when both parts of place-content, place-items,
place-self are the same.
2023-08-06 08:26:36 +02:00
Aliaksandr Kalenik
da2cd73bcf
LibWeb: Add place-self css property support
2023-08-06 08:26:36 +02:00
Andreas Kling
8f29bdb62c
LibWeb: Implement the CSS revert
keyword
...
This is a universal value like `initial` and `inherit` and works by
reverting the current value to whatever we had at the start of the
current cascade origin.
The implementation is somewhat inefficient as we make a copy of all
current values at the start of each origin. I'm sure we can come up with
a way to make this faster eventually.
2023-07-29 19:16:08 +02:00
Sam Atkins
dd1156fb17
LibWeb: Update spec comments for math function determined types
...
The spec was corrected here:
de4119a6e3
2023-07-19 11:12:53 +01:00
Aliaksandr Kalenik
a8587fe54e
LibWeb: Add support for "place-items" CSS property
...
Adds support for place-items property which allows to specify both
align-items and justify-items in a single declaration.
2023-07-17 18:58:05 +02:00
Sam Atkins
136dc7a1c3
LibWeb: Extract CalculationNode::constant_type_from_string() function
...
This is needed by some upcoming generated code. Renamed "PI" member to
"Pi" while I was at it.
2023-07-15 10:23:33 +02:00
Sam Atkins
e4a2bd7a44
LibWeb: Move RoundingMode to Enums.json
...
In the spec this is a `<rounding-strategy>`, so let's use that name.
This also fixes a bug where we were serializing `to-zero` as
`toward-zero`.
2023-07-15 10:23:33 +02:00
Ali Mohammad Pur
dd073b2711
Meta/CodeGenerators+LibWeb: Implement parsing CSS easing functions
...
This only implements the parser bits, no functionality is implemented,
and no properties are parsed because of this.
2023-07-13 05:10:41 +02:00
Ali Mohammad Pur
06c6c40df9
LibWeb+LibJS: Move some code around to make CSS/Parser parse faster
...
This makes it possible to include fewer full definitions of things,
which makes the file about 30% faster to compile.
2023-07-11 09:38:37 +03:30
Timothy Flynn
c911781c21
Everywhere: Remove needless trailing semi-colons after functions
...
This is a new option in clang-format-16.
2023-07-08 10:32:56 +01:00
Sam Atkins
f21a30e45f
LibWeb: Use CSSNumericType for CalculatedStyleValue resolved type
2023-07-06 09:28:16 +02:00
Sam Atkins
4d84080fdc
LibWeb: Implement "Determine the type of a calculation" algorithm
...
This is sitting alongside our old implementation for the moment.
2023-07-06 09:28:16 +02:00
Sam Atkins
434bac3c67
LibWeb: Return true for is_operator_node()
for math-function nodes
2023-07-06 09:28:16 +02:00
FalseHonesty
110eeb8591
LibWeb: Support calc(...) in box-shadow's values of type Length
...
The CSS box-shadow property takes 2-4 properties that are `<length>`s,
those being:
- offset-x
- offset-y
- blur-radius
- spread-radius
Previously these were resolved directly to concrete Lengths at parse
time, but now they will be parsed as LengthStyleValues and/or
CalculatedStyleValues and be stored that way until styles are later
resolved.
2023-06-25 10:27:08 +01:00
stelar7
d6db924d47
LibWeb: Implement CSS rem()
2023-06-17 12:13:28 +01:00
stelar7
dc042662d1
LibWeb: Implement CSS mod()
2023-06-17 12:13:28 +01:00
stelar7
b2230c826b
LibWeb: Implement CSS round()
2023-06-17 12:13:28 +01:00
stelar7
5727e276ea
LibWeb: Implement CSS exp()
2023-06-16 14:58:47 +01:00
stelar7
6dde49404a
LibWeb: Implement CSS log()
2023-06-16 14:58:47 +01:00
stelar7
fa37bb8b76
LibWeb: Implement CSS hypot()
2023-06-16 14:58:47 +01:00
stelar7
0d30fb5a6e
LibWeb: Implement CSS sqrt()
2023-06-16 14:58:47 +01:00
stelar7
9aed8ec7f0
LibWeb: Implement CSS pow()
2023-06-16 14:58:47 +01:00
stelar7
a9a62ad8c9
LibWeb: Implement CSS atan2()
2023-06-15 16:54:14 +01:00
stelar7
1aa84dfddd
LibWeb: Implement CSS atan()
2023-06-15 16:54:14 +01:00
stelar7
784e1cfb72
LibWeb: Implement CSS acos()
2023-06-15 16:54:14 +01:00
stelar7
708b5ef447
LibWeb: Implement CSS asin()
2023-06-15 16:54:14 +01:00
stelar7
64f0349a9e
LibWeb: Implement CSS tan()
2023-06-15 16:54:14 +01:00
stelar7
46a5efe388
LibWeb: Implement CSS cos()
2023-06-15 16:54:14 +01:00
stelar7
c73f476915
LibWeb: Implement CSS sin()
2023-06-15 16:54:14 +01:00
stelar7
ba7af82c5c
LibWeb: Parse css math constants
2023-06-15 15:40:55 +01:00