internal ChromiumBrowserContext(IChannelOwner parent, string guid, BrowserContextInitializer initializer) : base(parent, guid, initializer) { if (initializer.CrBackgroundPages != null) { foreach (var pageChannel in initializer.CrBackgroundPages) { var page = ((PageChannel)pageChannel).Object; _crBackgroundPages.Add(page); page.BrowserContext = this; BackgroundPage?.Invoke(this, new PageEventArgs { Page = page }); } } Channel.BackgroundPage += (sender, e) => { var page = e.PageChannel.Object; page.BrowserContext = this; _crBackgroundPages.Add(page); BackgroundPage?.Invoke(this, new PageEventArgs { Page = page }); }; if (initializer.CrServiceWorkers != null) { foreach (var workerChannel in initializer.CrServiceWorkers) { var worker = ((WorkerChannel)workerChannel).Object; ServiceWorkersList.Add(worker); worker.BrowserContext = this; ServiceWorker?.Invoke(this, new WorkerEventArgs(worker)); } } Channel.ServiceWorker += (sender, e) => { var worker = e.WorkerChannel.Object; ServiceWorkersList.Add(worker); worker.BrowserContext = this; ServiceWorker?.Invoke(this, new WorkerEventArgs(worker)); }; }
internal BrowserContext(ConnectionScope scope, string guid, BrowserContextInitializer initializer) { _scope = scope; _channel = new BrowserContextChannel(guid, scope, this); }