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; + }, } }