Esempio n. 1
0
        public void Destroy()
        {
            if (ieInstance != null)
            {
                try
                {
                    Marshal.ReleaseComObject(ieInstance);
                }
                catch { }
            }
            if (_browser != null)
            {
                _browser.Dispose();
            }

            if (testHelp != null)
            {
                testHelp.Dispose();
            }
            testHelp   = null;
            _browser   = null;
            host       = null;
            ieInstance = null;
            _mainHWND  = IntPtr.Zero;
        }
Esempio n. 2
0
        private void CheckUIHostRegistration()
        {
            lock (_uiHostRegisteredLock)
            {
                if (testHelp != null)
                {
                    testHelp.StartInfo = this.StartInfo;
                }

                if (isUIHostRegistered || ieInstance == null)
                {
                    return;
                }

                ICustomDoc cDoc   = ieInstance.Document as ICustomDoc;
                IOleObject oleObj = ieInstance.Document as IOleObject;

                if (oleObj != null && cDoc != null)
                {
                    IOleClientSite clientSite = null;
                    oleObj.GetClientSite(ref clientSite);

                    if (cDoc != null)
                    {
                        _browser = new BrowserIEImpl(ieInstance, _mainHWND, _canvasHWND);
                        testHelp = new IETestHelp(clientSite as IDocHostUIHandler, _browser, host);
                        cDoc.SetUIHandler(testHelp);
                        isUIHostRegistered = true;
                    }
                }
            }
        }
Esempio n. 3
0
        public void Dispose()
        {
            if (m_defaultUIHandler != null)
            {
                Marshal.ReleaseComObject(m_defaultUIHandler);
            }

            lock (performanceTrackerLock)
            {
                if (performanceTracker != null)
                {
                    try{
                        performanceTracker.StopTracking(null);
                    }catch {
                    }
                    try{
                        performanceTracker.Dispose();
                    }
                    catch { }
                }
                performanceTracker = null;
            }

            browserWrapperIEImpl = null;

            browser            = null;
            m_defaultUIHandler = null;
        }
Esempio n. 4
0
        public IETestHelp(IDocHostUIHandler defaultUIHandler, BrowserIEImpl browser, BrowserWrapperIEImpl browserWrapperIEImpl)
        {
            this.JavascriptDelegates = new Dictionary <string, ExecuteJavascriptDelegate>();

            this.JavascriptDelegates.Add("getSnapshot", new ExecuteJavascriptDelegate(this.TakeScreenshot));
            this.JavascriptDelegates.Add("startperftest", new ExecuteJavascriptDelegate(this.StartPerformanceTracking));
            this.JavascriptDelegates.Add("endperftest", new ExecuteJavascriptDelegate(this.StopPerformanceTracking));
            this.JavascriptDelegates.Add("saveData", new ExecuteJavascriptDelegate(this.SaveDump));
            this.JavascriptDelegates.Add("log", new ExecuteJavascriptDelegate(this.Log));
            this.JavascriptDelegates.Add("onProgress", new ExecuteJavascriptDelegate(this.OnProgress));
            this.JavascriptDelegates.Add("signal_test_started", new ExecuteJavascriptDelegate(this.SignalTestStarted));
            this.JavascriptDelegates.Add("signal_test_ended", new ExecuteJavascriptDelegate(this.SignalTestEnded));
            this.JavascriptDelegates.Add("redirect", new ExecuteJavascriptDelegate(this.RedirectPage));
            this.JavascriptDelegates.Add("clearcache", new ExecuteJavascriptDelegate(this.ClearCache));

            this.browserWrapperIEImpl = browserWrapperIEImpl;
            this.browser            = browser;
            this.m_defaultUIHandler = defaultUIHandler;
        }