summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/DOM
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2022-03-21 21:11:38 +0100
committerAndreas Kling <kling@serenityos.org>2022-03-21 21:11:38 +0100
commit68f3feb1d180f27f6a4076a1f3dc479d8383a4e0 (patch)
tree3dd78750308f58ebe1e973754c19fe3ea90cdefb /Userland/Libraries/LibWeb/DOM
parent57296393eda84e866a26c1ce85be1e9fc5fbf731 (diff)
downloadserenity-68f3feb1d180f27f6a4076a1f3dc479d8383a4e0.zip
LibWeb: Fix two spec transcription mistakes in live range updating
This scores us another point on Acid3. :^)
Diffstat (limited to 'Userland/Libraries/LibWeb/DOM')
-rw-r--r--Userland/Libraries/LibWeb/DOM/Node.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/Userland/Libraries/LibWeb/DOM/Node.cpp b/Userland/Libraries/LibWeb/DOM/Node.cpp
index dd56577a43..e744d2d8b3 100644
--- a/Userland/Libraries/LibWeb/DOM/Node.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Node.cpp
@@ -323,7 +323,7 @@ void Node::insert_before(NonnullRefPtr<Node> node, RefPtr<Node> child, bool supp
// 2. For each live range whose end node is parent and end offset is greater than child’s index, increase its end offset by count.
for (auto& range : Range::live_ranges()) {
- if (range->start_container() == this && range->end_offset() > child->index())
+ if (range->end_container() == this && range->end_offset() > child->index())
range->set_end(*range->end_container(), range->end_offset() + count);
}
}
@@ -426,13 +426,13 @@ void Node::remove(bool suppress_observers)
// 6. For each live range whose start node is parent and start offset is greater than index, decrease its start offset by 1.
for (auto& range : Range::live_ranges()) {
- if (range->start_container() == this && range->start_offset() > index)
+ if (range->start_container() == parent && range->start_offset() > index)
range->set_start(*range->start_container(), range->start_offset() - 1);
}
// 7. For each live range whose end node is parent and end offset is greater than index, decrease its end offset by 1.
for (auto& range : Range::live_ranges()) {
- if (range->end_container() == this && range->end_offset() > index)
+ if (range->end_container() == parent && range->end_offset() > index)
range->set_end(*range->end_container(), range->end_offset() - 1);
}