Dan Klishch
9c707c4205
Tests/LibELF: Run LibELF tests on Lagom using Linux runtime linker
...
So that we can be sure Serenity's runtime linker performs the same.
2024-05-08 09:21:36 -06:00
Dan Klishch
6894faac1f
Tests/LibELF: Add basic test checking initializer ordering
2024-05-08 09:21:36 -06:00
Nico Weber
d988b6facc
LibGfx/WebPWriter+TestImageWriter: Fix bugs writing VP8X header
...
Two bugs:
1. Correctly set bits in VP8X header.
Turns out these were set in the wrong order.
2. Correctly set the `has_alpha` flag.
Also add a test for writing webp files with icc data. With the
additional checks in other commits in this PR, this test catches
the bug in WebPWriter.
Rearrange some existing functions to make it easier to write this test:
* Extract encode_bitmap() from get_roundtrip_bitmap().
encode_bitmap() allows passing extra_args that the test uses to pass
in ICC data.
* Extract expect_bitmaps_equal() from test_roundtrip()
2024-05-08 16:34:11 +02:00
Nico Weber
0805319d1e
LibGfx/WebPLoader: Diagnose mismatch between VP8X and VP8L alpha bits
...
If this turns out to be too strict in practice, we can replace it with
a `dbgln("VP8X and VP8L headers disagree about alpha; ignoring VP8X");`
instead.
ALso update catdog-alert-13-alpha-used-false.webp to not trigger this.
I had manually changed the VP8L alpha flag at offset 0x2a in
da48238fbd
to clear it, but I hadn't changed the VP8X flag.
This changes the byte at offset 0x14 from 0x10 (has_alpha) to 0x00
(no alpha) as well, to match.
2024-05-08 16:34:11 +02:00
Nico Weber
25e2e17218
LibGfx/WebPLoader: Diagnose ICCP flag / ICCP chunk presence mismatch
...
If this turns out to be too strict in practice, we can replace it with
a dbgln() with the same message, but with with ", ignoring header."
tacked on at the end.
2024-05-08 16:34:11 +02:00
Nico Weber
25be8f8ae7
LibGfx/WebPWriter: Add some debug logging
2024-05-08 16:34:11 +02:00
MacDue
563d392db7
Ladybird: Ensure hamburger menu is placed within the browser window
2024-05-08 10:39:46 +02:00
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:
- 4c3750d
2024-05-07 17:27:37 -06:00
Jamie Mansfield
987198782c
LibWeb/Fetch: Use "json" destination
...
See:
- da8d0d8
- 49bff76
- 37659e9
2024-05-07 17:27:37 -06:00
Jamie Mansfield
e2f242a552
LibWeb/Fetch: Implement "fetch destination from module type" AO
...
See:
- 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
Liav A.
897b5dfe8b
Documentation+Base: Remove old remainders of RAM disk support
...
We don't support such configuration for a very long time, so there's no
point of keeping references to that feature.
2024-05-07 17:02:09 -06:00
Liav A.
f7a85401bb
Kernel/Storage: Remove a stale StorageDevice constructor method
...
ramdisk devices are long gone by now, so this is a stale method.
2024-05-07 17:02:09 -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
implicitfield
f5a74d7141
Utilities: Add fusermount
...
This only contains the bare minimum amount of functionality required
by libfuse.
2024-05-07 16:54:27 -06:00
implicitfield
a08d1637e2
Kernel: Add FUSE support
...
This adds both the fuse device (used for communication between the
kernel and the filesystem) and filesystem implementation itself.
2024-05-07 16:54:27 -06:00
implicitfield
f923016e0b
AK: Add reinterpret_as_octal()
...
This is useful for parsing user-provided integers that should be
interpreted as octals.
2024-05-07 16:54:27 -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
Abuneri
b5bed37074
AK: Replace FP math in is_power_of
with a purely integral algorithm
...
The previous naive approach was causing test failures because of
rounding issues in some exotic environments. In particular, MSVC
via MSBuild
2024-05-07 16:43:34 -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