Commit graph

66979 commits

Author SHA1 Message Date
Jelle Raaijmakers
17d5dfe597 LibWeb: Implement Web::Fetch::Body::fully_read() closer to spec
By actually using streams, they get marked as disturbed and the
`.bodyUsed` API starts to work. Fixes at least 94 subtests in the WPT
`fetch/api/request` test suite.

Co-authored-by: Timothy Flynn <trflynn89@pm.me>
2024-12-09 20:02:51 -07:00
Timothy Flynn
9396a643b8 LibWeb: Ensure FilteredResponse setters forward to the base class
The spec for filtered responses states:

    Unless stated otherwise a filtered response’s associated concepts
    (such as its body) refer to the associated concepts of its internal
    response.

This includes setting its associated concepts. In particular, when the
filtered response's body is set upon fetching a request with integrity
metadata, we must set the internal response's body instead.

Further restrictions that apply to filtered response subclasses (such as
opaque filtered responses having a status code of 0) are already
implemented.
2024-12-09 20:02:51 -07:00
Timothy Flynn
4b4b12165e LibWeb: Release acquired readers after piping through a stream
This very partially implements the spec's "finalize" steps for piping
streams.
2024-12-09 20:02:51 -07:00
Timothy Flynn
383d303b79 LibWeb: Enable callbacks in execution contexts when teeing streams
This will be needed once fetched response bodies are read using streams.
2024-12-09 20:02:51 -07:00
Timothy Flynn
5cd6d403ca LibWeb: Remove outdated comment about synchronous body initialization
We now do this step asynchronously.
2024-12-09 20:02:51 -07:00
Timothy Flynn
953fe75271 LibWeb: Remove exception handling from safely extracting response bodies
The entire purpose of this AO is to avoid handling exceptions, which we
can do now that the underlying AOs do not throw exceptions on OOM.
2024-12-09 20:02:51 -07:00
Timothy Flynn
49ff5eb4d8 LibWeb: Do not move heap functions into other heap functions in Fetch
In particular, the processBody callback here *can't* move the
processBodyError callback. It is needed a few lines after. Passing by
value is safe and intended here.
2024-12-09 20:02:51 -07:00
Andrew Kaster
f0bfb7f697 LibWeb: Don't capture local variables in HTMLImageElement::decode 2024-12-10 00:50:45 +01:00
Pavel Shliak
10311fba87 LibWeb: Align mfrac Padding with Updated MathML Core Spec
This aligns with the transition from the MathML Core Working Draft
(27 November 2023) to the Editor's Draft (26 November 2024).
2024-12-09 20:06:48 +00:00
Pavel Shliak
617ad9c3a5 LibWeb: Move expensive-to-copy arguments 2024-12-09 13:55:03 +01:00
Pavel Shliak
399af2416a LibWeb: Do not pass cheap-to-copy enums by reference 2024-12-09 13:55:03 +01:00
Pavel Shliak
6f81b80114 Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
Pavel Shliak
97d99aa8d6 AK: Verify that HashMap is not empty in take_first
This makes the behavior uniform with:
- HashTable
- SinglyLinkedList
- Vector
2024-12-09 12:31:16 +01:00
Pavel Shliak
e08f6a69b2 LibWasm: Respect instance.types() bounds 2024-12-09 12:30:41 +01:00
Lucien Fiorini
3c2bbd45cf Tests: Mark test as passing in XMLSerializer-serializeToString.txt 2024-12-09 09:13:24 +00:00
Lucien Fiorini
ae8033b80f LibWeb: Rename abbreviated variable name 2024-12-09 09:13:24 +00:00
Lucien Fiorini
7feb8eb5bf Tests: Import WPT test for firstElementChild namespace in xhtml 2024-12-09 09:13:24 +00:00
Lucien Fiorini
0c24c9150a LibWeb: Parse the qualified name of XML dom elements correctly 2024-12-09 09:13:24 +00:00
sideshowbarker
0a2aa87107 LibWeb: Assign ARIA role “switch” to <input type=checkbox switch> 2024-12-09 09:47:36 +01:00
R-Goc
18132a0be1 LibJS: Remove compile flag for Windows 2024-12-08 17:37:26 -07:00
R-Goc
f380b4b95b AK: Port BumpAllocator.h to Windows
Done by forward declaring the required functions and defining the needed
constants. The defines shouldn't collide as they are from memoryapi.h.
This is done to avoid including windows.h.
2024-12-08 17:36:37 -07:00
R-Goc
c66eb5db11 LibCore: Add includes for S_ISDIR on Windows 2024-12-08 17:29:22 -07:00
stasoid
777dcdf6d0 LibCore: Port SharedCircularQueue to Windows 2024-12-08 17:25:40 -07:00
stasoid
85da489f39 LibThreading: Build on Windows 2024-12-08 17:19:42 -07:00
R-Goc
e2b6ab4a69 LibCrypto: DER.cpp use uz literals 2024-12-08 17:18:12 -07:00
R-Goc
3e69794c7d LibCrypto: Use size_t integer literal 2024-12-08 17:18:12 -07:00
Konstantin Konstantin
b03138cbff LibWeb: Support creation of shared memory in WebAssembly API
Add support for shared memory creation in WebAssembly memory API.
This API is needed for WPT tests that use shared array buffers.

