From 12670a3153f59d12aac541d7b6437e66a6aad80f Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Thu, 15 Jan 2026 23:22:17 -0800 Subject: [PATCH] fix extend direction in Selection --- src/browser/tests/selection.html | 2 +- src/browser/webapi/Selection.zig | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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; + }, } }