Commit Graph

136 Commits

Author SHA1 Message Date
Jonathan Gamble
6e03c2168c LibWeb: Reduce navigation test's workload so it doesn't timeout on CI
In high concurrency, sometimes 400+ blob urls and iframe loads take
longer than 30 seconds, especially on sanitizer runs when memory is
tight. Reduce the number of urls and iframes to 84.
2026-02-25 12:33:35 -06:00
Timothy Flynn
432be813ce Tests/LibWeb: Disable a couple tests 2026-02-24 21:46:25 -05:00
Sam Atkins
afdc0df70b Tests: Re-enable some tests which rely on font loading
These should no longer be flaky, now that we wait for fonts to load.
2026-02-24 15:44:32 +00:00
Tim Ledbetter
91b7525e18 LibWeb: Ensure favicon URL is valid before fetching it
Previously, we would crash when attempting to fetch the favicon if
the `<base>` element had an invalid URL.
2026-02-24 15:05:31 +01:00
Luke Wilde
8017f8a7ed Tests/LibWeb: Import Fullscreen WPT tests 2026-02-23 18:44:26 +00:00
Shannon Booth
1be69479a6 LibURL+Elsewhere: Consider file:// origins opaque by default
This aligns our behaviour closer to other browsers, which
_mostly_ consider file scheme URLs as opaque. For test
purposes, allow overriding this behaviour with a commandline
flag.
2026-02-21 23:00:57 +01:00
Shannon Booth
d6d80e5d52 LibWeb: Load cookies test from HTTP server
Allowing us to remove the internals hook.
2026-02-21 23:00:57 +01:00
Timothy Flynn
eefc430535 Tests/LibWeb: Disable multiple-navigable-cross-document-navigation.html
Extremely slow and often times out.
2026-02-20 11:41:28 -05:00
Jelle Raaijmakers
435f0634ea Tests/LibWeb: Skip Text/input/device-pixel-ratio-media-query.html
It's flaky on CI.
2026-02-06 12:36:38 -05:00
Sam Atkins
b5b3e37fac Tests: Disable flaky designMode-caret-change.html test 2026-02-03 14:51:37 +00:00
Tim Ledbetter
c44b30f0f1 LibWeb: Exclude UA internal shadow root elements in elementFromPoint()
When `elementFromPoint()` or `elementsFromPoint()` returns an element
that is inside a UA internal shadow root, we now return the shadow host
for that element.
2026-02-02 20:17:03 +00:00
Tim Ledbetter
24d618db95 Tests: Re-enable Ref/input/css-keyframe-fill-forwards.html 2026-01-15 14:12:39 +01:00
Andreas Kling
3f6358b992 Tests: Skip flaky css-shapes tests for now
Tests became flaky after 668d3afde0.
2026-01-13 20:35:16 +01:00
Sam Atkins
2fe705030b Tests: Re-enable some WebAnimations tests that seem to not be flaky 2026-01-09 14:20:22 +00:00
Sam Atkins
4317a7805f Tests: Re-enable periodicWave test
It wasn't recorded why this test was disabled, but it seems to
consistently pass now.
2026-01-09 14:18:48 +00:00
Sam Atkins
f558bdac93 Tests: Re-enable audionode-disconnect tests
The `OfflineAudioContext::start_rendering()` method was implemented in
2026-01-09 14:18:48 +00:00
Sam Atkins
ebc507183f Tests: Re-enable scroll-iframe test
I couldn't reproduce the flake when running it 100 times locally, so I
suspect something we did since this was disabled 9 months ago has fixed
the issue.
2026-01-09 14:18:37 +00:00
Sam Atkins
5e3734a098 Tests: Re-enable WebSocket echo test
The apparent cause of the timeouts was resolved back in August so let's
try this again.
2026-01-09 14:35:49 +01:00
Sam Atkins
a6360a9792 Tests: Re-enable skipped WPT float ref-tests that we now pass
And also put this list in alphabetical order.
2026-01-09 08:11:11 +01:00
Sam Atkins
aca321684f Tests: Reimport disabled mediaqueries ref tests, and enable passing ones 2026-01-09 08:11:11 +01:00
Sam Atkins
4a4c439ffe Tests: Re-import disabled WPT crash tests in Text/ directory
We've had proper support for crash tests, so these can go where they
belong.
2026-01-09 08:11:11 +01:00
Sam Atkins
08d2776860 Tests: Re-enable skipped html5lib parsing tests
These were disabled for hitting assertions when they were imported in
88a4a86ece, but that seems to no longer
be the case a year later. :^)
2026-01-09 08:11:11 +01:00
Lorenz A
953b33d273 Tests/LibWeb: Do not wait so long to cancel previous playEffect 2025-12-31 18:25:22 +01:00
Sam Atkins
12ff11d9ea Tests: Skip file input tests that frequently time out on CI 2025-12-18 16:08:12 +00:00
Tim Ledbetter
acce880359 Tests: Disable naturalWidth-naturalHeight-width-height.tentative.html
This test is currently failing fairly frequently on CI.
2025-11-17 18:49:21 +00:00
Sam Atkins
c3fd21b0ba Tests: Disable a few tests that regularly flake on CI 2025-09-25 10:35:28 +01:00
Timothy Flynn
467c58eaf3 Tests/LibWeb: Disable css-view-transitions/first-line-reparent-crash 2025-09-10 16:38:24 +01:00
Sam Atkins
27caa1e175 Tests: Disable Text/input/input-file.html because of frequent flakiness 2025-09-04 13:51:16 +01:00
Bernard Niset
de99dd42a2 Tests: Use 127.0.0.1 instead of localhost in HTTP test server
This fixes slow test execution on macOS where localhost resolution
has a 200ms delay due to IPv6 fallback behavior in libcurl.

