mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-12-15 15:58:57 +00:00
add debugger placeholders
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
.dependencies = .{
|
.dependencies = .{
|
||||||
.v8 = .{
|
.v8 = .{
|
||||||
.url = "https://github.com/lightpanda-io/zig-v8-fork/archive/84cdca7cd9065f67c7933388f2091810fc485bc6.tar.gz",
|
.url = "https://github.com/lightpanda-io/zig-v8-fork/archive/84cdca7cd9065f67c7933388f2091810fc485bc6.tar.gz",
|
||||||
.hash = "v8-0.0.0-xddH63bVAwBSEobaUok9J0er1FqsvEujCDDVy6I00",
|
.hash = "v8-0.0.0-xddH67vcAwCuN2gBsAO8TBzEw523KMroIKGrdZwc-Q-y",
|
||||||
},
|
},
|
||||||
//.v8 = .{ .path = "../zig-v8-fork" }
|
//.v8 = .{ .path = "../zig-v8-fork" }
|
||||||
.@"ada-singleheader" = .{
|
.@"ada-singleheader" = .{
|
||||||
|
|||||||
@@ -28,7 +28,14 @@ pub fn init(allocator: Allocator, isolate: v8.Isolate, ctx: anytype) !Inspector
|
|||||||
// If necessary, turn a void context into something we can safely ptrCast
|
// If necessary, turn a void context into something we can safely ptrCast
|
||||||
const safe_context: *anyopaque = if (ContextT == void) @ptrCast(@constCast(&{})) else ctx;
|
const safe_context: *anyopaque = if (ContextT == void) @ptrCast(@constCast(&{})) else ctx;
|
||||||
|
|
||||||
const channel = v8.InspectorChannel.init(safe_context, InspectorContainer.onInspectorResponse, InspectorContainer.onInspectorEvent, isolate);
|
const channel = v8.InspectorChannel.init(
|
||||||
|
safe_context,
|
||||||
|
InspectorContainer.onInspectorResponse,
|
||||||
|
InspectorContainer.onInspectorEvent,
|
||||||
|
InspectorContainer.onRunMessageLoopOnPause,
|
||||||
|
InspectorContainer.onQuitMessageLoopOnPause,
|
||||||
|
isolate,
|
||||||
|
);
|
||||||
|
|
||||||
const client = v8.InspectorClient.init();
|
const client = v8.InspectorClient.init();
|
||||||
|
|
||||||
@@ -109,6 +116,8 @@ pub fn getNodePtr(self: *const Inspector, allocator: Allocator, object_id: []con
|
|||||||
const NoopInspector = struct {
|
const NoopInspector = struct {
|
||||||
pub fn onInspectorResponse(_: *anyopaque, _: u32, _: []const u8) void {}
|
pub fn onInspectorResponse(_: *anyopaque, _: u32, _: []const u8) void {}
|
||||||
pub fn onInspectorEvent(_: *anyopaque, _: []const u8) void {}
|
pub fn onInspectorEvent(_: *anyopaque, _: []const u8) void {}
|
||||||
|
pub fn onRunMessageLoopOnPause(_: *anyopaque, _: u32) void {}
|
||||||
|
pub fn onQuitMessageLoopOnPause(_: *anyopaque) void {}
|
||||||
};
|
};
|
||||||
|
|
||||||
pub fn getTaggedAnyOpaque(value: v8.Value) ?*js.TaggedAnyOpaque {
|
pub fn getTaggedAnyOpaque(value: v8.Value) ?*js.TaggedAnyOpaque {
|
||||||
|
|||||||
@@ -632,6 +632,17 @@ pub fn BrowserContext(comptime CDP_T: type) type {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// debugger events
|
||||||
|
pub fn onRunMessageLoopOnPause(_: *anyopaque, _: u32) void {
|
||||||
|
// onRunMessageLoopOnPause is called when a breakpoint is hit.
|
||||||
|
// Until quit pause, we must continue to run a nested message loop
|
||||||
|
// to interact with the the debugger ony (ie. Chrome DevTools).
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn onQuitMessageLoopOnPause(_: *anyopaque) void {
|
||||||
|
// Quit breakpoint pause.
|
||||||
|
}
|
||||||
|
|
||||||
// This is hacky x 2. First, we create the JSON payload by gluing our
|
// This is hacky x 2. First, we create the JSON payload by gluing our
|
||||||
// session_id onto it. Second, we're much more client/websocket aware than
|
// session_id onto it. Second, we're much more client/websocket aware than
|
||||||
// we should be.
|
// we should be.
|
||||||
|
|||||||
Reference in New Issue
Block a user