diff --git a/src/browser/tests/selection.html b/src/browser/tests/selection.html
index be7ba464..af6321a1 100644
--- a/src/browser/tests/selection.html
+++ b/src/browser/tests/selection.html
@@ -270,7 +270,7 @@
testing.expectEqual(true, sel.isCollapsed);
testing.expectEqual(10, sel.anchorOffset);
testing.expectEqual(10, sel.focusOffset);
- testing.expectEqual("forward", sel.direction);
+ testing.expectEqual("none", sel.direction);
}
diff --git a/src/browser/webapi/Selection.zig b/src/browser/webapi/Selection.zig
index 6bc0981b..76013001 100644
--- a/src/browser/webapi/Selection.zig
+++ b/src/browser/webapi/Selection.zig
@@ -208,11 +208,16 @@ pub fn extend(self: *Selection, node: *Node, _offset: ?u32) !void {
try range.setEnd(old_anchor, old_anchor_offset);
self._direction = .backward;
},
- else => {
+ .after => {
try range.setStart(old_anchor, old_anchor_offset);
try range.setEnd(node, offset);
self._direction = .forward;
},
+ .equal => {
+ try range.setStart(old_anchor, old_anchor_offset);
+ try range.setEnd(old_anchor, old_anchor_offset);
+ self._direction = .none;
+ },
}
}