Luke Wilde
32e27bc7fa
LibWeb: Add a bunch of missing CEReactions
...
This is almost guaranteed not to be all CEReactions we need to add, but
this puts us in a much better situation.
2023-04-06 11:36:56 +02:00
Luke Wilde
034aaf3f51
LibWeb: Introduce CustomElementRegistry and creating custom elements
...
The main missing feature here is form associated custom elements.
2023-04-06 11:36:56 +02:00
Luke Wilde
083b547e97
LibWeb/WebIDL: Add the construct
abstract operation
...
This will be used by custom elements to upgrade an element to a custom
element.
2023-04-06 11:36:56 +02:00
Luke Wilde
9b8b363445
LibWeb/WebIDL: Move call_user_object_operation out of line
...
This makes it in line with `invoke_callback`.
2023-04-06 11:36:56 +02:00
Kenneth Myhra
1080281e58
LibWeb: Port AbstractBrowsingContext to String
2023-04-06 08:41:43 +02:00
Kenneth Myhra
03d6cb88ff
LibWeb: Port KeyboardEvent to new String
2023-04-06 08:41:43 +02:00
Kenneth Myhra
e14be3927a
LibWeb: Port FocusEvent to new String
2023-04-06 08:41:43 +02:00
matcool
cc33a57620
LibWeb: Use intrinsic aspect ratio when calculating max content height
2023-04-05 16:23:56 +02:00
Kenneth Myhra
1120011de4
LibWeb: Add FormData support to XHR
...
This adds FormData support to XHR so that it can post
multipart/form-data encoded data.
2023-04-05 09:43:52 +01:00
Kenneth Myhra
5df4d66d91
LibWeb: Add get accessor to internal entry list of FormData
2023-04-05 09:43:52 +01:00
Kenneth Myhra
84722ae2ef
LibWeb: Implement multipart/form-data encoding algorithm
2023-04-05 09:43:52 +01:00
Timothy Flynn
69e8216f2c
LibWeb: Do not use OS error codes in the error callback for file:// URLs
...
The error code passed here is expected to be an HTTP error code. Passing
errno codes does not make sense in that context.
2023-04-04 22:41:20 +01:00
Timothy Flynn
ddb4137ed4
LibWeb: Ensure fetch errors set their response types/codes appropriately
...
If we fail to set the response type to an error, calling code will think
the fetch was successful. We also should not default to an error code of
200, which would also indicate success.
2023-04-04 22:41:20 +01:00
MacDue
b85d24b1f4
LibWeb: Expand background-position layers into x/y position lists
...
This fixes multi-layer backgrounds with background positions. This
is a little awkard, so maybe it would be better to refactor the
parsing code to make these lists directly, but right now this is
the simplest fix.
2023-04-03 20:54:36 +02:00
MacDue
ca02c433d2
LibWeb: Add getter for separator to StyleValueList
2023-04-03 20:54:36 +02:00
Timothy Flynn
15532df83d
AK+Everywhere: Change AK::fill_with_random to accept a Bytes object
...
Rather than the very C-like API we currently have, accepting a void* and
a length, let's take a Bytes object instead. In almost all existing
cases, the compiler figures out the length.
2023-04-03 15:53:49 +02:00
MacDue
bed55ac669
LibWeb: Parse and plumb background-position-x/y
...
This parses the new background-position-x/y longhands and properly
hooks up them up. This requires converting PositionStyleValue to
just contain two EdgeStyleValues so that it can be easily expanded
into the longhands.
2023-04-03 07:10:33 +02:00
MacDue
2a659693bc
LibWeb: Add EdgeStyleValue
...
This represents a single edge and offset, this will be needed for
the values of background-position-x/y.
2023-04-03 07:10:33 +02:00
MacDue
d5e61168b2
LibWeb: Add longhand properties for background-position
...
If background-position was not longhand enough for you, we've
now got background-position-x and background-position-y :^)
2023-04-03 07:10:33 +02:00
martinfalisse
289285cd6e
LibWeb: Add borders functionality to CSS Grid
2023-04-02 19:08:04 +02:00
martinfalisse
6f52272d34
LibWeb: Fix regression in definite grid row heights
...
Fixes a row height bug when a grid item in a row has a definite height.
2023-04-02 19:08:04 +02:00
martinfalisse
e65f4b3dc5
LibWeb: Rename PositionedBox to GridItem
...
This seems like a more accurate description of what this class really
is, and easier to understand in my opinion.
2023-04-02 19:08:04 +02:00
Andreas Kling
8bb0be7d4f
LibWeb: Don't apply presentational hints to associated pseudo elements
...
CSS properties generated by presentational hints in content attributes
should not leak into pseudo elements.
2023-04-02 15:00:06 +02:00
Andreas Kling
620a34a463
LibWeb: Don't apply element inline style to associated pseudo elements
...
An element's inline style, if present, should not leak into any pseudo
elements generated by that element.
2023-04-02 15:00:06 +02:00
Andreas Kling
9cded6e1b5
LibWeb: Fix application of intrinsic aspect ratio to flex column items
...
The intrinsic aspect ratio of a box is a width:height ratio, so if we
have the width and need the height, we should divide, not multiply. :^)
2023-04-02 06:45:44 +02:00
Andreas Kling
2413de7e10
LibWeb: Make HTMLImageElement loads delay the document load event
...
This is something we're supposed to do according to the HTML spec.
Note that image loading is currently completely ad-hoc, and this just
adds a simple DocumentLoadEventDelayer to the existing implementation.
This will allow us to use images in layout tests, which rely on the
document load event firing at a predictable time.
2023-04-02 06:45:44 +02:00
Matthew Olsson
36ca1386e8
LibWeb: Add ReadableStream.locked/cancel()/getReader()
2023-04-01 23:43:07 +01:00
Matthew Olsson
d8710aa604
LibWeb: Implement ReadableStream's constructor
2023-04-01 23:43:07 +01:00
Matthew Olsson
66dec1bf54
LibWeb: Add UnderlyingSource struct for ReadableStream constructor
2023-04-01 23:43:07 +01:00
Matthew Olsson
bc9919178e
LibWeb: Add ReadableStreamDefaultController
2023-04-01 23:43:07 +01:00
Matthew Olsson
222e3c32cd
LibWeb: Add ReadableStreamDefaultReader
2023-04-01 23:43:07 +01:00
Matthew Olsson
7ff657ef57
LibWeb: Add the stream queue-related abstract operations
2023-04-01 23:43:07 +01:00
Matthew Olsson
fe69d66a4e
LibWeb: Add the ReadableStreamGenericReader mixin interface
2023-04-01 23:43:07 +01:00
MacDue
f409f68a9a
LibWeb: Use scaled font when painting list item markers
...
This now uses the current font (rather than the painter's default)
and scales it correctly. This is not perfect though as just naviely
doing .draw_text() here does not follow the proper text layout logic
so this is misaligned (by a pixel or two) with the text in the <li>.
2023-04-01 22:39:47 +01:00
MacDue
14f937b292
LibWeb: Use scaled font when painting text shadows
...
This fixes painting text shadows at non-100% zoom.
2023-04-01 22:39:47 +01:00
MacDue
7061a3d8e6
LibWeb: Add .scaled_font() helper to Layout::Node
...
This returns the font scaled for the current zoom level.
2023-04-01 22:39:47 +01:00
Andreas Kling
bc6e61adec
LibWeb: Don't churn HTML::EventLoop while in microtask checkpoint
...
At the end of HTML::EventLoop::process(), the loop reschedules itself if
there are more runnable tasks available.
However, the condition was flawed: we would reschedule if there were any
microtasks queued, but those tasks will not be processed if we're
currently within the scope of a microtask checkpoint.
To fix this, we now only reschedule the HTML event loop for microtask
processing *if* we're not already in a microtask checkpoint.
This fixes the 100% CPU churn seen when looking at PRs on GitHub. :^)
2023-04-01 12:45:47 +01:00
Sam Atkins
88d64fcb55
LibWeb: Add HTMLAnchorElement.referrerPolicy property
2023-03-31 11:36:41 +01:00
Sam Atkins
0c19d3aa58
LibWeb: Add HTMLAnchorElement.text getter and setter
...
And a FIXME for the missing `referrerPolicy` property.
2023-03-31 11:36:41 +01:00
Sam Atkins
888efe367e
LibWeb: Add "CEReactions" to HTMLAnchorElement IDL as in spec
2023-03-31 11:36:41 +01:00
Sam Atkins
1280d70d74
LibWeb: Split CalculatedStyleValue out of StyleValue.{h,cpp}
2023-03-30 21:29:50 +02:00
Sam Atkins
0c14103025
LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp}
...
This solves an awkward dependency cycle, where CalculatedStyleValue
needs the definition of Percentage, but including that would also pull
in PercentageOr, which in turn needs CalculatedStyleValue.
Many places that previously included StyleValue.h no longer need to. :^)
2023-03-30 21:29:50 +02:00
Sam Atkins
16e3a86393
LibWeb: Make absolutized_length()
helper a Length method
...
There were a mix of users between those who want to know if the Length
changed, and those that just want an absolute Length. So, we now have
two methods: Length::absolutize() returns an empty Optional if nothing
changed, and Length::absolutized() always returns a value.
2023-03-30 21:29:50 +02:00
Sam Atkins
7d29262b8b
LibWeb: Move to_gfx_scaling_mode() helper
...
There's no longer any reason to have this in StyleValue.h
2023-03-30 21:29:50 +02:00
Sam Atkins
d64ddeaec4
LibWeb: Move PositionValue into its own files
...
It's in Position.{h,cpp} because it represents a <position> in CSS, even
though it's currently named PositionValue to avoid collisions.
2023-03-30 21:29:50 +02:00
Sam Atkins
bcebca62d3
LibWeb: Move CSS::EdgeRect into its own files
...
Also remove the unused StyleValue::to_rect() because an EdgeRect is only
ever held by a RectStyleValue.
2023-03-30 21:29:50 +02:00
Sam Atkins
b3a7a00ccf
LibWeb: Move BackgroundSize enum to ComputedValues.h
...
Again, this doesn't belong in StyleValue.h, though this may not be the
ideal place for it either.
2023-03-30 21:29:50 +02:00
Sam Atkins
c4afa79fed
LibWeb: Move FlexBasis enum to ComputedValues.h
...
This may not be the ideal place for this, but it definitely doesn't
belong in StyleValue.h
2023-03-30 21:29:50 +02:00
Sam Atkins
53a4a31af2
LibWeb: Remove CalculatedStyleValue from Length
2023-03-30 21:29:50 +02:00
Sam Atkins
62a8cf2bb8
LibWeb: Let CSS::Size contain a CalculatedStyleValue
...
Technically this was already true, but now we explicitly allow it
instead of that calc value being hidden inside a Length or Percentage.
2023-03-30 21:29:50 +02:00