Simon Wülker
Simon Wülker
Within the same tree, only one `` element with the same name may be open at a time. Before this change, this invariant was not enforced. I've added a `HashMap`...
This change fixes two panics and cleans up a bunch of the surrounding code. Testing: I've added new unit tests
To reproduce: run `./mach test-wpt domxpath`. In the past, no windows opened at all. https://github.com/user-attachments/assets/6bcc5712-8296-40a7-83e3-7368bcc47c67 cc @mrobinson
This used to work previously and is the way I've always closed the window :/ https://github.com/user-attachments/assets/6a09416f-1cef-4800-89ca-0b38320859eb ``` Error running mach: ['test-wpt', 'domxpath/evaluator-cross-realm.tentative.html'] The error occurred in code that was called...
```html function toArray(result) { var a = []; while (true) { var node = result.iterateNext(); if (node === null) break; a.push(node); } return a; } let container = document.getElementById("container"); let...
For ```html ``` Servo shows me  which looks bad. For reference, in firefox I get  This may or may not be related to the fact that we're giving...
It is hard to judge the completeness of our xpath implementation because real-world usage is rare and wpt has barely any tests. XPath also has some weird edge cases that...
[XPathMark-FT](https://web.archive.org/web/20070720155520/https://users.dimi.uniud.it/~massimo.franceschet/xpathmark/FT.html) is a test suite targeting xpath 1.0 from 2005. It's not very big, but covers all operators, axes and functions. I've converted it to a web platform test in...
Depends on https://github.com/servo/servo/pull/40541 We still don't really pass any tests because we incorrectly compare local names case-sensitively. Needs more investigation. Testing: New tests start to not-crash Fixes https://github.com/servo/servo/issues/40540
https://github.com/servo/servo/blob/d8c46f0b151cf29665fc6518e5b85d87db41ec12/components/xpath/src/eval.rs#L292-L305 `Axis::AncestorOrSelf` does not return elements in tree order. ``` pid:42224 assertion failed: self.nodes.is_sorted_by(|a, b| a.compare_tree_order(b).is_le()) (thread Script(1,4), at /home/alaska/servo/components/xpath/src/value.rs:67) 0:05.28 pid:42224 0: servoshell::backtrace::print 0:05.28 pid:42224 at /home/alaska/servo/ports/servoshell/backtrace.rs:18:5 0:05.28 pid:42224...