public static void RemoveBrowser(ICefWebBrowser b)
 {
     if (Browsers.Contains(b))
     {
         Browsers.Remove(b);
     }
 }
        protected virtual IApplicationWindowEx CreateWindow(ICefWebBrowser browser, string startUrl, CreateWindowOptions options)
        {
            var window = CreateNewApplicationWindow();

            window.Initialize(this, browser, startUrl, Application.Package.Manifest.Name, options);
            AddWindow(window);
            return(window);
        }
 public void HandleBeforeResourceLoad(ICefWebBrowser browserControl, IRequestResponse requestResponse)
 {
     IRequest request = requestResponse.Request;
     if (request.Url.StartsWith(testPagesBaseUrl))
     {
         var url = request.Url.Substring(testPagesBaseUrl.Length);
         var stream = GetStream(url);
         requestResponse.RespondWith(stream, "text/html");
     }
 }
Example #4
0
 public void HandleBeforeResourceLoad(ICefWebBrowser browserControl, IRequestResponse requestResponse)
 {
     IRequest request = requestResponse.Request;
     if(request.Url.StartsWith("http://test/resource/load"))
     {
         Stream resourceStream = new MemoryStream(Encoding.UTF8.GetBytes(
             "<html><body><h1>Success</h1><p>This document is loaded from a System.IO.Stream</p></body></html>"));
         requestResponse.RespondWith(resourceStream, "text/html");
     }
 }
        public void HandleBeforeResourceLoad(ICefWebBrowser browserControl, IRequestResponse requestResponse)
        {
            IRequest request = requestResponse.Request;

            if (request.Url.StartsWith(testPagesBaseUrl))
            {
                var url    = request.Url.Substring(testPagesBaseUrl.Length);
                var stream = GetStream(url);
                requestResponse.RespondWith(stream, "text/html");
            }
        }
 private ICefWebBrowser GetRootBrowser()
 {
     if (_rootBrowser == null)
     {
         _rootBrowser = _getRootBrowser();
         if (_rootBrowser != null)
         {
             _rootBrowser.BeforePopup += OnRootBrowserBeforePopup;
             _rootBrowser.ShowPopup   += OnRootBrowserShowPopup;
         }
     }
     return(_rootBrowser);
 }
 private void CloseApplication()
 {
     if (_eventPageBrowser != null)
     {
         _eventPageBrowser.Dispose();
         _eventPageBrowser = null;
     }
     if (State != ApplicationState.Closed)
     {
         State = ApplicationState.Closed;
         Dispose(true);
     }
 }
        protected virtual void Dispose(bool disposing)
        {
            if (!disposing)
            {
                return;
            }

            if (_windowManager != null)
            {
                _windowManager.NoWindowsOpen  -= OnWindowManagerNoWindowsOpen;
                _windowManager.CreatingWindow -= OnWindowManagerCreatingWindow;
                _windowManager.CreatedWindow  -= OnWindowManagerCreatedWindow;
                _windowManager = null;
            }

            _schemeHandler = null;

            if (_eventPageLaunchTimer != null)
            {
                _eventPageLaunchTimer.Dispose();
                _eventPageLaunchTimer = null;
            }
            if (_router != null)
            {
                _router.Dispose();
                _router = null;
            }
            if (_eventPageBrowser != null)
            {
                _eventPageBrowser.Dispose();
                _eventPageBrowser = null;
            }

            if (_appRegistrationToken != null)
            {
                _appRegistrationToken.Dispose();
                _appRegistrationToken = null;
            }

            if (_setCookieEvent != null)
            {
                _setCookieEvent.Close();
                _setCookieEvent = null;
            }

            if (_eventPageUnloadTimer != null)
            {
                _eventPageUnloadTimer.Dispose();
                _eventPageUnloadTimer = null;
            }
        }
        private void LoadEventPage()
        {
            if (_eventPageBrowser != null)
            {
                return;
            }

            _eventPageBrowser = _createNewBrowser();
            _eventPageBrowser.BeforeBrowserCreate     += OnBeforeEventPageBrowserCreate;
            _eventPageBrowser.LoadEnd                 += OnEventPageBrowserLoad;
            _eventPageBrowser.RenderProcessTerminated += OnRenderProcessTerminated;

            using (AutoStopwatch.TimeIt("Creating browser control"))
            {
                _eventPageBrowser.CreateControl();
            }
        }
        public void Shutdown()
        {
            lock (_lock)
            {
                _getRootBrowser = null;
                _pendingWindowCreations.Clear();

                foreach (var applicationWindow in _windows)
                {
                    // TODO: Detach events
                    applicationWindow.CloseWindow();
                }
                _windows.Clear();
            }

            if (_rootBrowser != null)
            {
                _rootBrowser.BeforePopup -= OnRootBrowserBeforePopup;
                _rootBrowser.ShowPopup   -= OnRootBrowserShowPopup;
                _rootBrowser              = null;
            }

            Logger.Debug("Shutdown");
        }
 public static void AddBrowser(ICefWebBrowser b)
 {
     Browsers.Add(b);
     Logger.Info("There are currently {0} browsers open.", Browsers.Count);
 }
 public ShowPopupEventArgs(ICefWebBrowser browser)
 {
     PopupBrowser = browser;
     Shown        = false;
 }