internal override void OnMessage(string method, JsonElement?serverParams) { switch (method) { case "close": Close?.Invoke(this, EventArgs.Empty); break; case "bindingCall": BindingCall?.Invoke( this, new() { BindingCall = serverParams?.GetProperty("binding").ToObject <BindingCallChannel>(Connection.DefaultJsonSerializerOptions).Object }); break; case "route": var route = serverParams?.GetProperty("route").ToObject <RouteChannel>(Connection.DefaultJsonSerializerOptions).Object; var request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.DefaultJsonSerializerOptions).Object; Route?.Invoke( this, new() { Route = route, Request = request }); break; case "page": Page?.Invoke( this, new() { PageChannel = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.DefaultJsonSerializerOptions) }); break; case "crBackgroundPage": BackgroundPage?.Invoke( this, new() { PageChannel = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.DefaultJsonSerializerOptions) }); break; case "crServiceWorker": ServiceWorker?.Invoke( this, new() { WorkerChannel = serverParams?.GetProperty("worker").ToObject <WorkerChannel>(Connection.DefaultJsonSerializerOptions) }); break; case "request": Request?.Invoke(this, serverParams?.ToObject <BrowserContextChannelRequestEventArgs>(Connection.DefaultJsonSerializerOptions)); break; case "requestFinished": RequestFinished?.Invoke(this, serverParams?.ToObject <BrowserContextChannelRequestEventArgs>(Connection.DefaultJsonSerializerOptions)); break; case "requestFailed": RequestFailed?.Invoke(this, serverParams?.ToObject <BrowserContextChannelRequestEventArgs>(Connection.DefaultJsonSerializerOptions)); break; case "response": Response?.Invoke(this, serverParams?.ToObject <BrowserContextChannelResponseEventArgs>(Connection.DefaultJsonSerializerOptions)); break; } }
internal override void OnMessage(string method, JsonElement?serverParams) { switch (method) { case "close": Close?.Invoke(this, EventArgs.Empty); break; case "bindingCall": BindingCall?.Invoke( this, new BindingCallEventArgs { BidingCall = serverParams?.GetProperty("binding").ToObject <BindingCallChannel>(Connection.GetDefaultJsonSerializerOptions()).Object, }); break; case "route": Route?.Invoke( this, new RouteEventArgs { Route = serverParams?.GetProperty("route").ToObject <RouteChannel>(Connection.GetDefaultJsonSerializerOptions()).Object, Request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.GetDefaultJsonSerializerOptions()).Object, }); break; case "page": Page?.Invoke( this, new BrowserContextPageEventArgs { PageChannel = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.GetDefaultJsonSerializerOptions()), }); break; case "crBackgroundPage": BackgroundPage?.Invoke( this, new BrowserContextPageEventArgs { PageChannel = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.GetDefaultJsonSerializerOptions()), }); break; case "crServiceWorker": ServiceWorker?.Invoke( this, new WorkerChannelEventArgs { WorkerChannel = serverParams?.GetProperty("worker").ToObject <WorkerChannel>(Connection.GetDefaultJsonSerializerOptions()), }); break; } }
internal override void OnMessage(string method, JsonElement?serverParams) { switch (method) { case "close": Closed?.Invoke(this, EventArgs.Empty); break; case "crash": Crashed?.Invoke(this, EventArgs.Empty); break; case "domcontentloaded": DOMContentLoaded?.Invoke(this, EventArgs.Empty); break; case "load": Load?.Invoke(this, EventArgs.Empty); break; case "bindingCall": BindingCall?.Invoke( this, new BindingCallEventArgs { BidingCall = serverParams?.GetProperty("binding").ToObject <BindingCallChannel>(Connection.GetDefaultJsonSerializerOptions()).Object, }); break; case "route": Route?.Invoke( this, new RouteEventArgs { Route = serverParams?.GetProperty("route").ToObject <RouteChannel>(Connection.GetDefaultJsonSerializerOptions()).Object, Request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.GetDefaultJsonSerializerOptions()).Object, }); break; case "popup": Popup?.Invoke(this, new PageChannelPopupEventArgs { Page = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.GetDefaultJsonSerializerOptions()).Object, }); break; case "pageError": PageError?.Invoke(this, serverParams?.GetProperty("error").GetProperty("error").ToObject <PageErrorEventArgs>(Connection.GetDefaultJsonSerializerOptions())); break; case "fileChooser": FileChooser?.Invoke(this, serverParams?.ToObject <FileChooserChannelEventArgs>(Connection.GetDefaultJsonSerializerOptions())); break; case "frameAttached": FrameAttached?.Invoke(this, new FrameEventArgs(serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.GetDefaultJsonSerializerOptions()).Object)); break; case "frameDetached": FrameDetached?.Invoke(this, new FrameEventArgs(serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.GetDefaultJsonSerializerOptions()).Object)); break; case "dialog": Dialog?.Invoke(this, new DialogEventArgs(serverParams?.GetProperty("dialog").ToObject <DialogChannel>(Connection.GetDefaultJsonSerializerOptions()).Object)); break; case "console": Console?.Invoke(this, new ConsoleEventArgs(serverParams?.GetProperty("message").ToObject <ConsoleMessage>(Connection.GetDefaultJsonSerializerOptions()))); break; case "request": Request?.Invoke(this, new RequestEventArgs { Request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.GetDefaultJsonSerializerOptions()).Object }); break; case "requestFinished": RequestFinished?.Invoke(this, new RequestEventArgs { Request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.GetDefaultJsonSerializerOptions()).Object }); break; case "requestFailed": RequestFailed?.Invoke(this, serverParams?.ToObject <PageChannelRequestFailedEventArgs>(Connection.GetDefaultJsonSerializerOptions())); break; case "response": Response?.Invoke(this, new ResponseEventArgs { Response = serverParams?.GetProperty("response").ToObject <ResponseChannel>(Connection.GetDefaultJsonSerializerOptions()).Object }); break; case "download": Download?.Invoke(this, new DownloadEventArgs() { Download = serverParams?.GetProperty("download").ToObject <DownloadChannel>(Connection.GetDefaultJsonSerializerOptions()).Object }); break; case "worker": Worker?.Invoke( this, new WorkerChannelEventArgs { WorkerChannel = serverParams?.GetProperty("worker").ToObject <WorkerChannel>(Connection.GetDefaultJsonSerializerOptions()), }); break; } }
internal void CreateRemoteObject(ChannelOwnerType type, string guid, JsonElement?initializer) { IChannelOwner result = null; switch (type) { case ChannelOwnerType.BindingCall: result = new BindingCall(this, guid, initializer?.ToObject <BindingCallInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Playwright: #pragma warning disable CA2000 // Dispose objects before losing scope result = new Playwright(this, guid, initializer?.ToObject <PlaywrightInitializer>(_connection.GetDefaultJsonSerializerOptions()), _loggerFactory); #pragma warning restore CA2000 // Dispose objects before losing scope break; case ChannelOwnerType.Browser: result = new Browser(this, guid, initializer?.ToObject <BrowserInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.BrowserType: result = new BrowserType(this, guid, initializer?.ToObject <BrowserTypeInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Context: result = new BrowserContext(this, guid, initializer?.ToObject <BrowserContextInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.ConsoleMessage: result = new ConsoleMessage(this, guid, initializer?.ToObject <ConsoleMessageInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Dialog: result = new Dialog(this, guid, initializer?.ToObject <DialogInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Download: result = new Download(this, guid, initializer?.ToObject <DownloadInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.ElementHandle: result = new ElementHandle(this, guid, initializer?.ToObject <ElementHandleInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Frame: result = new Frame(this, guid, initializer?.ToObject <FrameInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.JSHandle: result = new JSHandle(this, guid, initializer?.ToObject <JSHandleInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Page: result = new Page(this, guid, initializer?.ToObject <PageInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Request: result = new Request(this, guid, initializer?.ToObject <RequestInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Response: result = new Response(this, guid, initializer?.ToObject <ResponseInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; case ChannelOwnerType.Route: result = new Route(this, guid, initializer?.ToObject <RouteInitializer>(_connection.GetDefaultJsonSerializerOptions())); break; default: Debug.Write("Missing type " + type); break; } _objects.TryAdd(guid, result); _connection.OnObjectCreated(guid, result); }
public BindingCallChannel(string guid, Connection connection, BindingCall owner) : base(guid, connection, owner) { }
internal override void OnMessage(string method, JsonElement?serverParams) { switch (method) { case "close": Closed?.Invoke(this, EventArgs.Empty); break; case "crash": Crashed?.Invoke(this, EventArgs.Empty); break; case "domcontentloaded": DOMContentLoaded?.Invoke(this, EventArgs.Empty); break; case "load": Load?.Invoke(this, EventArgs.Empty); break; case "bindingCall": BindingCall?.Invoke( this, new() { BindingCall = serverParams?.GetProperty("binding").ToObject <BindingCallChannel>(Connection.DefaultJsonSerializerOptions).Object }); break; case "route": var route = serverParams?.GetProperty("route").ToObject <RouteChannel>(Connection.DefaultJsonSerializerOptions).Object; var request = serverParams?.GetProperty("request").ToObject <RequestChannel>(Connection.DefaultJsonSerializerOptions).Object; Route?.Invoke( this, new() { Route = route, Request = request }); break; case "popup": Popup?.Invoke(this, new() { Page = serverParams?.GetProperty("page").ToObject <PageChannel>(Connection.DefaultJsonSerializerOptions).Object }); break; case "pageError": PageError?.Invoke(this, serverParams?.GetProperty("error").GetProperty("error").ToObject <SerializedError>(Connection.DefaultJsonSerializerOptions)); break; case "fileChooser": FileChooser?.Invoke(this, serverParams?.ToObject <FileChooserChannelEventArgs>(Connection.DefaultJsonSerializerOptions)); break; case "frameAttached": FrameAttached?.Invoke(this, serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.DefaultJsonSerializerOptions).Object); break; case "frameDetached": FrameDetached?.Invoke(this, serverParams?.GetProperty("frame").ToObject <FrameChannel>(Connection.DefaultJsonSerializerOptions).Object); break; case "dialog": Dialog?.Invoke(this, serverParams?.GetProperty("dialog").ToObject <DialogChannel>(Connection.DefaultJsonSerializerOptions).Object); break; case "console": Console?.Invoke(this, serverParams?.GetProperty("message").ToObject <ConsoleMessage>(Connection.DefaultJsonSerializerOptions)); break; case "webSocket": WebSocket?.Invoke(this, serverParams?.GetProperty("webSocket").ToObject <WebSocketChannel>(Connection.DefaultJsonSerializerOptions).Object); break; case "download": Download?.Invoke(this, serverParams?.ToObject <PageDownloadEvent>(Connection.DefaultJsonSerializerOptions)); break; case "video": Video?.Invoke(this, new() { Artifact = serverParams?.GetProperty("artifact").ToObject <ArtifactChannel>(Connection.DefaultJsonSerializerOptions).Object }); break; case "worker": Worker?.Invoke( this, new() { WorkerChannel = serverParams?.GetProperty("worker").ToObject <WorkerChannel>(Connection.DefaultJsonSerializerOptions) }); break; } }