Commit graph

56217 commits

Author SHA1 Message Date
Timothy Flynn fd0075083a LibCore: Change Core::DateTime::parse to accept a StringView
No reason to force an allocation here, as we do not require a NUL-
terminated string.
2023-11-08 09:28:17 +01:00
Timothy Flynn 6655de189f LibCore: Add a Core::System wrapper around unsetenv 2023-11-08 09:28:17 +01:00
Timothy Flynn 2437064820 AK: Define compound subtraction operator for UnixDateTime 2023-11-08 09:28:17 +01:00
Tim Ledbetter b3d5f9748a LibVideo/VP9: Ensure range decoder size is within expected range 2023-11-08 09:13:59 +01:00
Timothy Flynn fefbbff0a5 LibEDID: Replace the HTML-based PNP ID parser with a CSV-based parser
The PNP ID file is now a CSV file. Update the generator to handle the
new format.
2023-11-08 08:19:04 +01:00
Timothy Flynn a02e0afa41 LibEDID: Replace a few DeprecatedString::formatted with String::number
And remove one that was for unused data.
2023-11-08 08:19:04 +01:00
Timothy Flynn 936e97b066 LibEDID: Format PNP ID data a little more cleanly
Namely, do not append unnecessary new lines between PNP ID entries. This
just makes the generated code a bit easier to look through.
2023-11-08 08:19:04 +01:00
Sam Atkins 763b08c23f LibWeb: Remove now-unused CSS::PositionValue type and associated parsing
All the users now use PositionStyleValue instead.
2023-11-07 22:00:24 +00:00
Sam Atkins 7bcabbb325 LibWeb: Store ConicGradientStyleValue's position as PositionStyleValue 2023-11-07 22:00:24 +00:00
Sam Atkins 5cf85d30aa LibWeb: Store RadialGradientStyleValue's position as PositionStyleValue 2023-11-07 22:00:24 +00:00
Sam Atkins 2ae53bc5eb LibWeb: Add some helpers to PositionStyleValue
Both of these are needed by the gradient style values.
2023-11-07 22:00:24 +00:00
Sam Atkins 8917378aa7 LibWeb: Adapt parse_position() into parse_position_value()
Having two ways that `<position>` is represented is awkward and
unnecessary. So, let's combine the two paths together. This first step
copies and modifies the `parse_position()` code to produce a
`PositionStyleValue`.

Apart from returning a StyleValue, this also makes use of automatic enum
parsing instead of manually comparing identifier strings.
2023-11-07 22:00:24 +00:00
Sam Atkins 4ad58f0204 LibWeb: Store PositionStyleValue's edges as EdgeStyleValues
They can't be anything else, so this will make working with them easier.
2023-11-07 22:00:24 +00:00
Sam Atkins 875661a584 LibWeb: Remove unnecessary double->float->double round trip 2023-11-07 22:00:24 +00:00
Sam Atkins 88dc5886eb LibWeb: Use generated to_string() function for EdgeStyleValue edge 2023-11-07 22:00:24 +00:00
Sam Atkins f918785698 LibWeb: Remove redundant identifier_to_edge() function
The enums generator has this covered already.
2023-11-07 22:00:24 +00:00
iliadsh aef654592f LibJS/JIT: Bail in UnsignedRightShift fast path if result is negative 2023-11-07 21:59:03 +01:00
Sam Atkins 0875ef770f Chess: Make chess widget resilient to missing piece images
Display a warning when some images are missing, instead of crashing.

Also, don't keep old images around when loading a new set, and make use
of get_piece_graphic() more often.
2023-11-07 19:44:11 +01:00
Sam Atkins 39579436c1 GamesSettings: Make chess preview widget resilient to missing images
Previously we would give up on loading the piece images if one fails.
That was awkward because 2 out of 3 places where `set_piece_set_name()`
is called can't propagate errors, so we'd just crash.

