david072
999a44969d
LibGUI/Widget: Add helpers to set the background color
2023-12-10 00:02:32 +01:00
Bastiaan van der Plaat
466153e680
Ladybird+LibWeb: Add basic select element support
2023-12-09 22:06:20 +01:00
Bastiaan van der Plaat
b439431488
LibWeb: Allow hr elements in select and optgroup elements
2023-12-09 22:06:20 +01:00
Bastiaan van der Plaat
b8219e2cc4
WindowServer: Send menu_item_activated before visibility_did_change
2023-12-09 22:06:20 +01:00
Andrew Kaster
bab9e75a96
LibWeb: Implement Structured{De}SerializeWithTransfer for transferables
...
This first cut at these APIs only works for platform objects that
implement the Transferable interface from Bindings.
2023-12-09 21:52:28 +01:00
Andrew Kaster
e21d1078a0
LibWeb: Add a Transferable interface to model the transferable property
...
This property is only shared by MessagePort and a few Image related APIs
but is important for the Structured{De}SerializeWithTransfer AOs.
2023-12-09 21:52:28 +01:00
Bastiaan van der Plaat
fef7571931
LibWeb: Add output element value
2023-12-09 21:50:17 +01:00
Bastiaan van der Plaat
f8509e2183
LibWeb: Add input number up down UI buttons
2023-12-09 21:49:38 +01:00
Lucas CHOLLET
234d084876
LibGfx/TIFF: Add support for bit-depth up to 32 bits per sample
...
This makes us support every "minisblack" and "rgb-contig" images from
the depth folder of libtiff's test suite:
https://libtiff.gitlab.io/libtiff/images.html
2023-12-09 21:47:33 +01:00
Aliaksandr Kalenik
8634820e73
LibGfx: Use east-mutable style in OpenType font class
...
No intended behavior change.
2023-12-09 19:05:30 +01:00
Aliaksandr Kalenik
7ae229ead7
LibGfx: Cache family, width, weight, and slope for OpenType fonts
...
These properties could be cached in the font object once they are
decoded from the table for the first time to make subsequent access
faster.
This change makes `Node::scaled_font()` in LibWeb go down from 6% to
1.5% in my profiles because building a font cache key is now a lot
cheaper.
2023-12-09 19:05:30 +01:00
Aliaksandr Kalenik
af13bd8af0
LibWeb: Remove unused StyleProperties::clone()
function
2023-12-09 19:04:45 +01:00
Aliaksandr Kalenik
a738c2b120
LibWeb: Remove default font assignment in NodeWithStyle constructor
...
It is not needed because font matching algorithms adds fallback font
anyway.
2023-12-09 19:04:36 +01:00
Andrew Kaster
9ab312e001
LibWeb: Hide XHR send debug messages behind SPAM_DEBUG
2023-12-08 20:04:13 -05:00
Andrew Kaster
04670c7a06
LibWeb: Hide load started/completed debug messages behind SPAM_DEBUG
2023-12-08 20:04:13 -05:00
Andreas Kling
d8be9ebc16
LibJS: Add fast path in ArrayIteratorPrototype::next()
...
When iterating over vanilla objects/arrays with normal property storage,
we can skip the generic Get mechanism in favor of looking directly at
property storage. This is essentially what we do in the bytecode path.
2023-12-09 00:20:25 +01:00
Andreas Kling
373ec387c1
LibJS: Add fast_is<ArrayIterator>()
2023-12-09 00:20:25 +01:00
Andreas Kling
73ceb475b9
LibJS: Add fast path for magical "length" property in LengthOfArrayLike
...
For Array objects, we can avoid a generic Get here since we know it has
magical "length" behavior anyway.
2023-12-09 00:20:25 +01:00
implicitfield
84b981ade7
Utilities: Add a drain
utility
2023-12-08 22:05:43 +03:30
Sam Atkins
29ecb2eda6
LibWeb: Parse grid-template-areas property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
b569ab72e8
LibWeb: Correct grid-template-areas definition
...
The spec syntax is `none | <string>+` and `none` is the default.
2023-12-08 10:47:23 +00:00
Sam Atkins
c3583317ee
LibWeb: Parse grid-auto-flow property using TokenStream
...
RefPtr is already `[[nodiscard]]` so we can remove that extra noise from
the declaration.
2023-12-08 10:47:23 +00:00
Sam Atkins
bbbd9c14ac
LibWeb: Parse grid-area property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
a16b35a755
LibWeb: Parse grid-column and grid-row properties using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
b18c334a4f
LibWeb: Ensure there are no trailing tokens when parsing font-family
2023-12-08 10:47:23 +00:00
Sam Atkins
f84ccb8627
LibWeb: Part font property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
333b705f25
LibWeb: Parse flex-flow property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
bf3576667a
LibWeb: Parse flex property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
4f3136c230
LibWeb: Parse shadow values using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
3a36b2eea9
LibWeb: Parse border properties using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
0e00d9a67d
LibWeb: Parse background property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
64a44b719e
LibWeb: Parse FilterValueListStyleValue using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
2efaadd63c
LibWeb: Parse aspect-ratio property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
647d52ff9a
LibWeb: Parse quotes property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
ebad94658a
LibWeb: Parse display property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
3d6eb36664
LibWeb: Parse content property using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
4d6e8d8f37
LibWeb: Parse border-radius properties using TokenStream
2023-12-08 10:47:23 +00:00
Sam Atkins
28c719fff5
LibWeb: Extract contains_single_none_ident()
helper function
...
Several CSS properties can be `none` instead of their usual value.
2023-12-08 10:47:23 +00:00
Sam Atkins
1cc88dc4bc
LibWeb: Make parse_comma_separated_value_list() take a TokenStream
...
This lets us use it from inside places that use TokenStreams.
2023-12-08 10:47:23 +00:00
Sam Atkins
cd9344d4c1
LibWeb: Clarify naming of TokenStreams in parse_css_value()
...
Originally, the input was named `tokens`, and we later created a
`tokens_without_whitespace` from the filtered contents of `tokens`.
Since `tokens_without_whitespace` is what we actually want to use while
parsing, let's rename `tokens` -> `unprocessed_tokens` and use the
`tokens` name for the processed ones.
2023-12-08 10:47:23 +00:00
Andreas Kling
81daf1752b
LibWeb: Retreive CSS cursor before changing hovered node
...
This fixes an elusive issue where changing the hovered node would cause
a JS event handler to run, changing the shape of the paint tree before
we had a chance to get the cursor.
A more robust fix here will be to let paintables own their used/computed
values (so they don't have to look into the layout tree for them) but
that's a much bigger change.
2023-12-08 10:54:40 +01:00
tetektoza
8118ea764f
NetworkSettings: Port NetworkSettings to GML compilation
2023-12-08 01:06:09 +01:00
tetektoza
1e11116d65
VideoPlayer: Port VideoPlayer to GML compilation
2023-12-08 01:06:09 +01:00
tetektoza
e26548989a
GamesSettings: Port GamesSettings to GML compilation
...
Co-Authored-By: Tim Schumacher <timschumi@gmx.de>
2023-12-08 01:06:09 +01:00
tetektoza
935aaab757
HexEditor: Port HexEditor to GML compilation
2023-12-08 01:06:09 +01:00
tetektoza
0be70ed97a
GMLCompiler: Add enum initializer for opportunistic_resizee property
...
This patch adds a enum initializer for opportunistic_resizee and
makes the method that uses this property public so it's available for
GML compiler.
2023-12-08 01:06:09 +01:00
tetektoza
9deaa74ad6
LibGUI: Split HorizontalSlider to separate header
...
This patch splits HorizontalSlider to separate header so it can be used
as a component in .gml files with new GML compiler.
2023-12-08 01:06:09 +01:00
Andreas Kling
f47a14b9d6
LibJS: Use a premade shape when creating iterator result objects
...
Instead of going through the steps of creating an empty new object,
and adding two properties ("value" and "done") to it, we can pre-bake
a shape object and cache the property offsets.
This makes creating iterator result objects in the runtime much faster.
47% speedup on this microbenchmark:
function go(a) {
for (const p of a) {
}
}
const a = [];
a.length = 1_000_000;
go(a);
2023-12-08 00:54:05 +01:00
Jesús (gsus) Lapastora
706710fa13
LibJS/JIT: Make generating GDB images opt-in
...
Since generating GDB image can be expensive, it is disabled by default
and can be activated by setting the `LIBJS_JIT_GDB` environment
variable.
2023-12-07 15:34:38 -07:00
Jesús (gsus) Lapastora
f0b984567a
LibJS/JIT: Produce & register an ELF image for GDB JIT Interface
...
Using the code that it has just produced, the JIT::Compiler can build an
ELF image so that we can attach meaningful symbols to JITted code, and
thus enable GDB to display more information about the code that we're
running.
2023-12-07 15:34:38 -07:00