Example #1
0
        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);
        }