Andreas Kling
7abb182fa3
LibWeb: Honor negative margins on atomic inlines
...
Sizing already worked correctly, but before this change, we were too
aggressive with inserting line breaks when negative margins would
still an atomic inline to fit on the line.
2023-12-10 11:09:22 +01:00
Lucas CHOLLET
3ae29fdeec
LibGfx/TIFF: Support WhiteIsZero parameter for grayscale images
...
PhotometricInterpretation::WhiteIsZero is used to inverse black and
white on bilevel and grayscale images.
2023-12-10 09:45:30 +01:00
Lucas CHOLLET
64d7e386d2
LibGfx/TIFF: Parse the PhotometricInterpretation
tag
2023-12-10 09:45:30 +01:00
Shannon Booth
74b6e7b1f0
LibWeb: Avoid calling FlyString::from_utf8 on FlyString's
2023-12-10 09:45:03 +01:00
Shannon Booth
6ce0d588ee
Everywhere: Avoid calling from_utf8 on FlyString or String
...
We already have a String :^)
2023-12-10 09:45:03 +01:00
Timothy Flynn
55ec1cbfb5
LibWebView: Allow editing empty DOM text nodes in the Inspector
...
When a DOM text node is empty, we currently render the node name (which
is "#text") in the Inspector. This is just to prevent displaying nothing
at all, which looks a bit off. However, the patch to allow editing text
fields neglected to allow editing these empty fields.
This patch attaches the original text data as a data attribute, much
like we do for DOM attributes. That is used as the editable text in the
inspector, and the empty text fields are now wrapped in an editable
span.
2023-12-10 09:44:34 +01:00
Timothy Flynn
6595e76fef
Ladybird: Do not include comment start/end sequence in its editable text
...
Currently, when editing a comment, the `<!--` and `-->` start and end
sequences would be included in the generated <input> field. This would
result in including that text in the updated comment text. So, for
example, in a comment such as:
<!-- foo -->
Changing "foo" to "bar" would result in the comment:
<!--<!-- bar -->-->
And this would repeatedly nest for each edit.
2023-12-10 09:44:34 +01:00
Timothy Flynn
42c0ac9352
LibWebView: Log the result of taking screenshots to Inspector's console
...
It probably isn't obvious that screenshots are saved to the user's
Downloads folder, so add a console message to inform them.
2023-12-10 09:44:34 +01:00
Andreas Kling
463931384d
LibJS: Don't use Handle<Value> for JS::Object private fields
...
There's no reason to use handles here, we can just mark private element
values from objects that store them.
2023-12-10 09:44:26 +01:00
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
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
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
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