This change adds green and red pass/fail emoji indicators to an in-tree
test — to make it easier to manually scan through the test results and
quickly see which cases are passing, and which are failing.
(cherry picked from commit 6f5d0de5e780f10c63d168bb1d29c69a963376ac)
This commit implements the setter for `location.search`, allowing
updates to the query string of the URL.
(cherry picked from commit 514a2a1757b10b9b4ff020237c84f70ba5a79c4b)
This allows us to use HeapFunction all of the way down, allowing us
to remove the Handle usage in after_session_callback for
create_new_child_navigable.
(cherry picked from commit fc83653f3c7a650229d2be3eef0f1738a9395db9)
...For the completion steps. This is quite nice, as we can simply
capture this in the heap function where it is used instead of
needing to establish a new root.
Note that with these changes, to represent 'an empty algorithm', we now
use a null HeapFunction and do not invoke the steps.
(cherry picked from commit b6d2ab23322ebc6d667276257220c401fe025617)
We were previously sorting using code points which could give the wrong
result for certain inputs.
Fixes the last two failing tests on:
https://wpt.live/url/urlsearchparams-sort.any.html
(cherry picked from commit d56da8cf9a0298d3e6e3ee8984f60d4a3217183b)
If given, the spec expects the input URL to be manipulated on the fly
as it is being parsed, and may ignore any errors thrown by the URL
parser.
Previously, we were not exactly following the specs assumption here
which resulted in us needed to make awkward copies of the URL in these
situations.
For most cases this is not an issue. But it does cause problems for
situations where URL parsing would result in a failure (which is
ignored by the caller), and the URL is _partially_ updated
while parsing.
Such a situation can occur when setting the host of an href alongside a
port number which is not valid. It is expected that this situation will
result in the host being updates - but not the port number.
Adjust the URL parser API so that it mutates the URL given (if any), and
adjust the callers accordingly.
Fixes two tests on https://wpt.live/url/url-setters-a-area.window.html
(cherry picked from commit ff71d8f2c97441bff5975c117a7e7c8820e33e44)
Rather than returning a relative URL, an absolutized URL is now
returned relative to the document base URL
(cherry picked from commit 48e5d28ec985aeaee565d06a625a0d664b6975d3)
This change also ensures that relative URLs are resolved relative to
the document's base URL.
(cherry picked from commit c25dda767eb43d1620602ccc2c955bc56ef1745b)
This change makes the aria-relevant content attribute the ariaRelevant
IDL/DOM attribute get reflected — which makes the Ladybird behavior
interoperable with the implemented behavior in other existing engines.
Otherwise, without this change, Ladybird fails the relevant test case in
https://wpt.fyi/results/html/dom/aria-attribute-reflection.html — which
other existing engines all pass.
(cherry picked from commit e86711a5b778a6dd6dc8149827d096ab6a95c336)
When we want to inject a CSS counter for a line, we need to be sure to
handle if we had previously opened a styled span for the current source
substring. For example, if we see a new line in the middle of a comment,
we will have previously opened the following tag:
<span class="comment">
So when injecting a new line and the <span class="line"> element (for
CSS counters), we need to close the previous span and insert a newly
opened tag to continue using the style.
(cherry picked from commit f1395a2c3859fce1daddb385582433c072ebf052)
This makes https://cling.com/ load, and more of the animated elements
on https://shopify.com/ start appearing.
(cherry picked from commit 0f9444fa06031e7d8e3c1ad36e701090e0b17ec1)
This update fixes an issue where the document type was incorrectly set
to XML instead of HTML when initializing text and media documents.
(cherry picked from commit 2565757c7a705758bdd2ddc7ac3f7314a1773ed0)
Before this change, we were hard-coding 4 KiB. This meant that systems
with a 16 KiB native page size were wasting 12 KiB per HeapBlock on
nothing, leading to worse locality and more mmap/madvise churn.
We now query the system page size on startup and use that as the
HeapBlock size.
The only downside here is that some of the pointer math for finding the
base of a HeapBlock now has to use a runtime computed value instead of a
compile time constant. But that's a small price to pay for what we get.
(cherry picked from commit a6bf253602702c052453d5ccb45a40d8fbb368ba)
Tiny mistake in the implementation of the spec; fixes 16 FAILs in the
WPT `/dom/ranges/Range-mutations-splitText.html` tests.
(cherry picked from commit dee81f354531c2e49be34279ca31ccc7ad9cbcca)