Andrew Kaster
e10721f1b5
LibWeb: Add stub implementation of FontFaceSet and Document.fonts
...
This is now enough for duolingo to load and use its fallback fonts.
2024-05-08 10:39:16 +02:00
Andrew Kaster
2c31d7dddc
LibWeb: Add stub implementation of CSS FontFace Web API
2024-05-08 10:39:16 +02:00
Andrew Kaster
3a5eabc43b
LibWeb: Rename CSS::FontFace to CSS::ParsedFontFace
...
This implementation detail of CSSFontFaceRule is hogging the name of a
Web API from CSS Font Loading Module Level 3.
2024-05-08 10:39:16 +02:00
Jamie Mansfield
3f113e728f
LibWeb/SVG: Stub SVGTransform.setSkewY
2024-05-07 17:33:27 -06:00
Jamie Mansfield
dc6febaea6
LibWeb/SVG: Stub SVGTransform.setSkewX
2024-05-07 17:33:27 -06:00
Jamie Mansfield
0bac2d5fbd
LibWeb/SVG: Stub SVGTransform.setRotate
2024-05-07 17:33:27 -06:00
Jamie Mansfield
effb696eef
LibWeb/SVG: Stub SVGTransform.setScale
2024-05-07 17:33:27 -06:00
Jamie Mansfield
5d5f043631
LibWeb/SVG: Stub SVGTransform.setTranslate
2024-05-07 17:33:27 -06:00
Jamie Mansfield
c102630a59
LibWeb/SVG: Stub SVGTransform.angle
2024-05-07 17:33:27 -06:00
Jamie Mansfield
4406d06d26
LibWeb/SVG: Stub SVGTransform.type
2024-05-07 17:33:27 -06:00
Jamie Mansfield
bc91c75481
LibWeb/SVG: Format SVGTransform.idl
2024-05-07 17:33:27 -06:00
Jamie Mansfield
74d90338b1
LibWeb/Fetch: Support setting request priority from JS
2024-05-07 17:27:37 -06:00
Jamie Mansfield
4387d12159
LibWeb/Fetch: Block ports 4190 and 6679
...
See:
- https://github.com/whatwg/fetch/commit/4c3750d
2024-05-07 17:27:37 -06:00
Jamie Mansfield
987198782c
LibWeb/Fetch: Use "json" destination
...
See:
- https://github.com/SerenityOS/serenity/commit/da8d0d8
- https://github.com/whatwg/fetch/commit/49bff76
- https://github.com/whatwg/html/commit/37659e9
2024-05-07 17:27:37 -06:00
Jamie Mansfield
e2f242a552
LibWeb/Fetch: Implement "fetch destination from module type" AO
...
See:
- https://github.com/whatwg/html/commit/37659e9
2024-05-07 17:27:37 -06:00
Jamie Mansfield
1b043d259a
LibWeb: Implement ShadowRoot.onslotchange
2024-05-07 17:27:37 -06:00
Jamie Mansfield
da0ca2f866
LibWeb: Implement ShadowRoot.delegatesFocus
2024-05-07 17:27:37 -06:00
Shannon Booth
71819153cb
LibWeb: Implement Element::scroll(HTML::ScrollToOptions)
2024-05-07 17:21:52 -06:00
Shannon Booth
37ca32d62c
LibWeb: Implement Element::scroll(x, y) closer to spec
2024-05-07 17:21:52 -06:00
Shannon Booth
31977cc0ac
LibWeb: Implement Element::scroll_by(x, y)
2024-05-07 17:21:52 -06:00
Shannon Booth
e640a68733
LibWeb: Implement Element::scroll_by(HTML::ScrollToOptions)
2024-05-07 17:21:52 -06:00
Shannon Booth
e5d03e382e
LibWeb: Add AO for "normalize non-finite values"
...
We had implemented this in two different ways. Add an AO to to align the
implementations.
2024-05-07 17:21:52 -06:00
Sönke Holz
116f82d21a
LibDebug: Don't assume compilation unit index == line program index
...
Instead, use the `DW_AT_stmt_list` attribute of the compilation unit
entry to determine the corresponding line program.
2024-05-07 16:57:09 -06:00
Sönke Holz
14ae04075e
LibDebug: Make LineProgram::create take DwarfInfo as a const reference
...
The m_dwarf_info is never mutated, so it can be const.
2024-05-07 16:57:09 -06:00
Sönke Holz
bc7d067821
LibDebug: Remove m_stream member from LineProgram
...
The stream passed to LineProgram::create is a temporary, so rather than
keeping an (unused) dangling reference, pass this stream explicitly to
all functions used by LineProgram::create.
2024-05-07 16:57:09 -06:00
Tim Ledbetter
57f0ea186e
LibWeb: Update Element::directionality()
to match current spec text
...
This fixes a crash that occurred when determining the directionality of
input elements.
2024-05-07 16:45:28 -06:00
Tim Ledbetter
23473d64ca
LibWeb: Make HTMLSlotElement::assigned_{elements,nodes} methods const
2024-05-07 16:45:28 -06:00
Tim Ledbetter
398bf10b92
LibWeb: Use TraversalDecision
for multi level Node traversal methods
...
This adds the `SkipChildrenAndContinue` option, where traversal
continues but child nodes are not included.
2024-05-07 16:45:28 -06:00
Tim Ledbetter
c57d395a48
LibWeb: Use IterationDecision
in single level Node iteration methods
...
`Node::for_each_child()` and `Node::for_each_child_of_type()` callbacks
now return an `IterationDecision`, which allows us to break early if
required.
2024-05-07 16:45:28 -06:00
Dan Klishch
5f33db9abe
DynamicLoader+LibSanitizer: Link LibSanitizer to DynamicLoader properly
2024-05-07 16:39:17 -06:00
Dan Klishch
da48a0ca5b
LibC: Don't use assert in malloc.cpp
2024-05-07 16:39:17 -06:00
Dan Klishch
d510d2aeb2
LibC: Remove now redundant NO_TLS guards
...
Since DynamicLoader is compiled with -fdata-sections and --gc-sections,
unused thread_local variables won't create TLS section in it anymore.
2024-05-07 16:39:17 -06:00
Dan Klishch
5963b785e7
LibELF: Unbreak dynamic loader on riscv64
...
It turns out riscv64 indeed requires -fno-stack-protector for
perform_relative_relocations, oopsie :^)
2024-05-07 16:39:17 -06:00
Dan Klishch
61cf20582c
DynamicLoader+LibC: Link LibC into DynamicLoader --as-sane-people
...
In particular, define a static LibC library *in LibC's CMakeLists* and
use it in DynamicLoader. This is similar to the way LibELF is included
in DynamicLoader.
Additionally, compile DynamicLoader with -ffunction-sections,
-fdata-sections, and -Wl,--gc-sections. This brings the loader size from
~2Mb to ~1Mb with debug symbols and from ~500Kb to ~150Kb without. Also,
this makes linking DynamicLoader with LibTimeZone unnecessary.
2024-05-07 16:39:17 -06:00
Dan Klishch
0b6c08c9a2
LibSystem: Slightly simplify CMakeLists.txt
...
LibSystem's source directory is included project-wide in
/CMakeLists.txt.
2024-05-07 16:39:17 -06:00
Dan Klishch
e3e98ed3eb
LibC: Modernize and simplify LibC/CMakeLists.txt
2024-05-07 16:39:17 -06:00
Dan Klishch
ce5813d6ab
LibC: Remove libssp_nonshared.a
...
__stack_chk_fail_local, which libssp_nonshared.a provides, is a relic of
i386 times and is not used on modern architectures.
2024-05-07 16:39:17 -06:00
Dan Klishch
f60a02fc78
LibC: Move architecture detection from fenv.h to arch/fenv.h
...
This is similar to how it is done in sys/arch/regs.h.
2024-05-07 16:39:17 -06:00
Dan Klishch
4439b4afcf
LibC+LibSanitizer+LibSystem: Remove static libc
...
Static libc on Serenity is broken in a more than one way and requires a
lot of patches to bring it to a usable and useful state. Therefore,
instead of keeping it around (and breaking even more) during the
upcoming libc build refactor, let's just delete it.
2024-05-07 16:39:17 -06:00
Jamie Mansfield
8c4dc9476b
LibWeb: Precision when using background-size: contain
...
This ensures that precision is maintained when calculating the image
size when using `background-size: contain`.
2024-05-07 11:15:04 -04:00
Jamie Mansfield
e48cb80a66
LibWeb: Precision when using background-size: cover
...
This ensures that precision is maintained when calculating the image
size when using `background-size: cover`.
2024-05-07 11:15:04 -04:00
Nico Weber
51fc51d0b5
LibGfx/WebPWriter: Use one-element huffman tree for opaque images
...
That way, we can write 0 instead of 8 bits for every alpha byte.
Reduces the size of sunset-retro.png when saved as a webp file
from 3 MiB to 2.25 MiB, without affecting encode speed.
Once we use CanonicalCodes we'll get this for free for all channels,
but opaque images are common enough that it feels worth it to do this
before then.
2024-05-07 11:13:01 -04:00
Nico Weber
7d93f7fc99
LibGfx/WebPWriter: Correctly fill in alpha_is_used hint
2024-05-07 11:13:01 -04:00
Nico Weber
0e2e7cd1be
LibGfx/WebPWriter: Rename alpha_hint to alpha_is_used_hint
...
No behavior change.
2024-05-07 11:13:01 -04:00
Nico Weber
5b335d51e1
LibGfx/WebPWriter: Implement ICC color profile data writing
...
Most of this code (VP8X chunk writing) will be used for writing
animated webp files too.
2024-05-07 11:11:41 -04:00
Nico Weber
c174adc6b1
LibGfx/WebPLossless: Remove a useless non-spec comment
...
There's already a spec comment saying the same thing a few lines
further down, just move that up.
No behavior change.
2024-05-07 11:10:06 -04:00
Nico Weber
7b3cc2e055
LibGfx/WebPLossless: Add spec ref about color indexing modifying width
...
No behavior change. This got clarified here:
https://chromium-review.googlesource.com/c/webm/libwebp/+/4688320
2024-05-07 11:10:06 -04:00
Nico Weber
26b3e31f2e
LibGfx/WebPLossless: Make width_bits reading look more like in the spec
...
No behavior change.
2024-05-07 11:10:06 -04:00
Nico Weber
c1b289c144
LibGfx/WebPLossless: Add spec note about combining predicted values
...
No behavior change. This got clarified in the spec in
https://chromium-review.googlesource.com/c/webm/libwebp/+/4638649
2024-05-07 11:10:06 -04:00
Nico Weber
3662eea0ac
LibGfx/WebPLossless: Update spec comments for reading max_symbol
...
This used to be misleading in the spec, but that was fixed in
https://chromium-review.googlesource.com/c/webm/libwebp/+/4674031
Update the comments to match.
Also, a check we already had got added to the spec in
https://chromium-review.googlesource.com/c/webm/libwebp/+/4674032
so add a citation for that.
No behavior change.
2024-05-07 11:10:06 -04:00