Linus Groh
14e722617c
LibWeb: Implement 'Queue a fetch task' AO
2022-10-30 20:10:29 +00:00
Linus Groh
6deb5ce9b5
LibWeb: Implement 'Default User-Agent
value' AO
2022-10-30 20:10:29 +00:00
Linus Groh
5ee9feb9cf
LibWeb: Implement 'Append a request Origin
header' AO
2022-10-30 20:10:29 +00:00
Linus Groh
c93e6ea0d9
LibWeb: Implement 'Appropriate network error' AO
2022-10-30 20:10:29 +00:00
Linus Groh
361ab205fa
LibWeb: Implement 'CORS check' / 'TAO check' AOs
2022-10-30 20:10:29 +00:00
Linus Groh
8db64a8704
LibWeb: Implement 'Is non-secure context' AO
2022-10-30 20:10:29 +00:00
Linus Groh
4baf0a4486
LibWeb: Implement 'Is secure context' AO
2022-10-30 20:10:29 +00:00
Linus Groh
5d86eae119
LibWeb: Implement 'fetch params' struct
2022-10-30 20:10:29 +00:00
Linus Groh
ba31547fa0
LibWeb: Implement container class for fetch algorithms
2022-10-30 20:10:29 +00:00
Linus Groh
dd5d3e2f4f
LibWeb: Implement 'fetch controller' struct
2022-10-30 20:10:29 +00:00
Linus Groh
fef331a03f
LibWeb: Implement 'fetch timing info' struct
2022-10-30 20:10:29 +00:00
Linus Groh
1f8ed8fca7
LibWeb: Implement 'connection timing info' struct
2022-10-30 20:10:29 +00:00
Linus Groh
cc6eaafe6b
LibWeb: Implement 'Byte sequence as body' AO
2022-10-30 20:10:29 +00:00
Linus Groh
dcded8d39f
LibWeb: Implement 'Safely extract BodyInit' AO
2022-10-30 20:10:29 +00:00
Linus Groh
1e1fbb93fb
LibWeb: Implement 'Determine request’s Referrer' AO
2022-10-30 20:10:29 +00:00
Linus Groh
1e5cac9e9c
LibWeb: Implement 'Strip url for use as a referrer' AO
2022-10-30 20:10:29 +00:00
Linus Groh
6c1a9b28f1
LibWeb: Implement 'Is url potentially trustworthy?' AO
2022-10-30 20:10:29 +00:00
Linus Groh
d56a6eb508
LibWeb: Implement 'Is origin potentially trustworthy?' AO
2022-10-30 20:10:29 +00:00
Linus Groh
58ad6de954
LibWeb: Implement 'Should response be blocked due to nosniff?' AO
2022-10-30 20:10:29 +00:00
Linus Groh
7e46150a71
LibWeb: Implement 'Should response be blocked due to its MIME type?' AO
2022-10-30 20:10:29 +00:00
Linus Groh
62228f0870
LibWeb: Implement 'Should request be blocked due to a bad port' AO
2022-10-30 20:10:29 +00:00
Linus Groh
7fd4c7b0c6
LibWeb: Implement 'host is domain' concept from the URL spec
2022-10-30 20:10:29 +00:00
Linus Groh
55315d72f7
LibWeb: Explain the use-URL-credentials flag
...
This is a change in the Fetch spec.
See: https://github.com/whatwg/fetch/commit/a388348
2022-10-30 14:51:58 +00:00
Linus Groh
d2deb8fa6d
LibWeb: Add has-cross-origin-redirects flag to Fetch::Infra::Response
...
This is a change in the Fetch spec.
See: https://github.com/whatwg/fetch/commit/7c30987
2022-10-30 14:51:58 +00:00
Linus Groh
793a1f5994
LibWeb: Actually define Blob-to-ReadableStream conversion
...
This is a change in the Fetch spec.
See: https://github.com/whatwg/fetch/commit/4cd70cf
2022-10-30 14:48:32 +00:00
Linus Groh
b1968b8bed
LibWeb: Make Fetch::Infrastructure::{Request,Response,HeaderList} GC'd
...
This is the way.
On a more serious note, there's no reason to keep adding ref-counted
classes to LibWeb now that the majority of classes is GC'd - it only
adds the risk of discovering some cycle down the line, and forces us to
use handles as we can't visit().
2022-10-30 11:30:23 +00:00
Linus Groh
de3e6cc75c
LibWeb: Ensure dom_exception_to_throw_completion() always takes a VM
...
The combination of template + auto&& parameter + constexpr if statements
allowed one caller to pass in a GlobalObject, without the compiler
complaining.
2022-10-29 15:48:46 +01:00
Linus Groh
9cda0b2b2c
LibWeb: Remove outdated forward declarations
2022-10-29 15:48:46 +01:00
Linus Groh
6ce08d3f75
LibWeb: Use StringView literals for all WebIDL::SimpleException
s
2022-10-29 15:48:46 +01:00
Andreas Kling
14d4f227f2
LibWeb: Don't invalidate style when adding/removing empty style sheet
...
For whatever reason, web pages sometimes add and/or remove a completely
empty style sheet. When this happens, we don't need to invalidate the
document's style, since the outcome will be the same as before.
2022-10-29 15:16:57 +02:00
Andreas Kling
ba6a9318c3
LibWeb: Don't update style/layout in template contents owner documents
...
These helper documents don't actually get rendered, so computing style
and doing layout for them is a complete waste of work.
2022-10-29 15:16:57 +02:00
Andreas Kling
64d5d633cf
LibWeb: Don't invalidate layout when setting .innerHTML on <template>
...
HTML template elements don't affect rendering, so invalidating the
entire document's layout after poking into a <template> was a huge waste
of work on template-heavy pages.
2022-10-29 15:16:57 +02:00
Andreas Kling
ba5e511dc1
LibWeb: Make layout-after-resize lazy (because why not)
...
There's no need to force a synchronous relayout after the viewport has
been resized. By making it lazy, we might be able to coalesce it with
other layout work.
2022-10-29 15:16:57 +02:00
Andreas Kling
c7489e7665
LibWeb: Don't invalidate style for entire document on Node insertion
...
Like for attribute changes, we now only invalidate the insertion parent
and all of its descendants. Again, this is very aggressive, but also
way less than doing the entire document.
Once we implement the CSS :has() selector, we'll need to become more
sophisticated about invalidation.
2022-10-29 15:16:57 +02:00
Andreas Kling
a4de30de5a
LibWeb: Update "appropriate template contents owner document" AO
...
This was moved from HTMLTemplateElement to Document at some point,
so let's match the spec and move it here too.
2022-10-29 15:16:57 +02:00
Andreas Kling
ccd72a2add
LibWeb: Don't invalidate style for entire document on attribute change
...
We now only invalidate the style of the context element and all of its
descendants. It's still very aggressive, but much less than before.
Note that this will need to become a lot smarter once we implement the
CSS :has() selector.
2022-10-29 15:16:57 +02:00
Andreas Kling
5530040b3c
LibWeb: Annotate and simplify the HTML fragment parsing algorithm
...
This patch adds inline spec comments, and then adjusts the code a bit
so it reads more like the spec.
2022-10-29 15:16:57 +02:00
Luke Wilde
5e2b41175c
LibWeb: Return empty Optional<StyleProperty> for shorthand properties
...
This is a stopgap until we implement shorthand -> longhand conversion.
2022-10-28 16:17:08 +01:00
Luke Wilde
377eb09492
LibWeb: Stub HTMLMediaElement.load
2022-10-28 16:17:08 +01:00
Luke Wilde
62e3117dfd
LibWeb: Expose NodeFilter on the Window object
2022-10-28 16:17:08 +01:00
Luke Wilde
8fdf4b43cd
LibWasm: Specify which instruction opcode failed validation in error
2022-10-28 10:27:02 +03:30
Luke Wilde
805e6593b9
LibWasm: Add missing validation for memory.copy
...
This has the exact same validation as memory.fill
2022-10-28 10:27:02 +03:30
Andreas Kling
b1c73b3605
Revert "LibWeb: Use OrderedHashMap to store pending idle callbacks"
...
This reverts commit dc15cacfc3
.
It appears to be causing some assertions, so let's revert it.
2022-10-27 17:25:52 +02:00
Tim Schumacher
1d5dbd1b80
LibCore: Limit to the user buffer size when reading lines from a stream
...
Previously, this would cause an assert to fail if one reads a completely
buffered line into a buffer that is smaller than the Stream's internal
buffer.
2022-10-27 13:08:19 +02:00
Sam Atkins
ff0a2b1a60
LibGfx+Everywhere: Make DisjointRectSet work for non-int Rects
...
For convenience, `DisjointIntRectSet` is an alias for
`DisjointRectSet<int>`, and is used everywhere for now.
2022-10-27 13:06:33 +02:00
Sam Atkins
f52413a70e
LibGfx: Move DisjointRectSet code into the header file
...
This is in preparation for converting it to a template. No changes here,
only moving code around.
2022-10-27 13:06:33 +02:00
Sam Atkins
6a4dde1d99
LibGfx: Correct Line::to_string() output
...
This looks like a copy-paste issue from Rect::to_string().
2022-10-27 13:05:16 +02:00
Sam Atkins
07bceb861a
LibGfx: Make formatting of spatial types work with non-int/floats
...
Line, Point, Rect, and Size now all have Formatters that will work with
any type that itself has a Formatter.
2022-10-27 13:05:16 +02:00
Andreas Kling
27b63feae5
LibWeb: Always resolve horizontal padding and borders on block-level boxes
...
We were neglecting to resolve the used horizontal padding and border
properties on block-level boxes when treating their width as `auto`
during intrinsic sizing.
This led to padding and border not contributing to the intrinsic width
of their containing block
2022-10-27 13:02:27 +02:00
Andreas Kling
4580e054f5
LibWeb: Place block-level boxes in both axes before doing inside layout
...
This ensures that static position calculations has access to final
box offsets.
2022-10-27 13:02:27 +02:00