Andreas Kling
c355e9692d
LibWeb: Add spec links to IDL APIs in HTMLTableElement
2022-12-16 09:58:03 +01:00
Andreas Kling
2ded895107
LibWeb: Allow setting HTMLTableElement.tFoot to null value
...
This annihilates 2 FIXMEs :^)
2022-12-16 09:58:03 +01:00
Andreas Kling
346737701d
LibWeb: Allow setting HTMLTableElement.tHead to null value
...
This deals with 2 FIXMEs :^)
2022-12-16 09:58:03 +01:00
Andreas Kling
2d791cf90f
LibWeb: Allow setting HTMLTableElement.caption to null value
...
This takes care of 2 FIXMEs :^)
2022-12-16 09:58:03 +01:00
Andreas Kling
6e127f62d7
LibWeb: Add spec link and comment to HTMLTableElement::caption()
2022-12-16 09:58:03 +01:00
Aliaksandr Kalenik
992b4489ad
LibWeb: Fix bug in BFC that independent FC assigned to wrong variable
...
Bug was introduced in 210bf8adf0c431be05659140fd6de3a2cc5b7d99
It makes new variable for independent_formatting_context instead
of using earlier declared one which means that
parent_context_did_dimension_child_root_box will never be called.
2022-12-16 09:57:37 +01:00
Linus Groh
6ae79a84df
LibJS: Convert Object::construct() to NonnullGCPtr
2022-12-15 06:56:37 -05:00
Linus Groh
22089436ed
LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr
2022-12-15 06:56:37 -05:00
Linus Groh
2a66fc6cae
LibJS: Add make_handle({Nonnull,}GCPtr<T>) overloads
2022-12-15 06:56:37 -05:00
Kyle Lanmon
0991464de6
LibWeb: Implement input range type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
c5b953e51b
LibWeb: Implement input local date and time type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
a3c4af7a19
LibWeb: Implement input time type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
d249a69150
LibWeb: Implement input week type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
8197b7a063
LibWeb: Implement input month type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
edb3a0aa0a
LibWeb: Implement input date type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
dfbc5553f2
LibWeb: Implement input email type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
6fa34a4ee3
LibWeb: Implement input color type sanitation algorithm
2022-12-15 09:43:41 +00:00
Max Stevens
3aeb7a41c0
LibWeb: Implement more values of flexbox align-content
...
Implement the values 'space-between' and 'space-around'
of the 'align-content' flexbox property.
The following WPT tests now pass:
- http://wpt.live/css/css-flexbox/align-content-004.htm
- http://wpt.live/css/css-flexbox/align-content-005.htm
2022-12-15 09:27:32 +01:00
Sam Atkins
ab49dbf137
LibWeb: Convert Paintable coordinates to new pixel units
...
This fixes a few sizing issues too. The page size is now correct in most
cases! \o/
We get to remove some of the `to_type<>()` shenanigans, though it
reappears in some other places.
2022-12-14 16:47:57 +00:00
Sam Atkins
57a69f15ff
LibWeb: Remove declarations for LineBoxFragment methods that don't exist
2022-12-14 16:47:57 +00:00
Sam Atkins
1a68a4292d
LibWeb: Convert text and text-decoration painting to new pixel units
...
This does not touch the actual font selection, so the text itself is
still small for now.
2022-12-14 16:47:57 +00:00
Sam Atkins
a72302342a
LibWeb: Convert marker painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
fb43a71981
LibWeb: Convert shadow painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
9d1f30b533
LibWeb: Convert gradient painting to new pixel units
...
Co-authored-by: MacDue <macdue@dueutil.tech>
2022-12-14 16:47:57 +00:00
Sam Atkins
7c8eecbaa5
LibWeb: Convert backdrop-filter painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
0bf4089af9
LibWeb: Convert border painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
0233627545
LibWeb: Convert background painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
4440af0870
LibWeb: Split PaintContext::viewport_rect() into device/css variants
...
For now, everyone uses `device_viewport_rect()`, until I convert them.
2022-12-14 16:47:57 +00:00
Sam Atkins
0be479dcfb
LibWeb: Make PaintContext aware of CSS and DevicePixels
...
Store the ratio between device and CSS pixels on the PaintContext, so
that it can convert between the two.
Co-authored-by: MacDue <macdue@dueutil.tech>
2022-12-14 16:47:57 +00:00
Sam Atkins
a3298017d6
LibWeb: Only allow DevicePixels operators to work with integers
...
Allowing floats here was causing accidental truncations.
Co-authored-by: MacDue <macdue@dueutil.tech>
2022-12-14 16:47:57 +00:00
Andreas Kling
b005e816a3
LibWeb: Implement Node.isEqualNode() for ProcessingInstruction nodes
2022-12-14 15:21:48 +01:00
Andreas Kling
8b0ace6289
LibWeb: Add Document.createProcessingInstruction()
...
These nodes don't really do anything interesting yet, but let's allow
creating them. :^)
2022-12-14 15:21:48 +01:00
Andreas Kling
bf759ce5e3
LibWeb: Make sure ProcessingInstruction objects have the right prototype
2022-12-14 15:21:48 +01:00
Andreas Kling
de2c302cdb
LibWeb: Implement Node.isEqualNode() for Attr nodes
2022-12-14 15:21:48 +01:00
Andreas Kling
a004d3043f
LibWeb: Implement Node.cloneNode for Attr nodes
2022-12-14 15:21:48 +01:00
Andreas Kling
d5ed07fdc4
LibJS+LibWeb: Remove NonnullGCPtr<T>::operator=(GCPtr<T>) footgun
...
GCPtr can be null so it's not safe to assign it to a NonnullGCPtr unless
you know it to be non-null.
This exposed a number of wrong uses in LibWeb which had to be fixed as
part of this change.
2022-12-14 15:21:15 +01:00
Andreas Kling
4abdb68655
LibJS: Remove Object(Object& prototype) footgun
...
This constructor was easily confused with a copy constructor, and it was
possible to accidentally copy-construct Objects in at least one way that
we dicovered (via generic ThrowCompletionOr construction).
This patch adds a mandatory ConstructWithPrototypeTag parameter to the
constructor to disambiguate it.
2022-12-14 15:11:57 +01:00
Linus Groh
a4d85cd522
LibJS: Convert Promise::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
ddc6e139a6
LibJS: Convert Object::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
b42e293ddd
LibJS: Convert NativeFunction::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
73efdb1cc4
LibJS: Convert ECMAScriptFunctionObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
947ea92bf6
LibJS: Convert ArrayBuffer::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
91b0123eaf
LibJS: Convert Array::create{,_from}() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Tim Schumacher
ed4c2f2f8e
LibCore: Rename Stream::read_all
to read_until_eof
...
This generally seems like a better name, especially if we somehow also
need a better name for "read the entire buffer, but not the entire file"
somewhere down the line.
2022-12-12 14:16:42 +01:00
MacDue
d3588a9a2b
LibWeb: Support calc()
values in background-position
2022-12-11 22:09:24 +01:00
Aliaksandr Kalenik
3922349b71
LibWeb: Use space_used_by_floats to get x offset of box that creates BFC
...
y of box should be taken in account while calculating space
used by floats.
2022-12-11 22:08:44 +01:00
Aliaksandr Kalenik
daece542f5
LibWeb: Check if block creates BFC even if all it's children are inline
...
Even if block has all children inline there need to be a check
if it creates BFC because otherwise IFC will be looking in
wrong parent BFC to calculate space used by floats.
2022-12-11 22:08:44 +01:00
Luke Wilde
eabb0be7ea
LibWeb: Check HTML parser position is equal to or after insertion point
...
This used to be the other way around. If we just inserted input with
document.write, this would always be true and not allow document.write
to immediately parse its input (given that there's no pending parsing
blocking script)
2022-12-10 21:37:18 +00:00
Thomas Queiroz
eacfcac932
LibWeb: Use HashMap::try_ensure_capacity in StyleComputer
2022-12-10 14:29:46 +01:00
Andreas Oppebøen
4b12def5d8
LibWeb: Use start-of-line in hit test of position directly to the left
...
This fixes a bug where selecting from the left within a line would
begin the selection from the right, as pointed out by @AtkinsSJ in
https://github.com/SerenityOS/serenity/pull/16245#pullrequestreview-1197595820
2022-12-10 13:19:49 +01:00