Beispiel #1
0
        public DXResource <EX9.Texture, CefBrowser> RenderString(
            out XDocument dom,
            out XElement rootElement,
            out bool isLoading,
            out string currentUrl,
            out string errorText,
            string baseUrl              = DEFAULT_URL,
            string html                 = null,
            bool reload                 = false,
            int width                   = DEFAULT_WIDTH,
            int height                  = DEFAULT_HEIGHT,
            double zoomLevel            = 0,
            MouseState mouseState       = default(MouseState),
            KeyboardState keyboardState = default(KeyboardState),
            Vector2D scrollTo           = default(Vector2D),
            string javaScript           = null,
            bool executeJavaScript      = false,
            bool enabled                = true
            )
        {
            if (!CheckState(out dom, out rootElement, out isLoading, out currentUrl, out errorText, enabled))
            {
                return(FTextureResource);
            }

            SetDimensions(width, height);

            if (FUrl != baseUrl || FHtml != html)
            {
                FUrl  = baseUrl;
                FHtml = html ?? string.Empty;
                using (var mainFrame = FBrowser.GetMainFrame())
                {
                    byte[] utf8bytes = Encoding.Default.GetBytes(html);
                    html = Encoding.UTF8.GetString(utf8bytes);
                    mainFrame.LoadString(html, baseUrl);
                }
            }

            if (reload)
            {
                FBrowser.Reload();
            }

            SetZoomLevel(zoomLevel);
            SendEvents(mouseState, keyboardState);
            SetScroll(scrollTo);
            DoJavaScript(executeJavaScript, javaScript);

            return(FTextureResource);
        }
 public void Reload(bool ignoreCache)
 {
     if (browser != null)
     {
         if (ignoreCache)
         {
             browser.ReloadIgnoreCache();
         }
         else
         {
             browser.Reload();
         }
     }
 }
        /// <summary>
        /// The on context menu command.
        /// </summary>
        /// <param name="browser">
        /// The browser.
        /// </param>
        /// <param name="frame">
        /// The frame.
        /// </param>
        /// <param name="state">
        /// The state.
        /// </param>
        /// <param name="commandId">
        /// The command id.
        /// </param>
        /// <param name="eventFlags">
        /// The event flags.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        protected override bool OnContextMenuCommand(CefBrowser browser, CefFrame frame, CefContextMenuParams state, int commandId, CefEventFlags eventFlags)
        {
            if (commandId == ShowDevTools)
            {
                var host = browser.GetHost();
                var wi   = CefWindowInfo.Create();
                if (CefRuntime.Platform == CefRuntimePlatform.Windows)
                {
                    wi.SetAsPopup(IntPtr.Zero, "DevTools");
                }
                else
                {
                    var parentWindowHandle = NativeMethods.gdk_x11_drawable_get_xid(IntPtr.Zero);
                    wi.SetAsChild(parentWindowHandle, new CefRectangle(0, 0, 0, 0));
                }
                host.ShowDevTools(wi, new DevToolsWebClient(), new CefBrowserSettings(), new CefPoint(0, 0));
            }

            if (commandId == CloseDevTools)
            {
                browser.GetHost().CloseDevTools();
            }
            if (commandId == Refresh)
            {
                browser.Reload();
            }
            return(false);
        }
Beispiel #4
0
 protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
 {
     if (autoReload)
     {
         browser.Reload();
     }
 }
 public void Refresh()
 {
     if (_browser != null)
     {
         _browser.Reload();
     }
 }
Beispiel #6
0
 public void Reload()
 {
     if (browser != null)
     {
         browser.Reload();
     }
 }
 public InternalHandle refresh(V8Engine engine, bool isConstructCall, InternalHandle _this, InternalHandle[] args)
 {
     if (browser != null)
     {
         browser.Reload();
     }
     return(Engine.CreateNullValue());
 }
Beispiel #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();
            }
        }
Beispiel #9
0
 /// <summary>
 /// Refreshes the view.
 /// </summary>
 /// <param name="ignoreCache">if set to <c>true</c> ignore cache.</param>
 private void RefreshView(bool ignoreCache)
 {
     if (CefBrowser != null)
     {
         Application.Current.InvokeOnMain(() =>
         {
             if (ignoreCache)
             {
                 CefBrowser.ReloadIgnoreCache();
             }
             else
             {
                 CefBrowser.Reload();
             }
         });
     }
 }
        protected override bool OnKeyEvent(CefBrowser browser, CefKeyEvent keyEvent, IntPtr osEvent)
        {
            if (keyEvent.WindowsKeyCode == Convert.ToInt32(Keys.F5))
            {
                browser.Reload();
            }

            if (keyEvent.WindowsKeyCode == Convert.ToInt32(Keys.F12))
            {
                CefWindowInfo windowInfo = CefWindowInfo.Create();

                windowInfo.SetAsPopup(IntPtr.Zero, "DevTools");

                browser.GetHost().ShowDevTools(windowInfo, new CefWebDevToolsClient(), new CefBrowserSettings(), new CefPoint(0, 0));
            }

            return(base.OnKeyEvent(browser, keyEvent, osEvent));
        }
Beispiel #11
0
 private void buttonRefresh_Click(object sender, EventArgs e)
 {
     _browser.Reload();
 }
 public void Refresh()
 {
     _browser?.Reload();
 }
Beispiel #13
0
 public void Reload()
 {
     FLoaded = false;
     FBrowser.Reload();
 }
Beispiel #14
0
 public void Reload()
 {
     browser?.Reload();
 }
Beispiel #15
0
 public void Reload()
 {
     FBrowser.Reload();
 }
Beispiel #16
0
 public void Reload()
 {
     CheckClosed();
     Browser.Reload();
 }
Beispiel #17
0
            private IEnumerator RetryConnecting(CefBrowser browser)
            {
                yield return(new WaitForSeconds(2));

                browser.Reload();
            }
Beispiel #18
0
 public void Refresh()
 {
     browser.Reload();
 }
Beispiel #19
0
 /// <summary>
 /// 刷新
 /// </summary>
 public void Reload()
 {
     CefBrowser.Reload();
 }