Instead, let's skip any images that fail to load, and then when painting
the preview, skip any missing bitmaps and show a warning message that
some are missing.
2023-11-07 19:44:11 +01:00
Sam Atkins 4f99f1750e GamesSettings: Pass a String to ChessGamePreview::set_piece_set_name() 2023-11-07 19:44:11 +01:00
Matthew Olsson 13ae2a4dab LibWeb: Store all timelines associated with a document on the document
This will be required for propagating the current animation time to all
relevant timelines, which each propagate that time to all of their
relevant animations.
2023-11-07 15:17:09 +01:00
Matthew Olsson 2fbb9649e3 LibWeb: Add a default DocumentTimeline object to DOM::Document 2023-11-07 15:17:09 +01:00
Matthew Olsson 734076946b LibWeb: Add DocumentTimeline IDL object 2023-11-07 15:17:09 +01:00
Matthew Olsson 521f8bd5f2 LibWeb: Add AnimationTimeline IDL object 2023-11-07 15:17:09 +01:00
Simon Wanner 8eeb4e0aff LibJS/JIT: Use mov8/mov32 for loads in compile_get_variable 2023-11-07 14:39:13 +01:00
Simon Wanner ff63222425 LibJIT: Add mov8/mov16/mov32 with zero- or sign-extension 2023-11-07 14:39:13 +01:00
stelar7 2bab266ba9 Tests: Add test for button type attribute 2023-11-07 11:34:21 +01:00
stelar7 5dfe21be85 LibWeb: Remove unused method on HTMLButtonElement 2023-11-07 11:34:21 +01:00
stelar7 27ae172e7e Meta: Implement correct parsing of reflected DOMString 2023-11-07 11:34:21 +01:00
stelar7 d767f14df8 LibWeb: Introduce the concept of "Enumerated" values
This does _NOT_ correspond to anything in the IDL or ECMAScript spec,
but is a custom extended attribute.
We use it to define the "enumerated" values of an attribute
2023-11-07 11:34:21 +01:00
stelar7 19bf42a7e6 LibIDL: Attach extended attributes on enums 2023-11-07 11:34:21 +01:00
Shannon Booth ea2b733862 LibWeb: Port custom properties to FlyString 2023-11-07 11:33:41 +01:00
Shannon Booth 346825bd78 LibWeb: Remove unused DeprecatedFlyString include from HTMLCollection 2023-11-07 11:33:41 +01:00
Shannon Booth 7e9a40dbad LibWeb: Port attribute change steps from DeprecatedFlyString 2023-11-07 11:33:41 +01:00
Shannon Booth b337b4370a LibWeb: Port validate_and_extract from DeprecatedFlyString 2023-11-07 11:33:41 +01:00
Shannon Booth 2f009d983b LibWeb: Port Element::get_attribute_value from DeprecatedFlyString 2023-11-07 11:33:41 +01:00
Shannon Booth 3f13a50a20 LibWeb: Return FlyString from CSS::Parser::Token::ident
Instead of a StringView. This allows us to preserve the nice O(1) string
compare property of FlyString, and not needing to allocate when one is
needed.

Ideally all other places in Token should have similar changes done, but
to prevent a huge amount of churn, just change ident for now.
2023-11-07 11:33:41 +01:00
Shannon Booth 8c8ea86729 AK: Add FlyString::starts_with_bytes and FlyString::ends_with_bytes
Mirroring the API for String
2023-11-07 11:33:41 +01:00
Andreas Kling 1d8ec677a3 LibJS/JIT: Add fast path for cached GetVariable accesses
We can now stay in machine code for environment variable read accesses
as long as they are cached and initialized.

20% speed-up on Octane/zlib.js :^)
2023-11-07 11:33:04 +01:00
Andreas Kling 7826c006c1 LibJS/JIT: Don't crash when dissassembling an empty basic block 2023-11-07 11:33:04 +01:00
Andreas Kling e1e7e696ac LibJS/JIT: Store the running ExecutionContext& in a dedicated register 2023-11-07 11:33:04 +01:00
Andreas Kling 5479bb6ac9 LibJIT/X86_64: Allow mul32() with immediate operand 2023-11-07 11:33:04 +01:00
Andreas Kling 0bbf230e4f AK: Expose the memory offset of Vector's outline buffer pointer 2023-11-07 11:33:04 +01:00
Andreas Kling bdce36dddb AK: Expose memory offset of Optional's internal fields 2023-11-07 11:33:04 +01:00
Andreas Kling af5fd99ff4 AK: Add OFFSET_OF macro that works on class member fields 2023-11-07 11:33:04 +01:00
iliadsh 24d5070520 LibJS/JIT: Add fast path for UnsignedRightShift 2023-11-07 10:17:04 +01:00
iliadsh c956316c98 LibJS/JIT: Add fast path for RightShift 2023-11-07 10:17:04 +01:00
iliadsh 1244e91481 LibJS/JIT: Add fast path for LeftShift 2023-11-07 10:17:04 +01:00
Adam Harald Jørgensen a1cdfe1b54 Shell: Add support for showing shortened prompt path with ellipsis 2023-11-07 07:46:52 +03:30
Adam Harald Jørgensen 4febd31dba Shell: Shorten prompt path if integer is provided with "\w" option 2023-11-07 07:46:52 +03:30