The XMLHttpRequest-override-mimetype-blob.html test now runs in ~0.6s
instead of ~16s on macOS.

Fixes #4850
See also: https://github.com/curl/curl/issues/2281
2025-08-29 10:34:43 +01:00
Tim Ledbetter
b81d3e813c LibWeb: Eagerly create stacking context if will-change set for property
If `will-change` is set to a property value where that property could
create a stacking context, then we create a stacking context regardless
of the current value of that property.
2025-08-18 12:36:37 +01:00
Luke Wilde
40bb50ac60 LibWeb: Parse and propagate the iframe sandbox attribute 2025-08-07 19:24:39 +02:00
Jelle Raaijmakers
59a867d3e3 Tests: Enable all screenshot tests on all platforms
With the newly supported fuzzy matching in our test-web runner, we can
now define the expected maximum color channel and pixel count errors per
failing test and set a baseline they should not exceed.

The figures I added to these tests all come from my macOS M4 machine.
Most discrepancies seem to come from color calculations being slightly
off.
2025-07-17 12:59:11 +01:00
Jelle Raaijmakers
616a2af23d Tests: Enable screenshot tests on arm64
Of the available 71 screenshot tests that we have, 42 fail on macOS
arm64. Let's make it possible to skip those and run the remaining
succeeding screenshot tests on arm64 anyway.
2025-07-16 08:36:14 +02:00
Luke Wilde
d08d6b08d3 LibWeb: Use enum for serialization and reimplement interface exposure
Our currently implementation of structured serialization has a design
flaw, where if the serialized/transferred type was not used in the
destination realm, it would not be seen as exposed and thus we would
not re-create the type on the other side.

This is very common, for example, transferring a MessagePort to a just
inserted iframe, or the just inserted iframe transferring a MessagePort
to it's parent. This is what Google reCAPTCHA does.

This flaw occurred due to relying on lazily populated HashMaps of
constructors, namespaces and interfaces. This commit changes it so that
per-type "is exposed" implementations are generated.

Since it no longer relies on interface name strings, this commit
changes serializable types to indicate their type with an enum,
in line with how transferrable types indicate their type.

