Пример #1
0
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     if (autoReload)
     {
         browser.Reload();
     }
 }
            protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
            {
                OwnerWebView.HandleRenderProcessCrashed();

                const string ExceptionPrefix = "WebView render process ";

                Exception exception;

                switch (status)
                {
                case CefTerminationStatus.ProcessCrashed:
                    exception = new RenderProcessCrashedException(ExceptionPrefix + "crashed");
                    break;

                case CefTerminationStatus.WasKilled:
                    exception = new RenderProcessKilledException(ExceptionPrefix + "was killed", OwnerWebView.IsDisposing);
                    break;

                case CefTerminationStatus.OutOfMemory:
                    exception = new RenderProcessOutOfMemoryException(ExceptionPrefix + "ran out of memory");
                    break;

                default:
                    exception = new RenderProcessCrashedException(ExceptionPrefix + "terminated with an unknown reason");
                    break;
                }

                OwnerWebView.ForwardUnhandledAsyncException(exception);
            }
Пример #3
0
        protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
        {
            var e = new RenderProcessTerminatedEventArgs(browser, status);

            _owner.InvokeIfRequired(() => _owner.OnRenderProcessTerminated(e));

            _owner.WebView.ProcessMessageBridge.OnRenderProcessTerminated(browser);

            if (e.ShouldTryResetProcess && status != CefTerminationStatus.Termination)
            {
                //browser.Reload();
                //browser.Reload();
                // System.Windows.Forms.MessageBox.Show(browser.GetMainFrame().Url);
                if (!browser.GetMainFrame().Url.Contains("?fromCustormBrowser=1"))
                {
                    browser.GetMainFrame().LoadUrl(browser.GetMainFrame().Url + "?fromCustormBrowser=1");
                }
                else
                {
                    browser.GetMainFrame().LoadUrl(browser.GetMainFrame().Url);
                }

                _owner.AttachChromeWidgetMessageHandler();
            }
        }
Пример #4
0
 public void OnRenderProcessTerminated(
     IWebBrowser browserControl,
     IBrowser browser,
     CefTerminationStatus status)
 {
     this._handler?.OnRenderProcessTerminated(browserControl, browser, status);
 }
Пример #5
0
 /// <inheritdoc/>
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     if (_browser is not null)
     {
         _browser.InvokeAsyncIfPossible(() => _browser.OnRenderProcessTerminated(new RenderProcessTerminatedEventArgs(status)));
     }
 }
Пример #6
0
        private void on_render_process_terminated(cef_load_handler_t* self, cef_browser_t* browser, CefTerminationStatus status)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNative(browser);
            OnRenderProcessTerminated(m_browser, status);
        }
Пример #7
0
 public unsafe void OnRenderProcessTerminated(cef_browser_t *browser, CefTerminationStatus status)
 {
     fixed(cef_request_handler_t *self = &this)
     {
         ((delegate * unmanaged[Stdcall] < cef_request_handler_t *, cef_browser_t *, CefTerminationStatus, void >)on_render_process_terminated)(self, browser, status);
     }
 }
Пример #8
0
        protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
        {
            var e = new RenderProcessTerminatedEventArgs(browser, status);

            _owner.InvokeIfRequired(() => _owner.OnRenderProcessTerminated(e));

            _owner.WebView.ProcessMessageBridge.OnRenderProcessTerminated(browser);

            if (e.ShouldTryResetProcess && status != CefTerminationStatus.Termination)
            {
                browser.Reload();
            }
        }
Пример #9
0
        private void on_render_process_terminated(cef_request_handler_t *self, cef_browser_t *browser, CefTerminationStatus status)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNative(browser);

            OnRenderProcessTerminated(m_browser, status);
        }
 public void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
 {
     throw new Exception("Browser render process is terminated!");
 }
Пример #11
0
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     _core.InvokeIfRequired(() => _core.OnRenderProcessTerminated(new RenderProcessTerminatedEventArgs(status)));
 }
Пример #12
0
 public void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
     //throw new NotImplementedException();
 }
Пример #13
0
 public void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
 }
Пример #14
0
 public void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status) {
     Logging.Warning(status);
 }
Пример #15
0
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
     // TODO: Add your own code here for handling scenarios where the Render Process terminated for one reason or another.
     browserControl.Load(CefExample.RenderProcessCrashedUrl);
 }
Пример #16
0
 void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
     browser.Reload(true);
 }
 public OnRenderProcessTerminatedEventArgs(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
     : base(browserControl, browser)
 {
     Status = status;
 }
Пример #18
0
 /// <summary>
 /// Called on the browser process UI thread when the render process
 /// terminates unexpectedly. |status| indicates how the process
 /// terminated.
 /// </summary>
 protected virtual void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
 }
Пример #19
0
 /// <summary>
 /// Called when the render process terminates unexpectedly.
 /// </summary>
 /// <param name="chromiumWebBrowser">The ChromiumWebBrowser control.</param>
 /// <param name="browser">the browser object.</param>
 /// <param name="status">indicates how the process terminated.</param>
 protected virtual void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
 {
 }
 /// <summary>
 /// Called on the browser process UI thread when the render process
 /// terminates unexpectedly. |status| indicates how the process
 /// terminated.
 /// </summary>
 protected virtual void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
 }
Пример #21
0
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browser, CefTerminationStatus status)
 {
 }
Пример #22
0
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     DemoApp.BrowserMessageRouter.OnRenderProcessTerminated(browser);
 }
