Ejemplo n.º 1
0
        void GeckoWebBrowser_Loaded(object sender, System.Windows.RoutedEventArgs e)
        {
            Xpcom.Initialize();
            _webBrowser      = Xpcom.CreateInstance2 <nsIWebBrowser>(Contracts.WebBrowser);
            _webBrowserFocus = (nsIWebBrowserFocus)_webBrowser.Instance;
            _baseWindow      = (nsIBaseWindow)_webBrowser.Instance;
            _webNav          = (nsIWebNavigation)_webBrowser.Instance;
            _webBrowser.Instance.SetContainerWindowAttribute(this);

            _baseWindow.InitWindow(Handle, IntPtr.Zero, 0, 0,
                                   (int)(ActualWidth * DpiX / 96),
                                   (int)(ActualHeight * DpiY / 96));
            _baseWindow.Create();

            #region nsIWebProgressListener/nsIWebProgressListener2
            Guid nsIWebProgressListenerGUID  = typeof(nsIWebProgressListener).GUID;
            Guid nsIWebProgressListener2GUID = typeof(nsIWebProgressListener2).GUID;
            _webProgressWeakReference = _webProgressListener.GetWeakReference();
            _webBrowser.Instance.AddWebBrowserListener(_webProgressWeakReference, ref nsIWebProgressListenerGUID);
            _webBrowser.Instance.AddWebBrowserListener(_webProgressWeakReference, ref nsIWebProgressListener2GUID);

            _webProgressListener.OnStateChangeCallback += this.OnStateChange;

            #endregion

            _baseWindow.SetVisibilityAttribute(true);
        }
Ejemplo n.º 2
0
 protected override void DestroyWindowCore(HandleRef hwnd)
 {
     #region nsIWebProgressListener/nsIWebProgressListener2
     _webProgressListener.IsListening = false;
     Guid nsIWebProgressListenerGUID  = typeof(nsIWebProgressListener).GUID;
     Guid nsIWebProgressListener2GUID = typeof(nsIWebProgressListener2).GUID;
     _webBrowser.Instance.RemoveWebBrowserListener(_webProgressWeakReference, ref nsIWebProgressListenerGUID);
     _webBrowser.Instance.RemoveWebBrowserListener(_webProgressWeakReference, ref nsIWebProgressListener2GUID);
     _webProgressWeakReference = null;
     _webProgressListener      = null;
     #endregion
     //_webNav.Stop(  );
     _webBrowser.FinalRelease();
     _webBrowser.Dispose();
     _webBrowser = null;
     _source.Dispose();
 }
Ejemplo n.º 3
0
        public static nsIWeakReference GetProxy(Mono.WebBrowser.IWebBrowser control, nsIWeakReference obj)
        {
            object o = Base.GetProxyForObject(control, typeof(nsIWeakReference).GUID, obj);

            return(o as nsIWeakReference);
        }
Ejemplo n.º 4
0
		public static nsIWeakReference GetProxy (Mono.WebBrowser.IWebBrowser control, nsIWeakReference obj)
		{
			object o = Base.GetProxyForObject (control, typeof(nsIWeakReference).GUID, obj);
			return o as nsIWeakReference;
		}