Tim Ledbetter
cb1a1a5cb5
LibWeb: Replace is<T>()
with as_if<T>()
where possible
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
2025-08-25 18:45:00 +02:00
Andreas Kling
3d97251da3
LibWeb: Wrap out-of-flow table children in anonymous table cells
...
This fixes an issue where floating children of a table box would not get
laid out at all if they were surrounded by nothing but whitespace.
2025-08-25 14:55:19 +02:00
norbiros
92b560edce
LibWeb/CSS: Fix basic absolute positioning inside grid containers
...
Now elements with position `absolute` properly resolve their position
inside parent elements with `grid`. I also imported some WPT tests
related to that topic.
Part 2 of resolving issues on https://hack4krak.pl
2025-08-25 14:09:12 +02:00
norbiros
2ed7e0422e
LibWeb/CSS: Import absolute positioning tests inside grid containers
2025-08-25 14:09:12 +02:00
Jelle Raaijmakers
305dfe3f40
AK: Don't remove CV qualifiers from types in Optional<T>
...
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
CV qualifiers are already ignored by __is_base_of(), which is what
IsBaseOf<T,U> uses.
2025-08-25 11:02:42 +02:00
sayhan
02abd3e373
Meta: Fixed variable typo switfc -> swiftc
2025-08-25 11:02:04 +02:00
Andreas Kling
0d2800e411
LibWeb: Don't relocate fragments across atomic inline boundary
...
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Push notes / build (push) Waiting to run
All fragments inside an atomic inline box should stay within that box,
otherwise we'll screw up the paint order and paint them behind things
that they're supposed to be on top of.
This fixes an issue with inline-block content not appearing on sites
like Google Docs and Reddit, among others.
2025-08-24 21:00:08 +02:00
ayeteadoe
1573ca35cc
LibDNS: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-24 12:58:27 -06:00
ayeteadoe
8150fb4cbb
LibMedia: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-24 12:58:27 -06:00
ayeteadoe
a99c8d05b7
Utilities/image: Enable on Windows
2025-08-24 12:58:27 -06:00
ayeteadoe
7d00c43269
Utilities/dns: Enable on Windows
2025-08-24 12:58:27 -06:00
ayeteadoe
b7bc60d614
Utilities/abench: Enable on Windows
2025-08-24 12:58:27 -06:00
ayeteadoe
f4b20129d7
Utilities/xml: Enable on Windows
2025-08-24 12:58:27 -06:00
ayeteadoe
2c91014bbf
LibXML: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-24 12:58:27 -06:00
ayeteadoe
a95e0d2777
Utilities/wasm: Enable on Windows
2025-08-24 12:58:27 -06:00
ayeteadoe
070392307a
LibWasm: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-24 12:58:27 -06:00
ayeteadoe
3355b7fb1f
Tests/LibJS: Enable test-js on Windows
2025-08-24 12:58:27 -06:00
Andreas Kling
79b30e7c9a
LibWeb: Create a new painter after resizing canvas element backing store
...
Otherwise, we just keep painting into the old backing store. This fixes
an issue where the main spreadsheet area in Google Sheets was not
visually updating, despite everything looking good in memory.
2025-08-24 16:36:24 +02:00
ayeteadoe
1d93c0b8a5
Tests/LibTLS: Enable TestTLSHandshake in Windows CI
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
Build Dev Container Image / build (push) Has been cancelled
2025-08-23 18:35:45 -06:00
ayeteadoe
cc38235ca1
Tests/LibDNS: Enable in Windows CI
2025-08-23 18:35:45 -06:00
ayeteadoe
4180944b4d
LibTLS: Use Windows-specific method to set default certificate store
...
test_tls in TestDNSResolver was failing to perform the TLSv12
connection due to the following error: "14430000:error:0A000086:SSL
routines:tls_post_process_server_certificate:certificate verify
failed:ssl\statem\statem_clnt.c:2124". To perform the equivalent
on Windows, we can instead load the built in OSSL_STORE for Windows
2025-08-23 18:35:45 -06:00
ayeteadoe
ff71efebb6
LibCore: Fix WSAEMSGSIZE error in pending_bytes with proper zero-init
...
In SocketWindows, the return value for the ioctl call was not
initialized to zero. This was causing test_udp in TesDNSResolver
to fail as UDPSocket::read_some() was incorrectly failing with
WSAEMSGSIZE due the result of pending_bytes being some
unspecified default value for an uninitialized unsigned long
2025-08-23 18:35:45 -06:00
ayeteadoe
4fa8238a46
Meta: Install qtbase and qtmultimedia vcpkg ports on Windows
2025-08-23 16:04:36 -06:00
ayeteadoe
9ec1643d88
CMake: Add helper to ensure vcpkg DLLs are copied to the output dir
...
The BUILD_RPATH/INSTALL_RPATH CMake infrastructure is not supported
on Windows, but we want to ensure Ladybird executables are runnable
after the build phase so there can be an efficient dev loop.
lagom_copy_runtime_dlls() can be used by executable targets so all
their dependent dlls are copied to their output directory in their
post build step.
2025-08-23 16:04:36 -06:00
ayeteadoe
3df8e00d91
LibWeb: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-23 16:04:36 -06:00
ayeteadoe
94a3a7d9a1
Tests/LibMedia: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
0c9b16d09c
Tests/LibWebView: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
a2d3562647
Tests/LibXML: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
6dbb59da77
LibJS: Export symbols causing linker errors in various consumers
...
After LibJS had its symbol exports optimized the targets
js, test-js, test262-runner, test-wasm, and LibWeb began to get linker
errors after the work to add Windows support for test-web and ladybird
targets. These extra JS_API annotations fix all those linker errors.
2025-08-23 16:04:36 -06:00
ayeteadoe
9c67c4a270
LibWebView: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-23 16:04:36 -06:00
ayeteadoe
ed93551d59
Qt/ladybird: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
f58298132b
LibDevTools: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-23 16:04:36 -06:00
ayeteadoe
84690f432e
test-web: Allow help command to succeed
...
These are required for test-web runtime to actually work
2025-08-23 16:04:36 -06:00
ayeteadoe
0b19c04b53
test-web: Enable building in Windows CI
...
The tests are not registered with CTest yet
2025-08-23 16:04:36 -06:00
ayeteadoe
0847ca4854
WebWorker: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
0a699132f3
WebContent: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
e497303e94
LibTextCodec: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-23 16:04:36 -06:00
ayeteadoe
58be9e6400
RequestServer: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
c7f35193d0
LibDevTools: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
97e8a922ad
ImageDecoder: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
ee3c033de2
LibWebView: Enable in Windows CI
2025-08-23 16:04:36 -06:00
ayeteadoe
09ff99c50e
LibImageDecoderClient: Enable in Windows CI
2025-08-23 16:04:36 -06:00
Aliaksandr Kalenik
025011d8e0
LibWeb: Fix algorithm that distributes space beyond limits [GFC]
...
Fixes bug when we didn't use `tracks_to_grow_beyond_limits` and instead
distributed extra space to all affected tracks. Also implements missing
"when accommodating max-content" part.
2025-08-23 23:16:18 +02:00
Idan Horowitz
d2857164ea
Tests: Test that unvisited Templated members are caught by ClangPlugin
...
Specifically AK::Optional<T> and AK::Variant<...> were of interest in
recent issues.
2025-08-23 21:21:04 +02:00
Idan Horowitz
bcb8b06a74
ClangPlugins: Make sure forward declared fields are visited as well
...
Instead of ignoring fields using forward-delcared types, always assume
they inherit from GC::Cell. This improves the worst case from a missed
unvisited field, to a slightly wrong error message.
Fixes #5959 .
2025-08-23 21:21:04 +02:00
Idan Horowitz
1eed5bdef7
ClangPlugins: Check for unvisited JS::Value members
...
JS:Value members might hold a JS::Cell inside, so they must be visited
in ::visit_edges implementations as well.
Fixes #5958 .
2025-08-23 21:21:04 +02:00
Idan Horowitz
66bd7fa530
LibJS: Add missing visit of Realm::m_builtins
2025-08-23 21:21:04 +02:00
Andreas Kling
3873b1d8cf
LibWeb: Create XML document object for SVG-as-image
...
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
It's not enough to just use the XML parser, we also have to make sure
the DOM document we produce is an actual XML document.
Fixes #5966
2025-08-23 14:01:37 +01:00
Andreas Kling
4350bccf8e
LibWeb: Use Accelerate framework on macOS to premultiply bitmap data
...
This leverages hardware acceleration to speed things up considerably,
shaving ~500ms of load time off of https://cloudflare.com/
2025-08-23 14:09:17 +02:00
Andreas Kling
67432e35f1
LibGfx: Match vImage premultiply/unpremultiply rounding behavior
...
Our Color::to_premultiplied() and Color::to_unpremultiplied() used
integer truncation.
Apple’s Accelerate framework (and many other libraries) use
round-to-nearest, which avoids bias and produces results that differ
by ±1 in many cases.
This commit switches both helpers to round-to-nearest and clamps the
results to [0,255]. For alpha==0 we now return fully transparent black
(0,0,0,0) to align with common conventions, instead of preserving RGB.
2025-08-23 14:09:17 +02:00