Tim Ledbetter
89fb783b42
LibWeb: Throw pre insertion validity errors from the correct global
2025-07-25 09:08:14 +02:00
Andrew Kaster
50422eb563
Tests: Add XHTML tests for CDATA, PIs and Comment nodes in the DOM
2025-07-19 14:56:20 +02:00
Shannon Booth
1d5ca2ae80
Tests/LibWeb: Import WPT Document-createEvent WPT tests
2025-07-11 08:22:36 +02:00
Tim Ledbetter
57dd85e4ac
LibWeb/DOM: Throw errors from correct realm in Node::move_node()
2025-07-09 15:59:06 +02:00
Shannon Booth
f263a1a6b2
Tests/LibWeb: Rebaseline createElement and createElementNS WPT tests
...
These tests were previously not aligned against the DOM standard.
2025-07-09 10:57:14 +02:00
Shannon Booth
ab2e732da9
Tests/LibWeb: Import DOM name validation WPT test
2025-07-09 10:57:14 +02:00
Sam Atkins
a424a06d45
LibWeb/DOM: Copy document's allow declarative shadow roots when cloning
...
Corresponds to 77920094a4
2025-07-08 17:08:39 +01:00
Tim Ledbetter
66ca4496c3
LibWeb: Set Document origin for DOMParser created documents
...
Previously, a crash would occur when accessing the origin of a document
created with DOMParser.
2025-07-06 13:39:45 +12:00
Tim Ledbetter
689dff3ee8
Tests: Synchronize imported tests with the WPT repository
2025-06-22 23:51:34 +02:00
Tim Ledbetter
16dbb44de2
LibWeb: Update DOMImplementation.createDocumentType() name validation
...
This now follows the latest specification steps.
2025-06-19 07:55:47 -04:00
Tim Ledbetter
4593c28769
LibWeb: Update validate_and_extract and its users to the latest spec
2025-06-19 11:00:53 +01:00
Tim Ledbetter
c6cc7e1874
Tests: Update dom/nodes/attributes.html WPT test
2025-06-19 11:00:53 +01:00
Sam Atkins
0e168ce631
Tests: Reimport dom/nodes/moveBefore tests
...
Apart from these moving out of `tentative/`, the
custom-element-move-reactions.html test was updated to be less flaky:
5e87cd92c0
2025-06-17 13:59:01 +02:00
Shannon Booth
31a3bc3681
LibWeb: Implement 'State-preserving atomic move integration'
...
This was recently added to both the HTML and DOM specifications,
introducing the new moveBefore DOM API, as well as the new internal
'removing steps'.
See:
* 432e8fb
* eaf2ac7
2025-04-26 08:45:37 -06:00
Tim Ledbetter
abe1e14812
Tests: Import some newly-passing SVG tests
2025-02-25 15:02:35 +01:00
Luke Wilde
2797f9f73e
LibWeb: Return actual callback object from TreeWalker::filter
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, 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-02-24 18:29:03 +01:00
Luke Wilde
95949ba8f2
LibWeb: Return actual callback object from NodeIterator::filter
2025-02-24 18:29:03 +01:00
Sam Atkins
0fcd7f9aea
LibWeb/DOM: Update an attribute's node document
...
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, 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
Corresponds to b64559cc08
2025-02-23 22:36:42 +00:00
Andreas Kling
d8f95c5050
LibWeb: Don't neglect DOM range updates on CharacterData changes
...
Regressed in 036327332f .
This commit moves the optimization a little later in replaceData(),
still avoiding relayout (the important part).
Recovers 480 points on WPT. :^)
2025-02-21 11:54:00 +01:00
Tim Ledbetter
8b2de413ae
LibWeb: Ensure selected options collection is created prior to access
2025-02-08 07:32:24 -05:00
mikiubo
cd576e594d
LibXml: Notify listener when doctype is parsed
2025-01-20 14:48:19 +01:00
Tim Ledbetter
1e9e2b6564
LibWeb: Clone all attribute properties when cloning a single node
...
Previously, the namespace of the attributes on the cloned element was
not being set.
2025-01-11 23:10:09 +01:00
Tyler Dence
0378645c25
LibWeb: PlatformObject::DefineOwnProperty fix 'has own property' check
...
PlatformObjects with named properties does not qualify as 'has own
property' just by virtue of a named property existing.
This fixes at least one WPT test, which is imported.
2024-12-20 15:10:24 +01:00
Tim Ledbetter
d8511e39c9
LibWeb: Report exceptions that occur during mutation observer microtask
2024-12-19 15:25:08 +00:00
Shannon Booth
18dddaa742
LibWeb/HTML: Use DOM's post-connection steps for iframe elements
...
See: c8ec987d1
2024-12-14 12:06:41 -08:00
Lucien Fiorini
7feb8eb5bf
Tests: Import WPT test for firstElementChild namespace in xhtml
2024-12-09 09:13:24 +00:00
Pavel Shliak
e02fd4ca8c
Tests: Reimport Event-constants WPT
...
I reimported and rebaselined it using the latest version
of our WPT importer. Now it passes.
2024-12-01 22:01:48 +01:00
Netanel Haber
d743fcb376
LibWeb: Take namespace into account when matching attribute
2024-11-30 16:47:14 +00:00
Pavel Shliak
f2a406f8cc
Tests: Import WPTs to prevent optional string argument regressions
2024-11-29 20:23:01 +00:00
Milo van der Tier
15741350ba
LibWeb: Make replaceData create new surrogate pairs
...
When inserting a new utf-16 surrogate next to an existing surrogate
with replaceData, the surrogates would not get merged correctly into a
single code point. This is because internally the text data is stored
as utf-8, and the two surrogates would be converted seperately. This
has now been fixed by first recreating the whole string in utf-16 and
then converting it back to utf-8.
It's not the most efficient solution, but this fixes at least 6 WPT
subtests.
2024-11-24 13:04:06 +00:00
Tim Ledbetter
f378f41526
LibWeb: Use correct comparison logic in NamedNodeMap::get_attribute()
...
Previously, we were doing a case insensitive comparison, which could
return the wrong result if the attribute name was uppercase.
2024-11-23 21:19:28 +00:00
Gingeh
bb5678a175
LibWeb: Don't allow trailing commas in selector lists
...
comma-separated list != #-multiplier
2024-11-23 09:49:33 +01:00
Timothy Flynn
488034477a
Revert "LibWeb: Set doctype node immediately while parsing XML document"
...
This reverts commit cd446e5e9c .
This broke about 20k WPT subtests, all related to XML parsing. See:
https://wpt.fyi/results/html/the-xhtml-syntax/parsing-xhtml-documents?diff=&filter=ADC&run_id=5154815472828416&run_id=5090731742199808
2024-11-20 19:11:56 -05:00
Andreas Kling
4203b7823f
LibWeb: Fix incorrect exception on replaceChild() with doctypes
...
We were checking for presence of the wrong child in the parent.
2024-11-20 16:10:57 +01:00
Andreas Kling
cd446e5e9c
LibWeb: Set doctype node immediately while parsing XML document
...
Instead of deferring it to the end of parsing, where scripts that
were expecting to look at the doctype may have already run.
2024-11-20 16:10:57 +01:00
Andreas Kling
ab0dc83d28
LibWeb: Make Node.normalize() ignore CDATASection nodes
...
We hadn't modeled the "exclusive text node" concept correctly.
2024-11-20 16:10:57 +01:00
Andreas Kling
6ffc7ea36d
LibWeb: Make Node::is_text() return true for CDATASection nodes
...
CDATASection inherits from Text, and so it was incorrect for them to
claim not to be Text nodes.
This fixes at least two WPT subtests. :^)
It also exposed a bug in the DOM Parsing and Serialization spec,
where we're not told how to serialize CDATASection nodes.
Spec bug: https://github.com/w3c/DOM-Parsing/issues/38
2024-11-19 19:24:37 +00:00
Andreas Kling
564dc0a434
LibWeb: Use correct factory function when cloning a Document node
...
Cloning an XMLDocument should produce a new XMLDocument. Same for
HTMLDocument.
This fixes at least one WPT test, which we're also importing. :^)
2024-11-19 19:24:37 +00:00
Shannon Booth
061ac1f8c7
Tests: Import WPT test for DOMTokenList coverage on attributes
2024-11-17 22:12:29 +01:00
Andreas Kling
aa9ed71ff3
Tests: Import a bunch of WPT tests from /dom/events
2024-11-17 14:56:35 +01:00
Gingeh
f88f41cf1e
LibWeb: Reject invalid processing instructions
2024-11-06 18:48:50 +01:00