Beispiel #1
0
 private CustomIe(IEBrowser browser)
     : base(browser)
 {
     var internetExplorer = (InternetExplorer)browser.WebBrowser;
     internetExplorer.BeforeNavigate2 += BeforeNavigate2;
     internetExplorer.NavigateError += NavigateError;
 }
		private void DisposeAndCloseIE(bool closeIE)
		{
		    if (isDisposed) return;
		    
            Logger.LogDebug(Resources.IE_Dispose);

            if (closeIE && IsInternetExplorerStillAvailable())
		    {
		        // Close all open HTMLDialogs
		        HtmlDialogs.CloseAll();
		    }

		    base.Dispose(true);

		    if (closeIE && IsInternetExplorerStillAvailable())
		    {
		        // Ask IE to close
		        _ieBrowser.Quit();
		    }

		    _ieBrowser = null;

		    if (closeIE)
		    {
		        // Wait for IE to close to prevent RPC errors when creating
		        // a new WatiN.Core.IE instance.
		        Thread.Sleep(1000);
		    }

		    isDisposed = true;
		}
	    private void CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, bool createInNewProcess)
		{
			CheckThreadApartmentStateIsSTA();

			UtilityClass.MoveMousePoinerToTopLeft(Settings.AutoMoveMousePointerToTopLeft);

			if (createInNewProcess)
			{
				Logger.LogAction("Creating IE instance in a new process");

                _ieBrowser = CreateIEPartiallyInitializedInNewProcess();
			}
			else
			{
				Logger.LogAction("Creating IE instance");

                _ieBrowser = CreateIEBrowser(new InternetExplorerClass());
			}
            
            StartDialogWatcher();

			if (logonDialogHandler != null)
			{
				// remove other logon dialog handlers since only one handler
				// can effectively handle the logon dialog.
				DialogWatcher.RemoveAll(new LogonDialogHandler("a", "b"));

				// Add the (new) logonHandler
				DialogWatcher.Add(logonDialogHandler);
			}

            FinishInitialization(uri);
            
//            WaitForComplete();
		}
	    protected internal IE(object iwebBrowser2, bool finishInitialization)
        {
            CheckThreadApartmentStateIsSTA();

            var internetExplorer = iwebBrowser2 as IWebBrowser2;

            if (internetExplorer == null)
            {
                throw new ArgumentException("iwebBrowser2 needs to implement shdocvw.IWebBrowser2");
            }

            _ieBrowser = CreateIEBrowser(internetExplorer);

            StartDialogWatcher();

            if (finishInitialization)
                FinishInitialization(null);
        }
 /// <summary>
 /// (Re)Use existing <see cref="IEBrowser"/> object. 
 /// </summary>
 /// <param name="ieBrowser">An object implementing <see cref="IEBrowser"/>.</param>
 public IE(IEBrowser ieBrowser)
 {
     _ieBrowser = ieBrowser;
 }
 protected virtual IE CreateBrowserInstance(IEBrowser browser)
 {
     return(new IE(browser.WebBrowser, false));
 }
 protected override IE CreateBrowserInstance(IEBrowser browser)
 {
     return new MyIE(browser);
 }
 public virtual IE CreateBrowserInstance(IEBrowser browser)
 {
     return new IE(browser.WebBrowser, false);
 }
Beispiel #9
0
 public IEWaitForComplete(IEBrowser ieBrowser, int waitForCompleteTimeout)
     : base(waitForCompleteTimeout)
 {
     this.ieBrowser = ieBrowser;
 }
Beispiel #10
0
 public IEWaitForComplete(IEBrowser ieBrowser)
     : this(ieBrowser, Settings.WaitForCompleteTimeOut)
 {
 }
Beispiel #11
0
 public IEWaitForComplete(IEBrowser ieBrowser, int waitForCompleteTimeout)
     : base(waitForCompleteTimeout)
 {
     this.ieBrowser = ieBrowser;
 }
Beispiel #12
0
 public IEWaitForComplete(IEBrowser ieBrowser)
     : this(ieBrowser, Settings.WaitForCompleteTimeOut)
 {
 }
 public IEWaitForCompleteWithDialogs(IEBrowser ieBrowser, int waitForCompleteTimeOut, Func<bool> hasDialog)
     : base(ieBrowser, waitForCompleteTimeOut)
 {
     this.ieBrowser = ieBrowser;
     this.hasDialog = hasDialog;
 }
 public MyIE(IEBrowser browser)
     : base(browser)
 {
 }
Beispiel #15
0
 protected override IE CreateBrowserInstance(IEBrowser browser)
 {
     return new CustomIe(browser);
 }
Beispiel #16
0
 public IEWithDialogWaiter(IEBrowser browser) 
     : base(browser)
 {
 }