1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 11:55:12 +00:00
Commit graph

4900 commits

Author SHA1 Message Date
Luke Wilde
fcd3b16d63 LibWeb: Visit CallbackType's stored EnvironmentSettingsObject reference 2023-02-27 20:49:00 +01:00
Ali Mohammad Pur
8a36d8826f LibWeb: Implement the js-api portion of Wasm multi-value 2023-02-26 10:54:23 +03:30
Ali Mohammad Pur
6b50f23242 LibWasm+LibWeb: Sneak a JS::Completion into Wasm::Result
Imported functions in Wasm may throw JS exceptions, and we need to
preserve these exceptions so we can pass them to the calling JS code.

This also adds a `assert_wasm_result()` API to Result for cases where
only Wasm traps or values are expected (e.g. internal uses) to avoid
making LibWasm (pointlessly) handle JS exceptions that will never show
up in reality.
2023-02-26 10:54:23 +03:30
Kenneth Myhra
9a5a8d617d LibWeb: Port IDL implementations Blob and File to new String 2023-02-26 00:27:22 +01:00
Kenneth Myhra
31a9bd2bfd LibWeb: Add to_ascii_upper_case() from the Infra spec
https://infra.spec.whatwg.org/#ascii-uppercase
2023-02-26 00:27:22 +01:00
Kenneth Myhra
2c1e15bd3b LibWeb: Add to_ascii_lower_case() from the Infra spec
https://infra.spec.whatwg.org/#ascii-lowercase
2023-02-26 00:27:22 +01:00
Linus Groh
09d40bfbb2 Everywhere: Use _{short_,}string to create Strings from literals 2023-02-25 20:51:49 +01:00
Timothy Flynn
87c4080d00 Browser+LibWeb+WebContent: Store cookie expiry times in UTC
We are currently converting parsed expiry times to local time, whereas
the RFC dictates we parse them as UTC. When expiring cookies, we must
also use the current UTC time to compare against the cookies' expiry
times.
2023-02-24 15:50:42 -05:00
Aliaksandr Kalenik
8eeedce805 LibWeb: Consider transform property while finding containing block 2023-02-24 20:55:40 +01:00
Aliaksandr Kalenik
6092d81e4d LibWeb: Stop overflow clip box aggregation on reached stacking context 2023-02-24 20:55:40 +01:00
Aliaksandr Kalenik
87fa1c5e66 Revert "LibWeb: Fix clip of hidden overflow..."
This reverts commit eb1ef59603c13c43b87c099c43c4d118dc8441f6.

The idea of saving clip box to apply it to handle `overflow: hidden`
turned out to break painting if box is painted before it's containing
block (it is possible if box has negative z-index).
2023-02-24 20:55:40 +01:00
Timothy Flynn
8d0b0fbdd3 LibWeb: Make text fragment indexing handle multi-code point glyphs 2023-02-24 20:28:23 +01:00
Timothy Flynn
3d7b13ac03 LibWeb: Make canvas text preparation handle multi-code point glyphs 2023-02-24 20:28:23 +01:00
Kenneth Myhra
fa1ba7fadf LibWeb: Mark JS::Promise* return value for digest() with JS::NNGCPtr 2023-02-24 19:24:39 +01:00
Kenneth Myhra
f783af05ed LibWeb: Port SubtleCrypto to new String
The algorithm comparison in digest() is done using a StringView to avoid
complex error handling and promise rejection.
2023-02-24 19:24:39 +01:00
Kenneth Myhra
a8cef1fa06 LibWeb: Port Crypto to new String 2023-02-24 19:24:39 +01:00
Andreas Kling
3435820e1f LibWeb: Render HTML content if present for HTTP error pages
If an HTTP response fails with an error code (e.g 403) but still has
body content, we now render the content.

