Add Runtime domain

Signed-off-by: Francis Bouvier <francis@lightpanda.io>
This commit is contained in:
Francis Bouvier
2024-04-16 00:50:17 +02:00
parent 626fae0da0
commit e073e3388d
2 changed files with 38 additions and 0 deletions

View File

@@ -2,10 +2,12 @@ const std = @import("std");
const server = @import("../server.zig"); const server = @import("../server.zig");
const Ctx = server.Cmd; const Ctx = server.Cmd;
const browser = @import("browser.zig").browser; const browser = @import("browser.zig").browser;
const target = @import("target.zig").target; const target = @import("target.zig").target;
const page = @import("page.zig").page; const page = @import("page.zig").page;
const log = @import("log.zig").log; const log = @import("log.zig").log;
const runtime = @import("runtime.zig").runtime;
pub const Error = error{ pub const Error = error{
UnknonwDomain, UnknonwDomain,
@@ -28,6 +30,7 @@ const Domains = enum {
Target, Target,
Page, Page,
Log, Log,
Runtime,
}; };
// The caller is responsible for calling `free` on the returned slice. // The caller is responsible for calling `free` on the returned slice.
@@ -58,6 +61,7 @@ pub fn do(
.Target => target(alloc, id, iter.next().?, &scanner, ctx), .Target => target(alloc, id, iter.next().?, &scanner, ctx),
.Page => page(alloc, id, iter.next().?, &scanner, ctx), .Page => page(alloc, id, iter.next().?, &scanner, ctx),
.Log => log(alloc, id, iter.next().?, &scanner, ctx), .Log => log(alloc, id, iter.next().?, &scanner, ctx),
.Runtime => runtime(alloc, id, iter.next().?, &scanner, ctx),
}; };
} }

34
src/cdp/runtime.zig Normal file
View File

@@ -0,0 +1,34 @@
const std = @import("std");
const server = @import("../server.zig");
const Ctx = server.Cmd;
const result = @import("cdp.zig").result;
const getParams = @import("cdp.zig").getParams;
const stringify = @import("cdp.zig").stringify;
const RuntimeMethods = enum {
enable,
};
pub fn runtime(
alloc: std.mem.Allocator,
id: u64,
action: []const u8,
scanner: *std.json.Scanner,
ctx: *Ctx,
) ![]const u8 {
const method = std.meta.stringToEnum(RuntimeMethods, action) orelse
return error.UnknownMethod;
return switch (method) {
.enable => enable(alloc, id, scanner, ctx),
};
}
fn enable(
alloc: std.mem.Allocator,
id: u64,
_: *std.json.Scanner,
_: *Ctx,
) ![]const u8 {
return result(alloc, id, null, null);
}