Esempio n. 1
0
        private ChromeSession addSession(ChromeSessionInfo info)
        {
            var session = new ChromeSession(info, this);

            aliveSessions.Add(session.Id, session);
            return(session);
        }
 internal static DynamicObjectResult Get(EvaluateCommandResponse result, ChromeSession session)
 {
     if (result.ExceptionDetails != null)
     {
         throw new ChromeRemoteException(result.ExceptionDetails);
     }
     return(Get(result.Result, session));
 }
        internal static DynamicObjectResult Get(RemoteObject value, ChromeSession session)
        {
            if (value.Type == "undefined")
            {
                return(null);
            }


            return(new DynamicObjectResult(value.ObjectId, session));
        }
Esempio n. 4
0
        /// <summary>
        /// Closes the provided Session(Tab)
        /// </summary>
        /// <param name="session">Session to be closed</param>
        /// <returns></returns>
        public async Task CloseSession(ChromeSession session)
        {
            //TODO(Tera):if i close all the sessions, chrome closes itself! i can use this to gracefully close this stuff, OR maybe i should prevent it?
            using (var webClient = GetDebuggerClient())
            {
                var result = await webClient.PostAsync("/json/close/" + session.Id, null);

                var contents = await result.Content.ReadAsStringAsync();

                //Assert contents == "Target is closing"
                if (aliveSessions.ContainsKey(session.Id))
                {
                    aliveSessions.Remove(session.Id);
                }
                session.innerDispose();
            }
        }
 public DynamicObjectResult(string objectId, ChromeSession session)
 {
     this.objectId = objectId;
     this.session  = session;
 }