예제 #1
0
        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;
        }