We only fall back to our own built-in error page if there's no body.
2023-02-24 19:15:49 +01:00
Sam Atkins
0fb6f87d49 LibWeb: Add spec link to border-width: thin/medium/thick definitions
In the latest backgrounds-3 spec, these have official fixed values. :^)
2023-02-23 16:20:44 +00:00
Kenneth Myhra
e905f25911 LibWeb: Port Worker to new String 2023-02-23 15:48:38 +00:00
Kenneth Myhra
be727ea871 LibWeb: Port WorkerGlobalScope to new String 2023-02-23 15:48:38 +00:00
Kenneth Myhra
9c5bdb0b86 LibWeb: Port WorkerLocation to new String 2023-02-23 15:48:38 +00:00
Kenneth Myhra
385b880862 LibWeb: Make factory method of IntersectionObserver fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
f0fd1cae3d LibWeb: Make factory method of IdleDeadline fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
ff2a991e19 LibWeb: Make factory method of ResizeObserver::ResizeObserver fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
dcbe927b48 LibWeb: Make factory method of Selection::Selection fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
d69e863286 LibWeb: Propagate error in factory method of Streams::ReadableStream 2023-02-22 09:55:33 +01:00
Kenneth Myhra
07db02cd2c LibWeb: Make factory method of Geometry::DOMRectReadOnly fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
ec0049441c LibWeb: Make factory methods of Geometry::DOMRect fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
9b190b9509 LibWeb: Make factory method of Geometry::DOMRectList fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
4de5dc7a86 LibWeb: Make factory method of Geometry::DOMPointReadOnly fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
530ec85c4a LibWeb: Make factory method of Geometry::DOMPoint fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
459959b297 LibWeb: Make factory method of HTML::BrowsingContext fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
3f50025126 LibWeb: Make factory method of Fetch::Response fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
54913adf37 LibWeb: Make factory method of Fetch::Request fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
d7446089ae LibWeb: Make factory method of Encoding::TextEncoder fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
77e4432367 LibWeb: Make factory method of DOMParsing::XMLSerializer fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
f918d12655 LibWeb: Make factory methods of WebGL::WebGLContextEvent fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
ff92324fa5 LibWeb: Make factory method of DOM::ElementFactory fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
a2381a672d LibWeb: Make factory method of Fetch::HeadersIterator fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
b3734627a1 LibWeb: Make factory method of URL::URLSearchParamsIterator fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
1f48081ee4 LibWeb: Make factory methods of IDLEventListener and NodeFilter fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
e57461b89e LibWeb: Make factory methods of UIEvents::WheelEvent fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
587cf355ed LibWeb: Make factory methods of UIEvents::UIEvent fallible
This affects calls to FocusEvent::create() since FocusEvent does not
implement its own create() method.
2023-02-22 09:55:33 +01:00
Kenneth Myhra
a401cff4e2 LibWeb: Make factory methods of UIEvents::KeyboardEvent fallible 2023-02-22 09:55:33 +01:00
Kenneth Myhra
b91d599177 LibWeb: Make factory method of UIEvents::FocusEvent fallible 2023-02-22 09:55:33 +01:00
Luke Wilde
2ca8cf49ca LibWeb: Use browsing context creator URL for about:blank documents
In about:blank documents, we should use the browsing context's creator
URL as the base URL, if it exists and there is no <base> element.
This means that any about:blank frames will have URLs parse relative to
their parent frame's URL.

Fixes #17394.
2023-02-21 18:52:46 +01:00
Andrew Kaster
f40094d014 LibWeb+LibJS: Format Console arguments with JS::Print
Instead of just calling JS::Value::to_string_without_side_effects() when
printing values to the console, have all the console clients use
the same JS::Print that the REPL does to print values.

This method leaves some things to be desired as far as OOM hardening
goes, however. We should be able to create a String in a way that
doesn't OOM on failure so hard.
2023-02-21 10:57:44 +01:00
Andreas Kling
f11899f885 LibWeb+LibIDL: Fix (or paper over) various const-correctness issues
There's definitely stuff to iterate on here, but this takes care of
making the libraries compile with stricter RP and NNRP.
2023-02-21 00:54:04 +01:00
MacDue
3676f5085e LibWeb: Replace RefPtr with ValueComparingRefPtr in StyleValue
Like the name suggests this pointer type compares its pointees by value
rather than just by the pointer. This is needed for the defaulted
struct Properties equality operator.

This commit also contains a few changes to StyleValue such as replacing
the operator==()s with a .equals() again. This is done to avoid the new
reversed operator==()s ambiguity in C++20.
2023-02-20 10:50:20 +01:00
Jonah
30ec59f163 WebDriver: Add computedlabel endpoint 2023-02-19 13:28:01 -05:00