예제 #1
0
        /// <summary>
        /// Initializes the supplied DevTools session's domains for the specified browser version within the specified number of versions.
        /// </summary>
        /// <param name="versionInfo">The <see cref="DevToolsVersionInfo"/> object containing the browser version information.</param>
        /// <param name="session">The <see cref="DevToolsSession"/> for which to initialiize the domains.</param>
        /// <param name="versionRange">The range of versions within which to match the provided version number. Defaults to 5 versions.</param>
        /// <returns>The <see cref="DevToolsDomains"/> object containing the version-specific domains.</returns>
        public static DevToolsDomains InitializeDomains(DevToolsVersionInfo versionInfo, DevToolsSession session, int versionRange)
        {
            if (versionRange < 0)
            {
                throw new ArgumentException("Version range must be positive", "versionRange");
            }

            DevToolsDomains domains             = null;
            int             browserMajorVersion = 0;
            bool            versionParsed       = int.TryParse(versionInfo.BrowserMajorVersion, out browserMajorVersion);

            if (versionParsed)
            {
                Type            domainType  = MatchDomainsVersion(browserMajorVersion, versionRange);
                ConstructorInfo constructor = domainType.GetConstructor(new Type[] { typeof(DevToolsSession) });
                if (constructor != null)
                {
                    domains = constructor.Invoke(new object[] { session }) as DevToolsDomains;
                }
            }

            return(domains);
        }
예제 #2
0
 /// <summary>
 /// Initializes the supplied DevTools session's domains for the specified browser version.
 /// </summary>
 /// <param name="versionInfo">The <see cref="DevToolsVersionInfo"/> object containing the browser version information.</param>
 /// <param name="session">The <see cref="DevToolsSession"/> for which to initialiize the domains.</param>
 /// <returns>The <see cref="DevToolsDomains"/> object containing the version-specific domains.</returns>
 public static DevToolsDomains InitializeDomains(DevToolsVersionInfo versionInfo, DevToolsSession session)
 {
     return(InitializeDomains(versionInfo, session, DefaultVersionRange));
 }