Idan Horowitz
aeb7b442d3
LibWeb: Add initial support for bitmap cropping to createImageBitmap
2025-08-04 23:39:11 +02:00
Idan Horowitz
e81c33da42
LibGfx: Skip manual cropping for the degenerate case
2025-08-04 23:39:11 +02:00
Idan Horowitz
3c3da1ce8c
LibGfx: Allow specifying outside color in Bitmap::cropped()
...
This is required for LibWeb bitmap cropping.
2025-08-04 23:39:11 +02:00
Idan Horowitz
bf2dc77dfc
LibGfx: Remove unused new bitmap format option from Bitmap::cropped()
2025-08-04 23:39:11 +02:00
ayeteadoe
da2969008b
CI: Enable compiler cache for Windows
2025-08-04 22:05:47 +02:00
Sam Atkins
e4b2e7b131
LibWeb: Remove now-unnecessary hack from preferred_color_scheme()
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
2025-08-04 14:01:00 +02:00
Sam Atkins
b06d2370c1
UI/Qt: Initialize BrowserWindow fields
...
Initializing m_current_screen may not be necessary, but the initial
value of m_preferred_color_scheme is sent to WebContent, so failing to
give it an initializer would cause bugs.
2025-08-04 14:01:00 +02:00
Callum Law
344d6199da
LibWeb: Use correct colors for SVGFEFloodElement::flood_color
...
Previously we would always render floods as black, we now use the
computed color.
We also now support relative lengths within any `calc`s present.
2025-08-04 11:29:05 +01:00
Callum Law
3b52b1139a
LibWeb: Support relative lengths in stop-color
calcs
2025-08-04 11:29:05 +01:00
Callum Law
db439d224a
LibWeb: Support creating ColorResolutionContext from AbstractElement
...
No functionality changes.
2025-08-04 11:29:05 +01:00
Callum Law
e0e00220fe
LibWeb: Handle Auto
resolution within Page::preferred_color_scheme
...
Handling this here means we don't have to it within individual callers
2025-08-04 11:29:05 +01:00
Callum Law
a19a6deaa4
LibWeb: Take a ColorResolutionContext in color_or_fallback
...
Taking a ColorResolutionContext directly instead of creating one from a
layout node allows us to call this from places where we don't have a
layout node.
2025-08-04 11:29:05 +01:00
Callum Law
46153910ec
LibWeb: Update to_color
to take ColorResolutionContext
...
Using a generic context argument will allow us to resolve colors in
places where we have all the required information but not in the form of
a layout node as was expected previously.
2025-08-04 11:29:05 +01:00
Callum Law
b0508fb39a
LibWeb: Move CSS::CalculationResolutionContext
to its own file
...
This struct will be used within CSSStyleValue.h in a future commit and
having it in CalculatedStyleValue.h causes a dependency loop.
2025-08-04 11:29:05 +01:00
norbiros
7dc41b52db
LibWeb/CSS: Use proper parsing_params
in CSS.registerProperty
2025-08-04 11:08:46 +01:00
norbiros
190745fd58
LibWeb/CSS: Parse initial value using syntax from @property
...
Now we pass all WPT tests in:
`css/css-properties-values-api/at-property-cssom`.
Note: Failing tests were false positives.
Proper handling of inheriting values and detecting computational
independence will be done in another PR.
2025-08-04 11:08:46 +01:00
Sam Atkins
31536c53a2
UI/AppKit: Add "Dump CSS Errors" menu item
2025-08-04 10:50:09 +01:00
Sam Atkins
d65d46f4f0
UI/Qt: Add "Dump CSS Errors" menu item
...
Dumps out any CSS errors that have appeared since launch.
2025-08-04 10:50:09 +01:00
Sam Atkins
1adddb158a
WebContent+LibWeb/CSS: Add debug request to dump CSS errors
2025-08-04 10:50:09 +01:00
Sam Atkins
01661503b9
LibWeb/CSS: Remove unused Debug.h include from GradientParsing.cpp
2025-08-04 10:50:09 +01:00
Sam Atkins
dc91688f18
LibWeb/CSS: Use ErrorReporter for property/descriptor parsing errors
2025-08-04 10:50:09 +01:00
Sam Atkins
cebdcd9f69
LibWeb/CSS: Use ErrorReporter for value-parsing errors
...
Also remove some redundant reporting for `<urange>` parsing errors.
2025-08-04 10:50:09 +01:00
Sam Atkins
3b7aa736e7
LibWeb/CSS: Use ErrorReporter for media query parsing
2025-08-04 10:50:09 +01:00
Sam Atkins
1a599ceb98
LibWeb/CSS: Reject @font-face
and margin rules that have a prelude
...
I couldn't find any WPT coverage for this, so here's a homemade test.
2025-08-04 10:50:09 +01:00
Sam Atkins
e072ddfebd
LibWeb/CSS: Use ErrorReporter for rule-parsing errors
...
Unfortunately we already have an InvalidRuleError type defined in the
CSS Parser, so it has to be qualified here, at least for now.
2025-08-04 10:50:09 +01:00
Sam Atkins
0bd83dd996
LibWeb/CSS: Use ErrorReporter for "rule X not allowed in Y" errors
...
QualifiedRule::for_each_as_declaration_list() now takes a rule_name, so
that the error message can actually be useful - we only know what a
qualified rule is by context.
2025-08-04 10:50:09 +01:00
Sam Atkins
d6cfd56ae6
LibWeb/CSS: Use ErrorReporter for selector parsing errors
...
Also removed the error reporting from parse_a_n_plus_b_pattern() as its
caller already reports that error.
2025-08-04 10:50:09 +01:00
Sam Atkins
2a2a1986cc
LibWeb/CSS: Add dump_string()
method to TokenStream
...
This is to support error reporting. It's not the most elegant way of
getting the source CSS, but it works.
2025-08-04 10:50:09 +01:00
Sam Atkins
012f4735a7
LibWeb/CSS: Introduce structured reporting for CSS errors
...
Instead of random dbgln_if(CSS_PARSER_DEBUG) messages, this lets us
report what kind of error it was. Repeated errors are combined instead
of spamming the console.
Ideally this would also record where the error occurred, but not yet.
2025-08-04 10:50:09 +01:00
Sam Atkins
b7a108d7cb
LibWeb/CSS: Remove unused ParseError::InternalError
2025-08-04 10:50:09 +01:00
Sam Atkins
d55626dc32
LibWeb/CSS: Remove debug logging I left in by accident
2025-08-04 10:50:09 +01:00
Sam Atkins
d86bcc795d
LibWeb/CSS: Remove duplicate error reporting for invalid descriptors
...
parse_descriptor_value() already logs this.
2025-08-04 10:50:09 +01:00
devgianlu
b068dd732d
LibWeb/Crypto: Remove RSA-PSS key import FIXMEs after spec fix
2025-08-04 10:40:53 +02:00
devgianlu
667de49a6c
LibWeb/Crypto: Remove clang-format style issues FIXMEs
...
These FIXMEs don't mean much. If you try to inline it, you'll see it's
broken. PR review will catch it.
2025-08-04 10:40:53 +02:00
devgianlu
d71b66239b
LibWeb/Crypto: Remove support applicable specification TODOs
...
We have a bunch of TODO/FIXME about supporting applicable specifications
for algorithms that are not mentioned in the spec. There is no plan to
have any, there is nothing to do as of now.
2025-08-04 10:40:53 +02:00
devgianlu
6281175e86
LibWeb/Crypto: Use builtin base64 encoding/decoding padding options
2025-08-04 10:40:53 +02:00
Callum Law
8a4e9f571f
LibWeb: Respect letter-spacing
for last glyph of each chunk
...
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
Previously we would omit the letter spacing for the end glyph of each
chunk in a misguided attempt to conform to the spec's instruction that
we "really should not append letter spacing to the right or trailing
edge of a line", this behaviour can be removed entirely as other
browsers (Firefox, Chrome) don't implement it either.
2025-08-03 22:23:34 +02:00
Tim Ledbetter
1d9e4a6f62
LibWeb: Parse anchor()
function for inset properties
2025-08-03 22:09:31 +02:00
Idan Horowitz
ba6b82464c
LibWeb: Add initial support for SVGImageElement
in createImageBitmap
2025-08-03 21:47:48 +02:00
Idan Horowitz
bb6855c849
LibWeb: Add a getter for the default image bitmap of SVGImageElement
...
The default image bitmap is the first frame for animated bitmaps, and
the only frame for non-animated bitmaps.
2025-08-03 21:47:48 +02:00
Idan Horowitz
3b8ccf4d77
LibWeb: Add initial support for HTMLImageElement
in createImageBitmap
2025-08-03 21:47:48 +02:00
Idan Horowitz
cc0496284b
LibWeb: Add a getter for the default image bitmap of HTMLImageElement
...
The default image bitmap is the first frame for animated bitmaps, and
the only frame for non-animated bitmaps.
2025-08-03 21:47:48 +02:00
Idan Horowitz
9b11e0051c
LibWeb: Support ImageBitmapOptions's resize{Width,Height} fields
2025-08-03 21:47:48 +02:00
Michael Manganiello
7fed49ea5c
LibWeb: Fix local storage type in Window::local_storage()
...
The storage type was being incorrectly set to Session instead of Local,
apparently because of copying the implementation from
`Window::session_storage()`.
Bug introduced in commit 2066ed2318
2025-08-03 19:23:09 +02:00
Tim Ledbetter
3e8ede5dc4
LibWeb: Remove HTMLImageElement::src()
...
This is no longer used.
2025-08-03 17:33:06 +02:00
Tim Ledbetter
4a1740f299
LibWeb: Ensure image context menu uses the correct image source
...
Previously, the value of the `src` tag would always be used as the
image source URL when requesting an image context menu, which may not
be correct if an image uses a `srcset` or has a parent picture tag.
2025-08-03 17:33:06 +02:00
Emmanuel Ferdman
d821af1f24
Base: Stop relying on const-ness not being enforced by LibJS
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
2025-08-03 05:37:34 -07:00
devgianlu
4e6da3b14a
LibWeb/Crypto: Avoid double copies when create CryptoKey
s
2025-08-03 04:52:35 -07:00
devgianlu
b4deae6abf
LibWeb/Crypto: Add JWK alg attribute to Ed{448,25519} keys
...
Spec PR: https://github.com/WICG/webcrypto-secure-curves/pull/34
2025-08-03 04:52:35 -07:00
devgianlu
3a8984b255
LibWeb/Crypto: Add raw key length checks to {Ed,X}{448,25519} key import
...
Following the spec update we finally can add these checks.
Spec PR: https://github.com/WICG/webcrypto-secure-curves/pull/35
2025-08-03 04:52:35 -07:00