Tim Schumacher
a2f60911fe
AK: Rename GenericTraits to DefaultTraits
...
This feels like a more fitting name for something that provides the
default values for Traits.
2023-11-09 10:05:51 -05:00
Sam Atkins
b0317bb3a1
LibWeb: Implement Flex and FlexStyleValue types
2023-09-28 20:33:20 +01:00
Sam Atkins
2cb816ad69
LibWeb: Alphabetize property names in Properties.json
...
And add a check to make sure it stays that way!
2023-09-11 10:42:00 +01:00
Sam Atkins
b78b5e6297
LibWeb: Generate property_is_shorthand(PropertyID)
function
...
Sometimes we want to know if a property is a shorthand, but don't care
what its longhands are.
2023-09-11 10:42:00 +01:00
Andreas Kling
788c2c5a8d
LibWeb: Stop using fallible JSON API in code generators
2023-08-22 13:08:24 +02:00
Andreas Kling
20ea82bacc
LibWeb: Make (snake/title/camel) casification functions infallible
2023-08-22 13:08:24 +02:00
Andreas Kling
0b83717ea2
AK: Make SourceGenerator::fork() infallible
2023-08-22 13:08:24 +02:00
Andreas Kling
244516142a
AK: Remove fallible SourceGenerator::try_append()
...
And fall back to the infallible append().
2023-08-22 13:08:24 +02:00
Andreas Kling
a1d694ccdc
AK: Remove fallible SourceGenerator::try_appendln()
...
And fall back to the infallible appendln().
2023-08-22 13:08:24 +02:00
Andreas Kling
8b936b5912
AK: Make SourceGenerator::set() infallible
2023-08-22 13:08:24 +02:00
Sam Atkins
28c2836c24
LibWeb: Make external StyleValue-parsing methods infallible
2023-08-19 17:34:22 +02:00
Andreas Kling
13d5d47b56
LibWeb: Implement the CSS all
property
...
This sets all longhand values to one of initial, inherit, unset or
revert. Note that revert is not supported yet, but will be soon.
2023-07-29 19:16:08 +02:00
Ali Mohammad Pur
efa55673cd
Meta/CodeGenerators+LibWeb: Add support for 'easing-function' CSS values
...
This commit makes it possible to let properties accept easing functions
as values, which will be used in a later commit to implement
animation-timing-function.
2023-07-13 05:10:41 +02:00
Sam Atkins
38f954cba5
LibWeb: Generate function for what properties resolve percentages to
...
This is required by "determine the type of a calculation".
https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation
2023-07-06 09:28:16 +02:00
Sam Atkins
d197b4b051
CodeGenerators: Port GenerateCSSPropertyID to new SourceGenerator API
2023-06-17 17:48:06 +01:00
Sam Atkins
8e53e5afc4
AK: Propagate errors from SourceGenerator::fork()
2023-06-17 17:48:06 +01:00
Sam Atkins
540cc42618
CodeGenerators: Convert GeneratorUtil to String
...
I may have got a little carried away propagating some of the errors. :^)
2023-06-17 17:48:06 +01:00
Sam Atkins
5cdcd135ab
LibWeb: Add parsing for CSS <paint>
values
...
This gets rid of a couple of FIXMEs in Properties.json :^)
2023-06-16 07:03:57 +02:00
Sam Atkins
5e3da93f1a
LibWeb: Add RatioStyleValue and parsing
2023-06-09 20:37:51 +02:00
Andreas Kling
941092e3ad
LibWeb: Make CSS/Properties.json "logical-aliases-for" an array
...
This allows us to specify all aliases properties instead of just one.
2023-06-06 21:02:04 +02:00
Sam Atkins
2d7308cb88
LibWeb: Support infinite range for CSS properties
...
This makes `[-∞,∞]` generate valid code, instead of `return ;`
2023-06-02 20:04:23 +02:00
Sam Atkins
51f75d7071
LibWeb: Generate bounds-checking functions for CSS basic types
2023-06-02 17:46:35 +02:00
Ali Mohammad Pur
279924242d
LibWeb: Add CSS CompositeStyleValue
...
This represents the value of properties assigned via their shorthands,
and is expanded when computing actual property values.
2023-05-29 05:35:41 +02:00
Karthik Karanth
72507c318a
LibWeb: Add logical-alias-for in Properties.json
...
This allows for succint definitions of logical properties, by allowing
them to inherit initial values, valid identifiers, etc from another
property
2023-05-27 16:02:33 +02:00
Sam Atkins
f6fae315e3
LibWeb: Add CustomIdentStyleValue, along with parsing for it
...
This corresponds to the `<custom-ident>` type in CSS grammar.
2023-05-25 15:31:20 +01:00
Sam Atkins
6b8f484114
LibWeb: Stop generating now-unused property_accepts_value()
function
2023-05-25 06:36:10 +02:00
Sam Atkins
465ecf37c2
LibWeb: Make property_id_from_string()
return Optional
2023-05-25 06:36:10 +02:00
Sam Atkins
9b61f79eae
LibWeb: Generate property_accepts_[identifier/type]()
functions
...
These will be used to parse StyleValues more intelligently.
2023-05-25 06:36:10 +02:00
Sam Atkins
f4d8a24fe4
LibWeb: Propagate errors from parse_css_value and property_initial_value
2023-05-06 08:07:28 +02:00
MacDue
a5fa5e55ef
LibWeb: Allow specifying a URL for an SVG fill
...
This does not do anything yet, but will allow for gradients later!
2023-04-28 09:42:28 +02:00
MacDue
de4ab4f69e
Meta: Lazily initialize initial property values
...
This solves the longhands must be initialized before shorthands
problem by just initializing the value when it is first requested.
This will be needed for background-position-x/y which is a longhand
of a longhand, which otherwise breaks the longhands before shorthands
rule.
2023-04-03 07:10:33 +02:00
Sam Atkins
4b711932cc
LibWeb: Split PercentageStyleValue out of StyleValue.{h,cpp}
2023-03-25 16:56:04 +00:00
Tim Schumacher
8032724574
CodeGenerators: Ensure that we always print the entire generated output
2023-03-13 15:16:20 +00:00
Tim Schumacher
d5871f5717
AK: Rename Stream::{read,write} to Stream::{read_some,write_some}
...
Similar to POSIX read, the basic read and write functions of AK::Stream
do not have a lower limit of how much data they read or write (apart
from "none at all").
Rename the functions to "read some [data]" and "write some [data]" (with
"data" being omitted, since everything here is reading and writing data)
to make them sufficiently distinct from the functions that ensure to
use the entire buffer (which should be the go-to function for most
usages).
No functional changes, just a lot of new FIXMEs.
2023-03-13 15:16:20 +00:00
Andreas Kling
a504ac3e2a
Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_case
...
Let's make it clear that these functions deal with ASCII case only.
2023-03-10 13:15:44 +01:00
Luke Wilde
f7ff1fd985
LibWeb: Remove CSS::Parser::ParsingContext's default constructor
...
This relied on pulling the current realm from the main thread VM, which
requires an execution context to be on the VM's stack. This heavily
relied on the dummy execution context that is always on the stack, for
example, when parsing the UA style sheets where no JavaScript is
running.
2023-03-07 11:51:12 +00:00
Sam Atkins
f0b72b819e
LibWeb: Make property/media-feature name matching ASCII case-insensitive
...
https://www.w3.org/TR/css-conditional-3/#dom-css-supports specifically
asks for this when calling `CSS::property_id_from_string()`, but in
general, CSS property and media-feature names can only contain ASCII.
2023-02-19 00:46:47 +01:00
Tim Schumacher
606a3982f3
LibCore: Move Stream-based file into the Core
namespace
2023-02-13 00:50:07 +00:00
Sam Atkins
ad9b2043dd
CodeGenerators: Replace uses of JsonObject::get_deprecated()/get_ptr()
2023-01-26 09:57:14 -05:00
Sam Atkins
1dd6b7f5b7
AK+Everywhere: Rename JsonObject::get() to ::get_deprecated()
...
This is a preparatory step to making `get()` return `ErrorOr`.
2023-01-17 19:52:52 -05:00
Linus Groh
57dc179b1f
Everywhere: Rename to_{string => deprecated_string}() where applicable
...
This will make it easier to support both string types at the same time
while we convert code, and tracking down remaining uses.
One big exception is Value::to_string() in LibJS, where the name is
dictated by the ToString AO.
2022-12-06 08:54:33 +01:00
Linus Groh
6e19ab2bbc
AK+Everywhere: Rename String to DeprecatedString
...
We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^)
2022-12-06 08:54:33 +01:00
MacDue
d1b99282d8
LibWeb+Meta: Parse the backdrop-filter
CSS property
...
Note: The parsing and style value completely ignores the SVG filters
part of the spec for now... That's a yak for another day :^)
2022-09-16 10:50:48 +01:00
MacDue
0829aa5df0
Meta: Use is_abstract_image() for the "image" CSS type
2022-09-16 10:50:48 +01:00
Tom
b4dd477644
LibWeb: Parse rect style value
...
Add ability to parse a rect when it is used as the value of a style
property.
2022-08-07 22:40:11 +02:00
MacDue
d924e9ff60
Meta: Teach GenerateCSSPropertyID about linear-gradients
2022-07-17 20:11:38 +01:00
sin-ack
3f3f45580a
Everywhere: Add sv suffix to strings relying on StringView(char const*)
...
Each of these strings would previously rely on StringView's char const*
constructor overload, which would call __builtin_strlen on the string.
Since we now have operator ""sv, we can replace these with much simpler
versions. This opens the door to being able to remove
StringView(char const*).
No functional changes.
2022-07-12 23:11:35 +02:00
Sam Atkins
a20188cd91
LibWeb: Use generated enum code for property value validation
...
This has the nice benefit of removing a lot of duplicated lists of
values from Properties.json. :^)
2022-04-14 14:54:06 +02:00
Sam Atkins
c449cabae3
LibWeb: Move CSS Parser into new Web::CSS::Parser namespace
...
The goal here is to move the parser-internal classes into this namespace
so they can have more convenient names without causing collisions. The
Parser itself won't collide, and would be more convenient to just
remain `CSS::Parser`, but having a namespace and a class with the same
name makes C++ unhappy.
2022-04-12 23:03:46 +02:00
Sam Atkins
b07659d00c
Meta+LibWeb: Port PropertyID.h/cpp generators to invoke_generator()
2022-04-02 09:18:07 -04:00