This makes Google reCAPTCHA work on https://www.google.com/recaptcha/api2/demo
It currently doesn't work on non-Google origins due to a separate
same-origin policy bug.
2025-07-15 09:20:02 -04:00
Ben Eidson
3aff12bbab LibWeb/WebAudio: Implement AudioNode::disconnect()
Destubs AudioNode::disconnect() and its related overloads.

Ensures that inverse connections are properly removed
when disconnecting AudioNodeConnections. Adds associated
WPT but skips them for now because they rely on
OfflineRenderContext::start_rendering to be fully implemented.
2025-07-09 17:52:06 -06:00
Jelle Raaijmakers
1eb581815a Tests: Unskip selection-over-multiple-code-units.html test
The flake was reproducible by running the entire LibWeb test suite over
and over again with sanitizers enabled. By making the test async and run
at window `load` time instead of document `DOMContentLoaded` time, I've
not been able to reproduce the issue locally.

Ideally I was able to find the underlying cause for this bug, but for
now I'd rather run this regression test.
2025-07-03 10:27:39 +01:00
Shannon Booth
02e6618554 Tests: Disable flaky selection-over-multiple-code-units test
This is flaky in CI.
2025-07-01 03:42:28 +01:00
Aliaksandr Kalenik
c2c9348636 LibWeb: Print FIXME instead of throwing NotSupportedError in WebAudio
This allows us to browse https://pierre.co/ instead of being navigated
to error screen.
2025-05-28 20:37:35 +02:00
Sam Atkins
bb035fbfe0 Tests: Import a whole bunch of WPT mediaqueries tests
A lot of these are ref-tests, so I'm skipping the failing ones for now,
and will make as many pass as possible in subsequent commits.
2025-05-23 10:17:58 +01:00
Timothy Flynn
17364c6d36 Tests: Disable XMLHttpRequest-override-mimetype-blob.html for now
It is extremely slow on macOS.
2025-05-22 18:40:25 -04:00
Tim Ledbetter
5dc507c573 Tests: Re-enable some ref tests that now pass 2025-05-19 14:12:25 +01:00
Tim Ledbetter
2f71f563c6 Tests: Re-enable HTML parsing tests that previously crashed 2025-05-19 14:12:25 +01:00
Tim Ledbetter
c4d298674b Tests: Re-enable interpolation tests
These run significantly faster than they did when they did when they
were disabled.
2025-05-19 11:31:47 +01:00
Tim Ledbetter
09f4d90594 LibWeb: Clamp interpolated values to the range of their numeric type
This fixes a UBSAN warning that we previously hit when interpolating
color values.
2025-05-19 11:31:47 +01:00
Tim Ledbetter
7d7bab7cac LibWeb: Ensure resolved border-width values are non-negative 2025-05-19 09:55:09 +02:00
aplefull
71a4e18bf8 LibGfx: Only include frames with fcTL chunks in the animation
Before this change, IDAT data was mistakenly always included in the
animation. Now we only include frames with explicit fcTL chunks.

As per the PNG spec (third edition):
"The static image may be included as the first frame of the animation
by the presence of a single fcTL chunk before IDAT. Otherwise, the
static image is not part of the animation."

We also fall back to the IDAT data when APNG has acTL but no fcTL
chunks. Test image is 062.png from fDAT-inherits-cICP.html from WPT.
2025-05-01 10:30:00 +02:00
Sam Atkins
107d0cafcf Tests: Disable flaky APNG test
This frequently flakes on CI.
2025-04-30 11:34:19 +01:00
stelar7
dde80a434c LibWeb/IDB: Disable test that now hits a timeout 2025-04-29 17:06:17 +02:00
Tim Ledbetter
16e83f0b35 Tests: Remove some animation tests from the ignore list
These tests are relevant to the fixes being made in later commits
2025-04-23 09:13:45 +01:00
Sam Atkins
405785f584 Tests: Disable 3 tests that are flaky on CI 2025-04-02 16:08:53 +01:00