@@ -121,7 +121,7 @@ pub fn dispatch(
121121pub const State = struct {
122122 executionContextId : u32 = 0 ,
123123 contextID : ? []const u8 = null ,
124- sessionID : ? [] const u8 = null ,
124+ sessionID : SessionID = .CONTEXTSESSIONID0497A05C95417CF4 ,
125125 frameID : []const u8 = FrameID ,
126126 url : []const u8 = URLBase ,
127127 securityOrigin : []const u8 = URLBase ,
@@ -225,8 +225,21 @@ pub fn sendEvent(
225225// ------
226226
227227// TODO: hard coded IDs
228- pub const BrowserSessionID = "BROWSERSESSIONID597D9875C664CAC0" ;
229- pub const ContextSessionID = "CONTEXTSESSIONID0497A05C95417CF4" ;
228+ pub const SessionID = enum {
229+ BROWSERSESSIONID597D9875C664CAC0 ,
230+ CONTEXTSESSIONID0497A05C95417CF4 ,
231+
232+ pub fn parse (str : []const u8 ) ! SessionID {
233+ inline for (@typeInfo (SessionID ).Enum .fields ) | enumField | {
234+ if (std .mem .eql (u8 , str , enumField .name )) {
235+ return @field (SessionID , enumField .name );
236+ }
237+ }
238+ return error .InvalidSessionID ;
239+ }
240+ };
241+ pub const BrowserSessionID = @tagName (SessionID .BROWSERSESSIONID597D9875C664CAC0 );
242+ pub const ContextSessionID = @tagName (SessionID .CONTEXTSESSIONID0497A05C95417CF4 );
230243pub const URLBase = "chrome://newtab/" ;
231244pub const LoaderID = "LOADERID24DD2FD56CF1EF33C965C79C" ;
232245pub const FrameID = "FRAMEIDD8AED408A0467AC93100BCDBE" ;
0 commit comments