mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-07 08:39:22 +00:00
LibWeb: Use correct command in reorder_modifiable_descendants
Gains us 7 WPT passes in the imported test
This commit is contained in:
parent
1d3e539c09
commit
a13f6cdf86
Notes:
github-actions[bot]
2025-07-16 10:41:47 +00:00
Author: https://github.com/Calme1709
Commit: a13f6cdf86
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5469
Reviewed-by: https://github.com/gmta ✅
7 changed files with 18483 additions and 1 deletions
|
@ -3460,7 +3460,7 @@ void reorder_modifiable_descendants(GC::Ref<DOM::Node> node, FlyString const& co
|
|||
if (candidate == node
|
||||
|| !is_simple_modifiable_element(*candidate)
|
||||
|| specified_command_value(static_cast<DOM::Element&>(*candidate), command) != new_value
|
||||
|| !values_are_loosely_equivalent(CommandNames::createLink, effective_command_value(candidate, command), new_value))
|
||||
|| !values_are_loosely_equivalent(command, effective_command_value(candidate, command), new_value))
|
||||
return;
|
||||
|
||||
// 4. While candidate has children, insert the first child of candidate into candidate's parent immediately before
|
||||
|
|
3050
Tests/LibWeb/Text/expected/wpt-import/editing/run/bold.txt
Normal file
3050
Tests/LibWeb/Text/expected/wpt-import/editing/run/bold.txt
Normal file
File diff suppressed because it is too large
Load diff
1075
Tests/LibWeb/Text/input/wpt-import/editing/data/bold.js
Normal file
1075
Tests/LibWeb/Text/input/wpt-import/editing/data/bold.js
Normal file
File diff suppressed because it is too large
Load diff
8526
Tests/LibWeb/Text/input/wpt-import/editing/include/implementation.js
Normal file
8526
Tests/LibWeb/Text/input/wpt-import/editing/include/implementation.js
Normal file
File diff suppressed because it is too large
Load diff
27
Tests/LibWeb/Text/input/wpt-import/editing/include/reset.css
Normal file
27
Tests/LibWeb/Text/input/wpt-import/editing/include/reset.css
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* Make sure various CSS values are what are expected, so that tests work
|
||||
* right. */
|
||||
body { font-family: serif }
|
||||
/* http://www.w3.org/Bugs/Public/show_bug.cgi?id=12154
|
||||
* https://bugzilla.mozilla.org/show_bug.cgi?id=589124
|
||||
* https://bugs.webkit.org/show_bug.cgi?id=56400 */
|
||||
b, strong { font-weight: bold }
|
||||
.bold { font-weight: bold }
|
||||
.notbold { font-weight: normal }
|
||||
.underline { text-decoration: underline }
|
||||
.line-through { text-decoration: line-through }
|
||||
.underline-and-line-through { text-decoration: underline line-through }
|
||||
#purple { color: purple }
|
||||
/* https://bugs.webkit.org/show_bug.cgi?id=56670 */
|
||||
dfn { font-style: italic }
|
||||
/* Opera has weird default blockquote style */
|
||||
blockquote { margin: 1em 40px }
|
||||
/* Some tests assume links are blue, for the sake of argument, but they aren't
|
||||
* blue in any browser. And :visited definitely isn't blue, except in engines
|
||||
* like Gecko that lie.
|
||||
*
|
||||
* This should really be #00e, probably. See:
|
||||
* http://www.w3.org/Bugs/Public/show_bug.cgi?id=13330 */
|
||||
:link, :visited { color: blue }
|
||||
/* http://www.w3.org/Bugs/Public/show_bug.cgi?id=14066
|
||||
* https://bugs.webkit.org/show_bug.cgi?id=68392 */
|
||||
quasit { text-align: inherit }
|
5756
Tests/LibWeb/Text/input/wpt-import/editing/include/tests.js
Normal file
5756
Tests/LibWeb/Text/input/wpt-import/editing/include/tests.js
Normal file
File diff suppressed because it is too large
Load diff
48
Tests/LibWeb/Text/input/wpt-import/editing/run/bold.html
Normal file
48
Tests/LibWeb/Text/input/wpt-import/editing/run/bold.html
Normal file
|
@ -0,0 +1,48 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<meta name="variant" content="?1-1000">
|
||||
<meta name="variant" content="?1001-2000">
|
||||
<meta name="variant" content="?2001-3000">
|
||||
<meta name="variant" content="?3001-last">
|
||||
<link rel=stylesheet href=../include/reset.css>
|
||||
<title>bold - HTML editing conformance tests</title>
|
||||
|
||||
<div id=log></div>
|
||||
|
||||
<div id=test-container></div>
|
||||
|
||||
<script src=../include/implementation.js></script>
|
||||
<script>var testsJsLibraryOnly = true</script>
|
||||
<script src=../include/tests.js></script>
|
||||
<script src=../data/bold.js></script>
|
||||
<script src=../../resources/testharness.js></script>
|
||||
<script src=../../resources/testharnessreport.js></script>
|
||||
<script src="../../common/subset-tests.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
(function() {
|
||||
// Make document.body.innerHTML more tidy by removing unnecessary things.
|
||||
[].forEach.call(document.querySelectorAll("script"), function(node) {
|
||||
node.parentNode.removeChild(node);
|
||||
});
|
||||
|
||||
if (true) {
|
||||
// Silly hack: the CSS styling flag should be true, not false, to match
|
||||
// expected results. This is because every group of tests except the
|
||||
// last (multitest) sets styleWithCSS automatically, and it sets it
|
||||
// first to false and then to true. Thus it's left at true at the end
|
||||
// of each group of tests, so in gentest.html it will be true when
|
||||
// starting each group of tests other than the first. But browsers are
|
||||
// supposed to default it to false when the page loads, so flip it.
|
||||
try { document.execCommand("styleWithCSS", false, "true") } catch(e) {}
|
||||
}
|
||||
|
||||
browserTests.forEach(runConformanceTest);
|
||||
|
||||
document.getElementById("test-container").parentNode
|
||||
.removeChild(document.getElementById("test-container"));
|
||||
|
||||
})();
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue