mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 07:03:29 +00:00
cdp: send the chrome's error on missing node
This commit is contained in:
@@ -208,7 +208,9 @@ fn querySelector(cmd: anytype) !void {
|
|||||||
|
|
||||||
const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded;
|
const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded;
|
||||||
|
|
||||||
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse return error.UnknownNode;
|
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse {
|
||||||
|
return cmd.sendError(-32000, "Could not find node with given id", .{});
|
||||||
|
};
|
||||||
|
|
||||||
const selected_node = try css.querySelector(
|
const selected_node = try css.querySelector(
|
||||||
cmd.arena,
|
cmd.arena,
|
||||||
@@ -235,7 +237,9 @@ fn querySelectorAll(cmd: anytype) !void {
|
|||||||
|
|
||||||
const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded;
|
const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded;
|
||||||
|
|
||||||
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse return error.UnknownNode;
|
const node = bc.node_registry.lookup_by_id.get(params.nodeId) orelse {
|
||||||
|
return cmd.sendError(-32000, "Could not find node with given id", .{});
|
||||||
|
};
|
||||||
|
|
||||||
const arena = cmd.arena;
|
const arena = cmd.arena;
|
||||||
const selected_nodes = try css.querySelectorAll(arena, node._node, params.selector);
|
const selected_nodes = try css.querySelectorAll(arena, node._node, params.selector);
|
||||||
@@ -554,16 +558,19 @@ test "cdp.dom: querySelector unknown search id" {
|
|||||||
|
|
||||||
_ = try ctx.loadBrowserContext(.{ .id = "BID-A", .html = "<p>1</p> <p>2</p>" });
|
_ = try ctx.loadBrowserContext(.{ .id = "BID-A", .html = "<p>1</p> <p>2</p>" });
|
||||||
|
|
||||||
try testing.expectError(error.UnknownNode, ctx.processMessage(.{
|
try ctx.processMessage(.{
|
||||||
.id = 9,
|
.id = 9,
|
||||||
.method = "DOM.querySelector",
|
.method = "DOM.querySelector",
|
||||||
.params = .{ .nodeId = 99, .selector = "" },
|
.params = .{ .nodeId = 99, .selector = "" },
|
||||||
}));
|
});
|
||||||
try testing.expectError(error.UnknownNode, ctx.processMessage(.{
|
try ctx.expectSentError(-32000, "Could not find node with given id", .{});
|
||||||
|
|
||||||
|
try ctx.processMessage(.{
|
||||||
.id = 9,
|
.id = 9,
|
||||||
.method = "DOM.querySelectorAll",
|
.method = "DOM.querySelectorAll",
|
||||||
.params = .{ .nodeId = 99, .selector = "" },
|
.params = .{ .nodeId = 99, .selector = "" },
|
||||||
}));
|
});
|
||||||
|
try ctx.expectSentError(-32000, "Could not find node with given id", .{});
|
||||||
}
|
}
|
||||||
|
|
||||||
test "cdp.dom: querySelector Node not found" {
|
test "cdp.dom: querySelector Node not found" {
|
||||||
|
|||||||
Reference in New Issue
Block a user