internal static async Task <FrameManager> CreateFrameManagerAsync(CDPSession client, Page page, NetworkManager networkManager, FrameTree frameTree) { var frameManager = new FrameManager(client, page, networkManager); await frameManager.HandleFrameTreeAsync(frameTree).ConfigureAwait(false); return(frameManager); }
internal static async Task <FrameManager> CreateFrameManagerAsync( CDPSession client, Page page, bool ignoreHTTPSErrors, TimeoutSettings timeoutSettings) { var frameManager = new FrameManager(client, page, ignoreHTTPSErrors, timeoutSettings); var getFrameTreeTask = client.SendAsync <PageGetFrameTreeResponse>("Page.getFrameTree"); await Task.WhenAll( client.SendAsync("Page.enable"), getFrameTreeTask).ConfigureAwait(false); await frameManager.HandleFrameTreeAsync(new FrameTree(getFrameTreeTask.Result.FrameTree)).ConfigureAwait(false); await Task.WhenAll( client.SendAsync("Page.setLifecycleEventsEnabled", new PageSetLifecycleEventsEnabledRequest { Enabled = true }), client.SendAsync("Runtime.enable"), frameManager.NetworkManager.InitializeAsync()).ConfigureAwait(false); await frameManager.EnsureIsolatedWorldAsync().ConfigureAwait(false); return(frameManager); }