@@ -166,61 +166,28 @@ fn resolveNode(cmd: anytype) !void {
166166fn describeNode (cmd : anytype ) ! void {
167167 const params = (try cmd .params (struct {
168168 nodeId : ? Node.Id = null ,
169- backendNodeId : ? u32 = null ,
170- objectGroup : ? []const u8 = null ,
171- executionContextId : ? u32 = null ,
169+ backendNodeId : ? Node.Id = null ,
170+ objectId : ? []const u8 = null ,
171+ depth : u32 = 1 ,
172+ pierce : bool = false ,
172173 })) orelse return error .InvalidParams ;
173-
174- if (params .nodeId == null or params .backendNodeId != null or params .executionContextId != null ) {
174+ if (params .backendNodeId != null or params .depth != 1 or params .pierce ) {
175175 return error .NotYetImplementedParams ;
176176 }
177177
178178 const bc = cmd .browser_context orelse return error .BrowserContextNotLoaded ;
179- const page = bc .session .currentPage () orelse return error .PageNotLoaded ;
180- const node = bc .node_registry .lookup_by_id .get (params .nodeId .? ) orelse return error .UnknownNode ;
181-
182- // node._node is a *parser.Node we need this to be able to find its most derived type e.g. Node -> Element -> HTMLElement
183- // So we use the Node.Union when retrieve the value from the environment
184- const remote_object = try bc .inspector .getRemoteObject (
185- page .scope ,
186- params .objectGroup orelse "" ,
187- try dom_node .Node .toInterface (node ._node ),
188- );
189- defer remote_object .deinit ();
190179
191- const arena = cmd .arena ;
192- return cmd .sendResult (.{ .object = .{
193- .type = try remote_object .getType (arena ),
194- .subtype = try remote_object .getSubtype (arena ),
195- .className = try remote_object .getClassName (arena ),
196- .description = try remote_object .getDescription (arena ),
197- .objectId = try remote_object .getObjectId (arena ),
198- } }, .{});
199-
200- // const params = (try cmd.params(struct {
201- // nodeId: ?Node.Id = null,
202- // backendNodeId: ?Node.Id = null,
203- // objectId: ?[]const u8 = null,
204- // depth: u32 = 1,
205- // pierce: bool = false,
206- // })) orelse return error.InvalidParams;
207- // if (params.backendNodeId != null or params.depth != 1 or params.pierce) {
208- // return error.NotYetImplementedParams;
209- // }
210-
211- // const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded;
212-
213- // if (params.nodeId != null) {
214- // const node = bc.node_registry.lookup_by_id.get(params.nodeId.?) orelse return error.NodeNotFound;
215- // return cmd.sendResult(.{ .node = bc.nodeWriter(node, .{}) }, .{});
216- // }
217- // if (params.objectId != null) {
218- // // Retrieve the object from which ever context it is in.
219- // const parser_node = try bc.session.inspector.getNodePtr(cmd.arena, params.objectId.?);
220- // const node = try bc.node_registry.register(@ptrCast(parser_node));
221- // return cmd.sendResult(.{ .node = bc.nodeWriter(node, .{}) }, .{});
222- // }
223- // return error.MissingParams;
180+ if (params .nodeId != null ) {
181+ const node = bc .node_registry .lookup_by_id .get (params .nodeId .? ) orelse return error .NodeNotFound ;
182+ return cmd .sendResult (.{ .node = bc .nodeWriter (node , .{}) }, .{});
183+ }
184+ if (params .objectId != null ) {
185+ // Retrieve the object from which ever context it is in.
186+ const parser_node = try bc .inspector .getNodePtr (cmd .arena , params .objectId .? );
187+ const node = try bc .node_registry .register (@ptrCast (parser_node ));
188+ return cmd .sendResult (.{ .node = bc .nodeWriter (node , .{}) }, .{});
189+ }
190+ return error .MissingParams ;
224191}
225192
226193const testing = @import ("../testing.zig" );
0 commit comments