diff --git a/src/browser/webapi/Range.zig b/src/browser/webapi/Range.zig index 85d2ee70..48b72ae9 100644 --- a/src/browser/webapi/Range.zig +++ b/src/browser/webapi/Range.zig @@ -186,10 +186,6 @@ pub fn compareBoundaryPoints(self: *const Range, how_raw: i32, source_range: *co } pub fn comparePoint(self: *const Range, node: *Node, offset: u32) !i16 { - if (offset > node.getLength()) { - return error.IndexSizeError; - } - // Check if node is in a different tree than the range const node_root = node.getRootNode(null); const start_root = self._proto._start_container.getRootNode(null); @@ -197,6 +193,14 @@ pub fn comparePoint(self: *const Range, node: *Node, offset: u32) !i16 { return error.WrongDocument; } + if (node._type == .document_type) { + return error.InvalidNodeType; + } + + if (offset > node.getLength()) { + return error.IndexSizeError; + } + // Compare point with start boundary const cmp_start = AbstractRange.compareBoundaryPoints( node,