From ea757407f5232d74d7cc31e7f56b3a38fa597b04 Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Fri, 5 Dec 2025 13:49:02 +0100 Subject: [PATCH] cdp: implement DOM.requestNode --- src/cdp/domains/dom.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/cdp/domains/dom.zig b/src/cdp/domains/dom.zig index 9ef038199..9ab8eccd5 100644 --- a/src/cdp/domains/dom.zig +++ b/src/cdp/domains/dom.zig @@ -43,6 +43,7 @@ pub fn processMessage(cmd: anytype) !void { requestChildNodes, getFrameOwner, getOuterHTML, + requestNode, }, cmd.input.action) orelse return error.UnknownMethod; switch (action) { @@ -61,6 +62,7 @@ pub fn processMessage(cmd: anytype) !void { .requestChildNodes => return requestChildNodes(cmd), .getFrameOwner => return getFrameOwner(cmd), .getOuterHTML => return getOuterHTML(cmd), + .requestNode => return requestNode(cmd), } } @@ -518,6 +520,17 @@ fn getOuterHTML(cmd: anytype) !void { return cmd.sendResult(.{ .outerHTML = aw.written() }, .{}); } +fn requestNode(cmd: anytype) !void { + const params = (try cmd.params(struct { + objectId: []const u8, + })) orelse return error.InvalidParams; + + const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded; + const node = try getNode(cmd.arena, bc, null, null, params.objectId); + + return cmd.sendResult(.{ .nodeId = node.id }, .{}); +} + const testing = @import("../testing.zig"); test "cdp.dom: getSearchResults unknown search id" {