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
Andrew Kaster
aa329cb2f8
IPCCompiler: Add option to pass output file path
...
Instead of requiring the caller to redirect stdout, let's be nice
citizens and add an option for the output file.
2023-07-07 06:41:51 -04:00
Luke Wilde
165abafb80
LibWeb: Add initial implementation of IntersectionObserver
...
The main missing features are rootMargin, proper nested browsing
context support and content clip/clip-path support.
This makes images appear on some sites, such as YouTube and
howstuffworks.com.
2023-07-07 05:27:25 +02:00
Jonah
e9840bfd4e
LibWeb: Build out the ARIA role model
...
We now have implemented the ARIA role model. These classes will
control which states and properties are exposed to end users.
2023-07-06 11:21:36 +01: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
Timothy Flynn
eed0c32357
IPCMagicLinter: Add missing format parameter to an error log
2023-07-06 08:55:11 +02:00
Daniel
30e67721ae
Meta: Fix IDL binding generation for dictionary members
...
- Previously was generating bad syntax and missed a snakecase conversion
2023-06-28 05:22:51 +02:00
Sam Atkins
acaf2368ad
CodeGenerators: Port GenerateCSSValueID to new SourceGenerator API
2023-06-17 17:48:06 +01:00
Sam Atkins
acb600496b
CodeGenerators: Port GenerateCSSTransformFunctions to new SourceGen API
2023-06-17 17:48:06 +01:00
Sam Atkins
d197b4b051
CodeGenerators: Port GenerateCSSPropertyID to new SourceGenerator API
2023-06-17 17:48:06 +01:00
Sam Atkins
e7dd5e5b05
CodeGenerators: Port GenerateCSSMediaFeatureID to new SourceGen API
2023-06-17 17:48:06 +01:00
Sam Atkins
17473e3d5e
CodeGenerators: Port GenerateCSSEnums 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
Timothy Flynn
6520a9a849
LibWeb: Support TrackEvent instances with an AudioTrack track type
2023-06-14 17:54:40 +02:00
Sam Atkins
5e3da93f1a
LibWeb: Add RatioStyleValue and parsing
2023-06-09 20:37:51 +02:00
Timothy Flynn
cb912f0e1a
LibEDID: Ignore duplicate PNP IDs
...
The PNP IDs data file was recently updated with an accidental duplicate
entry (HONOR Device Co., Ltd.). Rather than breaking everyone's build,
let's just ignore duplicates.
2023-06-08 13:03:14 +02:00
Andreas Kling
7f90b0cab7
LibWeb: Don't override prototype on generated iterator prototypes
...
Generated iterator prototypes already have the IteratorPrototype as
their prototype, but we were incorrectly hijacking them and rerouting
to ObjectPrototype.
Regressed in cfe663435e
.
2023-06-08 10:05:56 +02:00
Ben Wiederhake
6a351376aa
Everywhere: Only use local includes where appropriate
...
If a local include does not point to a file in the repository, it should
be a system include instead.
2023-06-06 23:19:50 +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
0e3fb39a0a
LibWeb: Make 'optional BufferSource' IDL arguments actually optional
...
Previously this was compiled to require an object despite the IDL file
specifying 'optional'.
This commit makes IDLGenerator respect this modifier, and fixes the only
affected instance.
2023-05-30 12:50:13 +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
Matthew Olsson
f63d027b0b
Meta: Fix unresolvable reference to WebIDL::OperationReturnsPromise
2023-05-27 13:55:14 +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
03613dc14d
LibWeb: Make value_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
kleines Filmröllchen
82c681e44b
LibTimeZone+Userland: Change timezone functions to use UnixDateTime
...
This incurs a whole host of changes in, among others, JavaScript Intl
and Date.
2023-05-24 23:18:07 +02:00
kleines Filmröllchen
213025f210
AK: Rename Time to Duration
...
That's what this class really is; in fact that's what the first line of
the comment says it is.
This commit does not rename the main files, since those will contain
other time-related classes in a little bit.
2023-05-24 23:18:07 +02:00
Luke Wilde
a5936864d9
LibWeb: Stub AudioContext constructor
...
This is enough to make Discord not throw up "Well this is awkward" on
login.
2023-05-22 06:07:05 +02:00
Andreas Kling
cfe663435e
LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors
...
It's not safe to allocate from the GC heap while in the constructor of a
GC heap cell. (Because if this ends up triggering a collection, we may
end up trying to call through an uninitialized vtable).
This was already done safely in the initialize() virtual in much of
LibJS and LibWeb. This patch moves the logic for prototypes, mixins,
and CSSStyleDeclaration as well.
Fixes a long-standing GC crash that was pretty easy to reproduce by
refreshing https://vercel.com/
2023-05-21 14:23:58 +02:00
Ben Wiederhake
943ecaede6
LibIPC: Remove redundant IPC::Dictionary type
...
We already have and use HashMap<DeprecatedString, DeprecatedString>
nearly everywhere, which is essentially equivalent.
2023-05-21 07:53:45 +02:00
Ben Wiederhake
3be7d393b6
IPCCompiler: Nicer error message for invalid template spelling
2023-05-19 23:45:05 +02:00
Ben Wiederhake
5cfa883b9f
LibUnicode: Explicitly mark HashMap copy
2023-05-19 22:33:57 +02:00
Ben Wiederhake
3cc98a32cf
LibLocale: Avoid unnecessary HashMap copy
2023-05-19 22:33:57 +02:00
Luke Wilde
d088619560
LibWeb: Capture realm in dictionary to C++ conversion
...
Some types use the realm when converting to C++, such as unions.
2023-05-13 16:31:10 +02:00
Lucas CHOLLET
8c34959b53
AK: Add the Input
word to input-only buffered streams
...
This concerns both `BufferedSeekable` and `BufferedFile`.
2023-05-09 11:18:46 +02:00
Sam Atkins
f4d8a24fe4
LibWeb: Propagate errors from parse_css_value and property_initial_value
2023-05-06 08:07:28 +02:00
Matthew Olsson
48d92eecac
Lagom: Enforce GC-allocated fields are visited in LibJSGCVerifier
2023-04-30 06:04:33 +02:00
Matthew Olsson
98ed74087f
Lagom: Enforce uniform calls to Base::visit_edges in LibJSGCVerifier
...
This ensures that all visit_edges implementations include a call to
Base::visit_edges. In particular, this gives three nice benefits:
- The call can't be forgotten (the main benefit, of course).
- All of the calls look the same. In other words, always use "Base"
instead of the actual concrete class.
- Ensure the object has a call to JS_CELL or JS_OBJECT in the
definition. Otherwise, Base will not be defined and the call will
not compile.
2023-04-30 06:04:33 +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
Ali Mohammad Pur
7e6341587b
AK+Everywhere: Disallow Error::from_string_view(FooString)
...
That pattern seems to show up a lot in code written by people that
aren't intimately familiar with the lifetime model of Error and Strings.
This commit makes the compiler detect it and present a more helpful
diagnostic than "garbage string at runtime".
2023-04-28 05:55:20 +02:00
Matthew Olsson
b57b3c54cc
LibWeb: Add ReadableStreamBYOBReader to ReadableStreamReader type
2023-04-27 07:57:53 +02:00
Lucas CHOLLET
c50b072852
IPCMagicLinter: Port to Core::File
2023-04-27 07:26:32 +02:00
Lucas CHOLLET
b35a6b206b
IPCMagicLinter: Use LibMain
2023-04-27 07:26:32 +02:00