Skip to content

Commit 0f571a6

Browse files
committed
cdp: send the chrome's error on missing node
1 parent 3c7ebb3 commit 0f571a6

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/cdp/domains/dom.zig

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,9 @@ fn querySelector(cmd: anytype) !void {
208208

209209
const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded;
210210

211-
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse return error.UnknownNode;
211+
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse {
212+
return cmd.sendError(-32000, "Could not find node with given id", .{});
213+
};
212214

213215
const selected_node = try css.querySelector(
214216
cmd.arena,
@@ -235,7 +237,9 @@ fn querySelectorAll(cmd: anytype) !void {
235237

236238
const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded;
237239

238-
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse return error.UnknownNode;
240+
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse {
241+
return cmd.sendError(-32000, "Could not find node with given id", .{});
242+
};
239243

240244
const arena = cmd.arena;
241245
const selected_nodes = try css.querySelectorAll(arena, node._node, params.selector);
@@ -554,16 +558,19 @@ test "cdp.dom: querySelector unknown search id" {
554558

555559
_ = try ctx.loadBrowserContext(.{ .id = "BID-A", .html = "<p>1</p> <p>2</p>" });
556560

557-
try testing.expectError(error.UnknownNode, ctx.processMessage(.{
561+
try ctx.processMessage(.{
558562
.id = 9,
559563
.method = "DOM.querySelector",
560564
.params = .{ .nodeId = 99, .selector = "" },
561-
}));
562-
try testing.expectError(error.UnknownNode, ctx.processMessage(.{
565+
});
566+
try ctx.expectSentError(-32000, "Could not find node with given id", .{});
567+
568+
try ctx.processMessage(.{
563569
.id = 9,
564570
.method = "DOM.querySelectorAll",
565571
.params = .{ .nodeId = 99, .selector = "" },
566-
}));
572+
});
573+
try ctx.expectSentError(-32000, "Could not find node with given id", .{});
567574
}
568575

569576
test "cdp.dom: querySelector Node not found" {

0 commit comments

Comments
 (0)