Import related WPT tests.
2024-12-08 22:10:45 +01:00
Pavel Shliak
6ec06a01a2 LibCore: Do not include math.h in ArgsParser 2024-12-08 16:38:13 +00:00
sideshowbarker
aa2c296489 Docs: Add “Is [some particular site] usable in Ladybird” to FAQ 2024-12-08 15:30:03 +01:00
Pavel Shliak
116e7baead LibGfx: Remove aligned_within from Rect
The CenterRight and TopCenter alignment cases were
mistakenly identical due to a copy-paste error,
causing the function to behave unexpectedly.
Rather than attempting to fix it, remove aligned_within entirely.
2024-12-08 13:32:10 +00:00
Jelle Raaijmakers
4c6cb13f7f CI: Make stalebot actually close PRs after 30 days
Now stalebot has run to completion on notifying stale PRs, we can
enable its PR closing behavior.
2024-12-07 22:09:45 +01:00
Jelle Raaijmakers
681531d0e5 CI: Increase stalebot operations per run to 500
No need to limit ourselves to 30 API calls per run :^)
2024-12-07 22:07:15 +01:00
Jelle Raaijmakers
ea58dbd507 CI: Set actions permission for stalebot
The stale action has a weird interaction with the cache which requires
the `actions: write` permission. Without this, it is unable to overwrite
any existing cache key.
2024-12-07 21:58:53 +01:00
Jelle Raaijmakers
3da855e0cc CI: Fix Stalebot not progressing on PRs between runs 2024-12-07 21:43:06 +01:00
Jelle Raaijmakers
643eb1c2a6 CI: Configure stale bot for PRs
We want to remind both contributors and maintainers that PRs should be
up-to-date, reviewed and merged. Stale bot does a pretty good job of
notifying the right people :^)
2024-12-07 21:12:17 +01:00
devgianlu
c7a1287a4f LibCrypto: Remove ASN1 encoding/decoding from SECPxxxr1
Little refactoring to remove the last bits of ASN1 decoding/encoding
from within the `SECPxxxr1` class. It was a bit confusing for the
`SECPxxxr1` methods to handle ASN1 internally implicitly. Some explicit
methods are available to achieve the same functionality on the data
structures.
2024-12-07 19:08:40 +01:00
devgianlu
27fbcf70bf LibTLS: Parse SECP256r1 parameters separately 2024-12-07 19:08:40 +01:00
devgianlu
bce2893638 LibCrypto: Add utility functions to SECPxxxr1
This allows to move ASN1 logic from inside the `SECPxxxr1` curve
itself to the data structures. It makes more sense to have dedicated and
explicit methods to handle transformation between formats.
2024-12-07 19:08:40 +01:00
rmg-x
0cd4c26ae8 Tests/LibWeb: Fix type for delay_ms property in HTTP echo server
This was mistakenly changed from int -> str in a previous commit:
08b8c88ac3
2024-12-07 15:49:15 +00:00
Felipe Muñoz Mazur
e27c59047a LibWeb: Handle abort signal in CloseWatcher 2024-12-07 12:06:53 +00:00
Glenn Skrzypczak
156f9fff32 LibWeb: Support the X-Frame-Options header
Navigation responses are now checked for adherence to the
`X-Frame-Options` header and an error is shown accordingly.
2024-12-07 08:38:02 +00:00
Glenn Skrzypczak
88884c370c LibWeb: Act as if parsing stopped when generating an error document
The user agent now acts as if it has stopped parsing when creating a
document for inline content to display an error.
2024-12-07 08:38:02 +00:00
Andreas Kling
6d7bb074fc LibWeb: Don't serialize resolved CSS color values as named colors
With all the plumbing in place, we can handle this quirk at the
serialization layer.

This allows us to remove the pass where StyleComputer would loop over
all computed values and replace any color values with new values
stripped of their original name strings.
2024-12-07 08:31:03 +00:00
Andreas Kling
b3c4b4fd97 LibWeb: Serialize resolved CSS values in dedicated serialization mode
This doesn't actually do anything differently yet, but it will in the
very next commit.
2024-12-07 08:31:03 +00:00
Andreas Kling
e85c3c97fb LibWeb: Add mode flag to CSSStyleValue::to_string()
This will be used to differentiate between serialization for resolved
style (i.e window.getComputedStyle()) and serialization for all other
purposes.
2024-12-07 08:31:03 +00:00
sideshowbarker
c1b29e7cc4 Tests: Import the WPT accname/basic.html test
This change imports the https://wpt.live/accname/basic.html — which we
had overlooked earlier when importing all the other WPT accname tests.
(Note that this one of the six upstream WPT tests that directly call
test_driver.get_computed_label(element) — and so that we’d otherwise
need to patch our copy of, if we weren’t patching it in testdriver.js).
2024-12-07 08:25:26 +00:00
sideshowbarker
e10db3aaf0 Tests: Move window.internals.getComputedLabel into testdriver.js file
This change takes the change we made in 120bc52f23 to patch the imported
WPT aria-utils.js file to use our window.internals.getComputedLabel(el)
function, and moves that patching into the imported WPT testdriver.js
file — in the same way we did in c5966bbdcb.

That centralizes the patching, and avoids the need to patch multiple
other WPT tests we’re likely to import eventually. There are actually
six different WPT test files upstream which we haven’t imported yet that
call window.test_driver_internal.get_computed_label(el) directly — and
that, without this change, we’d otherwise end up needing to patch.
2024-12-07 08:25:26 +00:00
Aliaksandr Kalenik
46b95182a0 CodeGenerators: Delete unnecessary overrides in WebGL generator
getAttribLocation() and getAttribLocation() could be generated
automatically so we don't need to have overriden function bodies for
them.
2024-12-07 01:36:08 +01:00
Aliaksandr Kalenik
f074df171b CodeGenerators: Use snake case for function parameter names in WebGL 2024-12-07 01:36:08 +01:00
Aliaksandr Kalenik
86c230cd8e LibWeb/WebGL: Implement vertex array calls for WebGL2 2024-12-07 00:05:36 +01:00