Andreas Kling
a640fcc693
LibWeb: Import a bunch of :has() selector tests from WPT
2024-10-27 13:33:46 +01:00
Andreas Kling
ec0838b84e
LibWeb: Implement HTMLElement.innerText closer to spec
...
And here's the wild part: instead of cloning WPT tests, import the
relevant WPT tests that this fixes into our own test suite.
This works by adding a small Ladybird-specific callback in
resources/testharnessreport.js (which is what that file is meant for!)
Note that these run as text tests, and so they must signal the runner
when they are done. Tests using the "usual" WPT harness should just
work, but tests that do something more freestyle will need manual
signaling if they are to be imported.
I've also increased the test timeout here from 30 to 60 seconds,
to accommodate the larger WPT-style tests.
2024-10-27 12:10:28 +01:00
stelar7
23fc04d264
LibWeb: Implement RSAOAEP.decrypt()
2024-10-27 11:26:12 +01:00
stelar7
378808f6ba
LibCrypto: Implement OAEP decode from newer spec
2024-10-27 11:26:12 +01:00
stelar7
48bd094712
LibWeb: Implement RSAOAEP.encrypt()
2024-10-27 11:26:12 +01:00
stelar7
b2b500ba82
LibCrypto: Extend OAEP test with RSA example
2024-10-27 11:26:12 +01:00
Kostya Farber
2dc788df00
LibWeb: Bring tab-size closer to the spec
...
When the css tab-size property is a number, we need to add
the associated letter-spacing and word-spacing to it's width.
2024-10-27 11:03:35 +01:00
Magnus Johansson
c6f77f4818
LibWeb: Fallback to auto when aspect ratio is degenerate as per spec
...
When aspect-ratio is degenerate (e.g. 0/1 or 1/0) we should
fallback to the same behaviour as `aspect-ratio: auto` according to spec
This commit explicitly handles this case and fixes five WPT test in
css/css-sizing/aspect-ratio (zero-or-infinity-[006-010])
2024-10-27 10:56:17 +01:00
Ankush Chatterjee
85356094b5
LibWeb/CSS: Add math expression support for transform-origin
2024-10-27 10:21:22 +01:00
Ben Wiederhake
ff3d78f369
LibWeb: Integration test for WebCrypto AES-CBC
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, 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
Push notes / build (push) Waiting to run
2024-10-26 17:50:22 +02:00
Ben Wiederhake
92d4cb7b09
LibCrypto: Fix and test CBC with CMS and ZeroLen padding
2024-10-26 17:50:22 +02:00
Jelle Raaijmakers
29974de852
LibWeb: Parse and store filter
property
...
This shares its implementation with `backdrop-filter`.
2024-10-26 11:26:42 +02:00
Kostya Farber
44b1c4f2b5
LibWeb: Parse the word-break css property
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, 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
Push notes / build (push) Waiting to run
2024-10-26 00:18:02 +02:00
Ben Wiederhake
124bd115a1
LibWeb: Fix crash when importing malformed RSAOAEP key
...
This fixes a crash in WPT:
WebCryptoAPI/import_export/rsa_importKey.https.any
This allows us to pass 240 tests!
2024-10-26 00:14:42 +02:00
Jelle Raaijmakers
352a66390f
LibWeb: Do not resolve inline block height early if height is definite
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, 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
Push notes / build (push) Waiting to run
This condition was included to implement flex containers with auto
height, but it actually can reset the definitive height to 0 for inline
blocks with only replaced elements such as an SVG. Removing the
condition does not break any in-tree test, so let's improve the
situation on the SVG side of things for now.
2024-10-25 15:13:30 +02:00
Jonne Ransijn
cc0fce3983
LibWeb: Fix infinite loop in Storage::internal_own_property_keys
...
Since `Storage::item_value` never returns an empty Optional,
and since `PlatformObject::is_supported_property_index` only
returns false when `item_value` returns an empty Optional,
the loop in `PlatformObject::internal_own_property_keys` will
never terminate when executed on a `Storage` instance.
This fix allows youtube.com to load successfully :^)
2024-10-25 12:42:29 +02:00
Ben Wiederhake
5249faeeb9
Tests: Mark test-files (images and html) as non-executable
...
These files seem to have been marked as executable by error.
Found by running the command:
find \( -name WPT -or -name Toolchain -or -name Build \) \
-prune -or -executable \! -type d -print \
| grep -Pv '\.(sh|py)$'
2024-10-25 09:00:52 +02:00
Timothy Flynn
dc74ecac55
LibWeb: Don't re-invent println for sticky element test
2024-10-24 20:41:30 -04:00
sideshowbarker
ede6924db8
LibWeb: Complete support for all ARIA properties in current spec
...
This change completes handling for all ARIA properties defined in the
current ARIA spec — by adding handling for the following properties:
- aria-braillelabel
- aria-brailleroledescription
- aria-colindextext
- aria-description
- aria-rowindextext
2024-10-24 22:21:46 +02:00
Timothy Flynn
9bdf2e928c
LibWeb: Begin implementing FontFaceSet.prototype.load
...
This implementation is incomplete in that we do not fully implement the
steps to match the given font against the fonts in the set.
This is used by fonts.google.com to load the fonts used for sample text.
2024-10-24 17:50:19 +02:00
Ali Mohammad Pur
00c45243bd
LibRegex: Don't blindly accept inverted charclasses for atomic rewrite
2024-10-24 07:36:51 -04:00
Florian Cramer
1775021d71
LibXML: Allow empty pubid when parsing document type
2024-10-23 21:08:56 +02:00
Florian Cramer
89192ecc46
LibXML: Allow empty systemid when parsing document type
...
This fixes at least one WPT under /domparsing
2024-10-23 21:08:56 +02:00
uysalibov
e537adad77
LibWeb: Add screenshot test for canvas-shadow
2024-10-23 11:42:56 -06:00
Ben Wiederhake
6d68d6ddb2
LibWeb: Test subtleties in HKDF 'salt' interpretation
...
This also doubles as HKDF implementation test.
2024-10-23 11:33:58 -06:00
Ben Wiederhake
8abd399a53
LibCrypto: Implement and test HKDF
2024-10-23 11:33:58 -06:00
Andrew Kaster
85541f1e76
LibWeb: Add most of ServiceWorker Update algorithm
...
This misses the final, most important part of actually creating a
service worker object and sending the script over to it in a WebWorker
process.
2024-10-23 11:33:28 -06:00
Jim Broadbent
7a66316297
LibWeb/Storage: Return undefined for non-existent key/index access
...
All tests at now pass: http://wpt.live/webstorage/defineProperty.window.html
2024-10-23 11:31:47 -06:00
Gingeh
c10cb8ac8d
LibURL: Use UTF-8 for percent encoding URL fragments
2024-10-23 11:30:59 -06:00
Timothy Flynn
527218da19
LibWeb: Implement the document.cookie setter/getter according to spec
...
This ensures we cannot set or get cookies on non-HTTP(S) origins. Since
this would prevent our ability to test cookies during LibWeb tests, this
also adds an internals API to allow cookie access on file:// URLs.
2024-10-23 09:05:33 +02:00
Alex Ungurianu
a4c72f50c0
LibWeb: Parse @property
CSS directives
...
This is not a complete parse, as it doesn't validate or take into
account the parsed syntax.
Enough to get us a few more WPT tests though :)
2024-10-23 06:55:37 +01:00
Alex Ungurianu
50d64b0fb7
LibWeb: Add and implement CSSPropertyRule
IDL and bindings
2024-10-23 06:55:37 +01:00
Aliaksandr Kalenik
648fac7215
LibWeb: Fix "input" events being dispatched twice when cancelled
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, 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
Push notes / build (push) Waiting to run
2024-10-22 19:41:07 -04:00
ronak69
6c3ecf6a34
LibWeb/CSS: Tweak in CSSRGB::to_color() to avoid floating point errors
...
Example of the difference:
50 * 2.55 --> 127.4999 --> round towards +∞ --> 127
50 * 255 / 100 --> 127.5000 --> round towards +∞ --> 128
Now, 9 failing WPT tests in /css/css-color/ pass.
2024-10-22 14:18:17 +01:00
Aliaksandr Kalenik
63f502ab0a
LibWeb: Implement dispatching of "beforeinput" event
2024-10-22 08:44:51 -04:00
Aliaksandr Kalenik
0de61b0f65
LibWeb: Implement dispatching of "input" event
2024-10-22 08:44:51 -04:00
Aliaksandr Kalenik
d88e6bee5d
LibWeb: Put cursor in last text node when contenteditable is focused
...
With this change we match behavior of other engines a bit more closer.
2024-10-22 08:44:51 -04:00
Jelle Raaijmakers
e4533e5595
LibWeb: Do not floor SVG offset in SVGPathPaintable
...
Resolves a FIXME and improves the visuals of https://tweakers.net :^)
2024-10-22 07:37:59 -04:00
Timothy Flynn
c96c5e45ff
LibWeb: Implement KeyboardEvent.charCode according to spec
...
It should be 0 for keydown/keyup events.
2024-10-22 12:48:58 +02:00
samu698
d08d305399
LibWeb: Fixed IDL for HTMLInputElement
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, 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
Push notes / build (push) Waiting to run
Use Enumerated for the form{Enctype, Method} attributes
2024-10-21 15:41:00 -06:00
samu698
ab04f6d422
LibWeb: Fixed IDL for HTMLButtonElement
...
Use Enumerated for the form{Enctype, Method} attributes
2024-10-21 15:41:00 -06:00
samu698
6892482755
LibWeb: Use correct IDL for HTTPFormElement's method attribute
...
Removed the custom getter and updated the idl so that the attribute
is Reflected and Enumerated.
2024-10-21 15:41:00 -06:00
Aliaksandr Kalenik
629a3ac61e
LibWeb: Add missing check if scrollable overflow defined for paintable
...
With 6a549f6270
we need to check if
optional scrollable overflow exists for paintable box, because it's not
computed for inline nodes.
Fixes crashing after navigating into direct messages screen on Discord.
2024-10-21 15:57:19 +02:00
Andreas Kling
325ff4ac27
Revert "LibGfx: Use actual vector size as indicated by HarfBuzz"
...
This reverts commit 14f5f51147
.
2024-10-21 12:09:11 +02:00
Andreas Kling
fdfbfcab37
Revert "LibWeb: Unbreak harfbuzz text layout"
...
This reverts commit a8d0712c28
.
2024-10-21 12:09:02 +02:00
Andreas Kling
a8d0712c28
LibWeb: Unbreak harfbuzz text layout
...
The reason we were keeping track of the pre-shaping buffer was to know
where we had tab characters in the input. This is a very strange way of
doing that, but since it broke the web, let's patch it up quickly.
Follow-up to #1870 which broke text layout on many web pages.
2024-10-21 10:30:12 +02:00
Ben Wiederhake
14f5f51147
LibGfx: Use actual vector size as indicated by HarfBuzz
...
This fixes a browser crash as experienced on Wikipedia when encountering
the ≠ entity. As a side-effect, this also affects some tab-align and
-wrap tests.
2024-10-21 10:15:39 +02:00
samu698
50f642613d
LibWeb/HTML: Implement inner text set according to spec
...
Replaced the ad-hoc implementation with a spec compliant one.
This change fixes 36 WPT tests.
2024-10-20 22:15:04 +02:00
Andreas Kling
58c523ae46
LibWeb: Honor appearance: none
when creating input element layout node
...
Per css-ui-4, setting `appearance: none` is supposed to suppress the
creation of a native-looking widget for stuff like checkboxes, radio
buttons, etc.
This patch implements this behavior by simply falling back to creating
a layout node based on the CSS `display` property in such cases.
This fixes an issue on the hey.com imbox page where we were rendering
checkboxes on top of sender profile photos.
2024-10-20 21:58:58 +02:00
Bastian Müller
3be93ac49f
LibWeb/XHR: Parse URL to resolve blob
2024-10-20 07:58:22 -04:00