Пример #1
0
        private async Task CreateTargetAsync(TargetCreatedResponse e)
        {
            var    targetInfo       = e.TargetInfo;
            string browserContextId = targetInfo.BrowserContextId;

            if (!(browserContextId != null && _contexts.TryGetValue(browserContextId, out var context)))
            {
                context = DefaultContext;
            }

            var target = new Target(
                e.TargetInfo,
                () => Connection.CreateSessionAsync(targetInfo),
                context);

            TargetsMap[e.TargetInfo.TargetId] = target;

            if (await target.InitializedTask.ConfigureAwait(false))
            {
                var args = new TargetChangedArgs {
                    Target = target
                };
                TargetCreated?.Invoke(this, args);
                context.OnTargetCreated(this, args);
            }
        }
Пример #2
0
        private async Task CreateTargetAsync(TargetCreatedResponse e)
        {
            var targetInfo       = e.TargetInfo;
            var browserContextId = targetInfo.BrowserContextId;

            if (!(browserContextId != null && _contexts.TryGetValue(browserContextId, out var context)))
            {
                context = DefaultContext;
            }

            var target = new Target(
                e.TargetInfo,
                info => Connection.CreateSessionAsync(info),
                context);

            if (TargetsMap.ContainsKey(e.TargetInfo.TargetId))
            {
                _logger.LogError("Target should not exist before targetCreated");
            }

            TargetsMap[e.TargetInfo.TargetId] = target;

            if (await target.InitializedTask.ConfigureAwait(false))
            {
                var args = new TargetChangedArgs {
                    Target = target
                };
                TargetCreated?.Invoke(this, args);
                context.OnTargetCreated(this, args);
            }
        }
Пример #3
0
        private void ChangeTargetInfo(TargetCreatedResponse e)
        {
            if (!TargetsMap.ContainsKey(e.TargetInfo.TargetId))
            {
                throw new InvalidTargetException("Target should exists before ChangeTargetInfo");
            }

            var target = TargetsMap[e.TargetInfo.TargetId];

            target.TargetInfoChanged(e.TargetInfo);
        }
Пример #4
0
        private async Task CreateTarget(TargetCreatedResponse e)
        {
            var target = new Target(this, e.TargetInfo);

            _targets[e.TargetInfo.TargetId] = target;

            if (await target.InitializedTask)
            {
                TargetCreated?.Invoke(this, new TargetChangedArgs()
                {
                    Target = target
                });
            }
        }
Пример #5
0
        private async Task CreateTargetAsync(TargetCreatedResponse e)
        {
            var target = new Target(
                e.TargetInfo,
                () => Connection.CreateSessionAsync(e.TargetInfo.TargetId),
                this);

            if (TargetsMap.ContainsKey(e.TargetInfo.TargetId))
            {
                _logger.LogError("Target should not exist before targetCreated");
            }

            TargetsMap[e.TargetInfo.TargetId] = target;

            if (await target.InitializedTask.ConfigureAwait(false))
            {
                TargetCreated?.Invoke(this, new TargetChangedArgs
                {
                    Target = target
                });
            }
        }