Пример #23
0
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     Debug.WriteLine(DBGPREFIX + "OnRenderProcessTerminated");
     _messageRouter.OnRenderProcessTerminated(browser);
 }
		public RenderProcessTerminatedEventArgs(CefTerminationStatus status)
		{
			Status = status;
		}
Пример #25
0
 /// <inheritdoc/>
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
 {
     OnRenderProcessTerminated(chromiumWebBrowser, browser, status);
 }
Пример #26
0
 public void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
     
 }
Пример #27
0
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
     // TODO: Add your own code here for handling scenarios where the Render Process terminated for one reason or another.
     System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
     {
         browserControl.Reload();
         var c = browserControl as CefSharp.Wpf.ChromiumWebBrowser;
         if (c != null)
         {
             c.Visibility = System.Windows.Visibility.Hidden;
             c.Visibility = System.Windows.Visibility.Visible;
         }
     }));
 }
Пример #28
0
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browser, CefTerminationStatus status)
 {
     // TODO: Add your own code here for handling scenarios where the Render Process terminated for one reason or another.
 }
Пример #29
0
        void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
        {
            var args = new OnRenderProcessTerminatedEventArgs(browserControl, browser, status);

            OnRenderProcessTerminatedEvent?.Invoke(this, args);
        }
Пример #30
0
 public void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
 {
 }
Пример #31
0
 public void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
     browserControl.Load("choco://error");
 }
Пример #32
0
 /*
  * Handler for the browser on render process terminated event.
  */
 public void OnRenderProcessTerminated(IWebBrowser browser, CefTerminationStatus status) {
     // No implementation required
 }
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser,
     CefTerminationStatus status) {
     // TODO: Add your own code here for handling scenarios where the Render Process terminated for one reason or another.
     //browserControl.Load(CefExample.RenderProcessCrashedUrl);
 }
Пример #34
0
        /// <summary>
        /// Called when the render process terminates unexpectedly.
        /// </summary>
        /// <param name="browserControl">The ChromiumWebBrowser control</param>
        /// <param name="browser">the browser object</param>
        /// <param name="status">indicates how the process terminated.</param>
        /// <remarks>
        /// Remember that <see cref="browserControl"/> is likely on a different thread so care should be used
        /// when accessing its properties.
        /// </remarks>
        public override void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
        {
            switch (status)
            {
            case CefTerminationStatus.AbnormalTermination:
                Debug.Print("Browser terminated abnormally.");
                break;

            case CefTerminationStatus.ProcessWasKilled:
                Debug.Print("Browser was killed.");
                break;

            case CefTerminationStatus.ProcessCrashed:
                Debug.Print("Browser crashed while.");
                break;

            case CefTerminationStatus.OutOfMemory:
                Debug.Print($"Browser terminated because of out of memory.");
                break;

            default:
                Debug.Print($"Browser terminated with unhandled status '{status}' while at address.");
                break;
            }

            RenderProcessTerminated?.Invoke(browserControl, status);
        }
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
 {
 }
Пример #36
0
        protected override void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
        {
            var msg = string.Format(Resources.BrowserCrashed, status);

            _renderer.Browser_ConsoleMessage(this, new BrowserConsoleLogEventArgs(msg, "internal", 0));

            _renderer.InitBrowser();
            _renderer.BeginRender();
        }
Пример #37
0
 void IRequestHandler.OnRenderProcessTerminated(IWebBrowser browser, CefTerminationStatus status)
 {
     // TODO: Add your own code here for handling scenarios where the Render Process terminated for one reason or another.
 }
Пример #38
0
        protected override void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
        {
            var args = new OnRenderProcessTerminatedEventArgs(chromiumWebBrowser, browser, status);

            OnRenderProcessTerminatedEvent?.Invoke(this, args);
        }
Пример #39
0
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     //DemoApp.BrowserMessageRouter.OnRenderProcessTerminated(browser);
 }
Пример #40
0
 /*
  * Handler for the browser on render process terminated event.
  */
 public void OnRenderProcessTerminated(IWebBrowser browser, CefTerminationStatus status)
 {
     // No implementation required
 }
Пример #41
0
        /// <summary>
        /// 描画プロセスが何らかの理由で落ちた際の処理を行います。
        /// </summary>
        public override void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
        {
            // note: out of memory (例外コード: 0xe0000008) でクラッシュした場合、このイベントは呼ばれない

            string ret = "ブラウザの描画プロセスが";

            switch (status)
            {
            case CefTerminationStatus.AbnormalTermination:
                ret += "正常に終了しませんでした。";
                break;

            case CefTerminationStatus.ProcessWasKilled:
                ret += "何者かによって殺害されました。";
                break;

            case CefTerminationStatus.ProcessCrashed:
                ret += "クラッシュしました。";
                break;

            default:
                ret += "謎の死を遂げました。";
                break;
            }
            ret += "再読み込みすると復帰します。";

            RenderProcessTerminated(ret);
        }
 public void OnRenderProcessTerminated(IWebBrowser browser, CefTerminationStatus status)
 {
     Debug.WriteLine("OnRenderProcessTerminated");
 }
 public RenderProcessTerminatedEventArgs(CefTerminationStatus status)
 {
     Status = status;
 }
Пример #44
0
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     _core.InvokeIfRequired(() => _core.OnRenderProcessTerminated(new RenderProcessTerminatedEventArgs(status)));
 }