Exemple #1
0
        private void OpenDeveloperToolsCommand(object sender, EventArgs e)
        {
            var host = MainView.CurrentBrowser.GetHost();
            var wi   = CefWindowInfo.Create();

            wi.SetAsPopup(IntPtr.Zero, "DevTools");
            host.ShowDevTools(wi, new DevToolsWebClient(), new CefBrowserSettings());
            // Process.Start(devToolsUrl);
        }
Exemple #2
0
        /// <summary>
        /// 创建浏览器
        /// </summary>
        private void CreateBrowser()
        {
            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsChild(Handle, new CefRectangle(0, 0, Width, Height));
            var client   = new WebClient(this);
            var settings = new CefBrowserSettings();

            CefBrowserHost.CreateBrowser(windowInfo, client, settings, Url ?? "about:blank");
        }
Exemple #3
0
        private LVCefClient _lvCefClient; //keeping references to anything CEF makes it crashy, release reference after browser made

        public void openDevTools()
        {
            if (_browser != null)
            {
                var host = _browser.GetHost();
                var wi   = CefWindowInfo.Create();
                wi.SetAsPopup(IntPtr.Zero, "DevTools");
                host.ShowDevTools(wi, new DevToolsWebClient(), new CefBrowserSettings(), new CefPoint(0, 0));
            }
        }
Exemple #4
0
 public void showDevTools(bool firstWindow = true)
 {
     if (this.Browser != null)
     {
         CefBrowser    b  = firstWindow ? this.Browser : this.LastBrowser;
         CefWindowInfo wi = CefWindowInfo.Create();
         wi.SetAsPopup(b.GetHost().GetWindowHandle(), "DevTools");
         b.GetHost().ShowDevTools(wi, this.Client, new CefBrowserSettings(), new CefPoint());
     }
 }
Exemple #5
0
        protected override void OnAfterCreated(CefBrowser browser)
        {
            base.OnAfterCreated(browser);

            var wi   = CefWindowInfo.Create();
            var host = browser.GetHost();

            wi.SetAsPopup(IntPtr.Zero, "DevTools");
            host.ShowDevTools(wi, new DevToolsWebClient(), new CefBrowserSettings(), new CefPoint(0, 0));
        }
Exemple #6
0
        /// <summary>
        /// ShowDevTools.
        /// </summary>
        public void ShowDevTools()
        {
            var host = this.WebBrowser.CefBrowser.GetHost();
            var wi   = CefWindowInfo.Create();

            wi.SetAsPopup(IntPtr.Zero, "DevTools");
            var client = new CefGlue.Lib.Browser.WebClient(this.WebBrowser);

            host.ShowDevTools(wi, client, this.BrowserSettings, new CefPoint(0, 0));
        }
Exemple #7
0
        private void StartCef()
        {
#if UNITY_EDITOR
            CefRuntime.Load(Path.Combine(Application.dataPath, "Plugins", "Cef", "Windows"));
#else
            CefRuntime.Load();
#endif


            var cefMainArgs = new CefMainArgs(new string[] { });
            var cefApp      = new OffscreenCEFClient.OffscreenCEFApp();

            // This is where the code path diverges for child processes.
            if (CefRuntime.ExecuteProcess(cefMainArgs, cefApp, IntPtr.Zero) != -1)
            {
                Debug.LogError("Could not start the secondary process.");
            }

            var cefSettings = new CefSettings
            {
                //ExternalMessagePump = true,
                MultiThreadedMessageLoop = false,
                SingleProcess            = true,
                LogSeverity = CefLogSeverity.Verbose,
                LogFile     = "cef.log",
                WindowlessRenderingEnabled = true,
                NoSandbox = true
            };

            // Start the browser process (a child process).
            CefRuntime.Initialize(cefMainArgs, cefSettings, cefApp, IntPtr.Zero);

            // Instruct CEF to not render to a window.
            CefWindowInfo cefWindowInfo = CefWindowInfo.Create();
            cefWindowInfo.SetAsWindowless(IntPtr.Zero, true);

            // Settings for the browser window itself (e.g. enable JavaScript?).
            CefBrowserSettings cefBrowserSettings = new CefBrowserSettings()
            {
            };

            Debug.Log("Start with window: " + this.windowWidth + ", " + this.windowHeight);

            // Initialize some of the custom interactions with the browser process.
            this.cefClient = new OffscreenCEFClient(
                this.windowWidth,
                this.windowHeight,
                this.hideScrollbars,
                this.BrowserTexture,
                this
                );

            // Start up the browser instance.
            CefBrowserHost.CreateBrowser(cefWindowInfo, this.cefClient, cefBrowserSettings, string.IsNullOrEmpty(this.overlayUrl) ? "http://www.google.com" : this.overlayUrl);
        }
Exemple #8
0
        private void CreateBrowser()
        {
            var windowInfo   = CefWindowInfo.Create();
            var windowHandle = InteropLinux.gtk_widget_get_window(_container.Handle);
            var xid          = InteropLinux.gdk_x11_window_get_xid(windowHandle);

            windowInfo.SetAsChild(xid, new CefRectangle(0, 0, AllocatedWidth, AllocatedHeight));
            Browser.Create(windowInfo, _startUrl);
            _initialized = true;
            _startUrl    = null;
        }
Exemple #9
0
        public Menu(
            CefApp menuCeffApp,
            CefMainArgs mainArgs,
            InputProcessor inputProcessor,
            MenuBrowserClient browserClient,
            StateManager stateManager,
            EventBus eventBus
            )
        {
            // State Initialization
            _buttons        = (GameControllerButton[])Enum.GetValues(typeof(GameControllerButton));
            _analogs        = (GameControllerAnalog[])Enum.GetValues(typeof(GameControllerAnalog));
            _eventTokenList = new List <SubscriptionToken>();
            _eventBus       = eventBus;

#if (DEBUG)
            var logSeverity = CefLogSeverity.Error;
#else
            var logSeverity = CefLogSeverity.Error;
#endif

            var settings = new CefSettings
            {
                WindowlessRenderingEnabled = true,
                LogSeverity = logSeverity,
                NoSandbox   = true
            };

            CefRuntime.Initialize(mainArgs, settings, menuCeffApp, IntPtr.Zero);

            // Instruct CEF to not render to a window at all.
            var cefWindowInfo = CefWindowInfo.Create();
            cefWindowInfo.SetAsWindowless(IntPtr.Zero, false);

            var browserSettings = new CefBrowserSettings()
            {
                WindowlessFrameRate = 60,
            };

            _inputProcessor = inputProcessor;
            _browserClient  = browserClient;
            _browser        = CefBrowserHost.CreateBrowserSync(
                cefWindowInfo,
                _browserClient,
                browserSettings,
                "http://localhost:4200"
                );

            _eventTokenList.Add(_eventBus.Subscribe <OpenMenuEvent>(OnOpenMenuEvent));
            _eventTokenList.Add(_eventBus.Subscribe <CloseMenuEvent>(OnCloseMenuEvent));

            var game = stateManager.GetGameById("Super Mario World (USA)");
            eventBus.Publish(new LoadGameEvent(game));
        }
        private void StartCef()
        {
#if UNITY_EDITOR
            CefRuntime.Load("./Assets/Plugins/x86_64");
#else
            CefRuntime.Load();
#endif

            var cefMainArgs = new CefMainArgs(new string[] { });
            var cefApp      = new OffscreenCEFClient.OffscreenCEFApp();

            // This is where the code path diverges for child processes.
            if (CefRuntime.ExecuteProcess(cefMainArgs, cefApp, IntPtr.Zero) != -1)
            {
                Debug.LogError("Could not start the secondary process.");
            }

            var cefSettings = new CefSettings
            {
                //ExternalMessagePump = true,
                MultiThreadedMessageLoop = false,
                SingleProcess            = true,
                LogSeverity = CefLogSeverity.Verbose,
                LogFile     = "cef.log",
                WindowlessRenderingEnabled = true,
                NoSandbox = true,
            };

            // Start the browser process (a child process).
            CefRuntime.Initialize(cefMainArgs, cefSettings, cefApp, IntPtr.Zero);

            // Instruct CEF to not render to a window.
            CefWindowInfo cefWindowInfo = CefWindowInfo.Create();
            cefWindowInfo.SetAsWindowless(IntPtr.Zero, false);

            // Settings for the browser window itself (e.g. enable JavaScript?).
            CefBrowserSettings cefBrowserSettings = new CefBrowserSettings()
            {
                BackgroundColor           = new CefColor(255, 60, 85, 115),
                JavaScript                = CefState.Enabled,
                JavaScriptAccessClipboard = CefState.Disabled,
                JavaScriptCloseWindows    = CefState.Disabled,
                JavaScriptDomPaste        = CefState.Disabled,
                JavaScriptOpenWindows     = CefState.Disabled,
                LocalStorage              = CefState.Disabled
            };

            // Initialize some of the custom interactions with the browser process.
            this.cefClient = new OffscreenCEFClient(this.windowSize, this.hideScrollbars);

            // Start up the browser instance.
            CefBrowserHost.CreateBrowser(cefWindowInfo, this.cefClient, cefBrowserSettings, string.IsNullOrEmpty(this.url) ? "http://www.google.com" : this.url);
        }
Exemple #11
0
        protected override void OnCreated(object sender, CreatedEventArgs createdEventArgs)
        {
            Handle             = createdEventArgs.Window;
            WinXID             = createdEventArgs.WinXID;
            Browser.HostHandle = createdEventArgs.Window;

            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsChild(createdEventArgs.WinXID, new CefRectangle(0, 0, _config.WindowOptions.Size.Width, _config.WindowOptions.Size.Height));

            Browser.Create(windowInfo);
        }
Exemple #12
0
 public void ShowDevTools(bool firstwindow = true)
 {
     this.allBrowsersSemaphore.Wait();
     if (this.allBrowsers.Count > 0)
     {
         var b  = firstwindow ? this.allBrowsers.First() : this.allBrowsers.Last();
         var wi = CefWindowInfo.Create();
         wi.SetAsPopup(b.GetHost().GetWindowHandle(), "DevTools");
         b.GetHost().ShowDevTools(wi, this.Client, new CefBrowserSettings(), new CefPoint());
     }
     this.allBrowsersSemaphore.Release();
 }
Exemple #13
0
        /// <summary>
        /// Opens the developer tools.
        /// </summary>
        private void OpenDeveloperTools()
        {
            Application.Current.InvokeOnMain(() =>
            {
                var windowInfo = CefWindowInfo.Create();
                windowInfo.SetAsPopup(IntPtr.Zero, "Developer tools");
                windowInfo.Width  = 1200;
                windowInfo.Height = 500;

                CefBrowser.GetHost().ShowDevTools(windowInfo, new DeveloperToolsClient(), new CefBrowserSettings(), new CefPoint(0, 0));
            });
        }
Exemple #14
0
        void CreateBrowser()
        {
            if (!isCefRuntimeInitialized)
            {
                InitializeCefRuntime();
            }

            if (isCefRuntimeInitialized)
            {
                viewSize = GetNeededSize();

                var windowInfo = CefWindowInfo.Create();
                windowInfo.SetAsWindowless(IntPtr.Zero, false);

                var client = new WebClient(this);

                var settings = new CefBrowserSettings
                {
                    // AuthorAndUserStylesDisabled = false,
                };

                //string r = GetURLFromVirtualFileName( "Maps\\Engine Features Demo\\Resources\\GUI\\FileTest.html" );
                //r = PathUtils.GetRealPathByVirtual( "Maps\\Engine Features Demo\\Resources\\GUI\\FileTest.html" );
                //CefBrowserHost.CreateBrowser( windowInfo, client, settings, r );//"about:blank" );
                //if( !string.IsNullOrEmpty( startUrl ) )
                //   LoadURL( startUrl );
                //LoadFileByVirtualFileName( "Maps\\Engine Features Demo\\Resources\\GUI\\FileTest.html" );

                string url = "about:blank";
                if (!string.IsNullOrEmpty(StartURL))
                {
                    url = StartURL;
                }
                else if (!string.IsNullOrEmpty(StartFile))
                {
                    url = GetURLByFileName(StartFile);
                }

                CefBrowserHost.CreateBrowser(windowInfo, client, settings, url);

                //CefBrowserHost.CreateBrowser( windowInfo, client, settings, "about:blank" );
                //if( !string.IsNullOrEmpty( startFile ) )
                //   LoadFileByVirtualFileName( startFile );
                //else if( !string.IsNullOrEmpty( startUrl ) )
                //   LoadURL( startUrl );

                //CefBrowserHost.CreateBrowser( windowInfo, client, settings, !string.IsNullOrEmpty( StartURL ) ? StartURL : "about:blank" );
                //if( !string.IsNullOrEmpty( startUrl ) )
                //   LoadURL( startUrl );
            }
        }
Exemple #15
0
        protected override void OnHandleCreated(EventArgs e)
        {
            base.OnHandleCreated(e);

            if (!DesignMode)
            {
                var windowInfo = CefWindowInfo.Create();
                windowInfo.SetAsChild(Handle, new CefRectangle {
                    X = 0, Y = 0, Width = Width, Height = Height
                });

                _core.Create(windowInfo);
            }
        }
Exemple #16
0
        private static void Main(string[] args)
        {
            // Load CEF. This checks for the correct CEF version.
            CefRuntime.Load();

            // Start the secondary CEF process.
            var cefMainArgs = new CefMainArgs(new string[0]);
            var cefApp      = new DemoCefApp();

            // This is where the code path divereges for child processes.
            if (CefRuntime.ExecuteProcess(cefMainArgs, cefApp) != -1)
            {
                Console.Error.WriteLine("CefRuntime could not the secondary process.");
            }

            // Settings for all of CEF (e.g. process management and control).
            var cefSettings = new CefSettings
            {
                SingleProcess            = false,
                MultiThreadedMessageLoop = true
            };

            // Start the browser process (a child process).
            CefRuntime.Initialize(cefMainArgs, cefSettings, cefApp);

            // Instruct CEF to not render to a window at all.
            CefWindowInfo cefWindowInfo = CefWindowInfo.Create();

            cefWindowInfo.SetAsOffScreen(IntPtr.Zero);

            // Settings for the browser window itself (e.g. should JavaScript be enabled?).
            var cefBrowserSettings = new CefBrowserSettings();

            // Initialize some the cust interactions with the browser process.
            // The browser window will be 1280 x 720 (pixels).
            var cefClient = new DemoCefClient(1280, 720);

            // Start up the browser instance.
            string url = "http://www.reddit.com/";

            CefBrowserHost.CreateBrowser(cefWindowInfo, cefClient, cefBrowserSettings, url);

            // Hang, to let the browser to do its work.
            Console.WriteLine("Press a key at any time to end the program.");
            Console.ReadKey();

            // Clean up CEF.
            CefRuntime.Shutdown();
        }
 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();
         wi.SetAsPopup(IntPtr.Zero, "DevTools");
         host.ShowDevTools(wi, new DevToolsWebClient(), new CefBrowserSettings(), new CefPoint(0, 0));
     }
     if (commandId == CloseDevTools)
     {
         browser.GetHost().CloseDevTools();
     }
     return(false);
 }
        public override void CreateControl()
        {
            base.CreateControl();

            if (!_controlCreated && !DesignMode)
            {
                if (!ParagonRuntime.IsInitialized)
                {
                    ParagonRuntime.Initialize();
                }

                _client = new CefWebClient(this);

                if (!IsPopup && _browser == null)
                {
                    var settings = new CefBrowserSettings
                    {
                        Java = CefState.Disabled
                    };

                    using (AutoStopwatch.TimeIt("Creating browser"))
                    {
                        var info = CefWindowInfo.Create();
                        var ea   = new BrowserCreateEventArgs();

                        using (AutoStopwatch.TimeIt("Raising BeforeBrowserCreate event"))
                        {
                            BeforeBrowserCreate.Raise(this, ea);
                        }

                        _router     = ea.Router;
                        _currentUrl = _sourceUrl;

                        if (IntPtr.Zero != ParentHandle)
                        {
                            RECT rect = new RECT();
                            Win32Api.GetClientRect(ParentHandle, ref rect);
                            info.SetAsChild(ParentHandle, new CefRectangle(rect.Left, rect.Top, rect.Width, rect.Height));
                        }

                        Logger.Info(string.Format("OnHandleCreated - Creating a browser with url {0}", _currentUrl));
                        CefBrowserHost.CreateBrowser(info, _client, settings, _currentUrl);
                    }
                }

                _controlCreated = true;
            }
        }
Exemple #19
0
 private CefWindowInfo getCefWindowInfo()
 {
     Debug.WriteLine(DBGPREFIX + "getCefWindowInfo");
     if (_controlHandleCreated)
     {
         var windowInfo = CefWindowInfo.Create();
         windowInfo.SetAsChild(Handle, new CefRectangle {
             X = 0, Y = 0, Width = Width, Height = Height
         });
         return(windowInfo);
     }
     else
     {
         throw new CefRuntimeException("LVCefControl handle must be created before it can be used (added to a form, etc)");
     }
 }
Exemple #20
0
        public CefGlueBrowser(IntPtr parentHandle, CefApp app, CefConfig config)
        {
            this.ParentHandle = parentHandle;
            this.App          = app;
            this.Config       = config;

            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsChild(parentHandle, new CefRectangle(0, 0, config.Width, config.Height));

            this.WebBrowser          = new WebBrowser(this);
            this.WebBrowser.Created += WebBrowser_Created;
            this.Client              = new WebClient(this.WebBrowser);

            CefBrowserHost.CreateBrowser(windowInfo, Client, config.CefBrowserSettings, config.StartUrl);
        }
Exemple #21
0
        //BSCompletionCallback bsc = new BSCompletionCallback();
        //BSSetCookieCallback bscc = new BSSetCookieCallback();
        public BsCtl(Control ctl, string url, string type)
        {
            Parent = ctl;
            var cwi = CefWindowInfo.Create();

            cwi.SetAsChild(Parent.Handle, new CefRectangle(0, 0, Parent.Width, Parent.Height));
            var bc = new BsClient(type, ctl);

            bc.OnCreated += bc_OnCreated;
            var bss = new CefBrowserSettings()
            {
            };

            CefBrowserHost.CreateBrowser(cwi, bc, bss, url);//,rc);
            Parent.SizeChanged += Parent_SizeChanged;
        }
Exemple #22
0
        public XiboCefWebBrowser()
        {
            SetStyle(
                ControlStyles.ContainerControl
                | ControlStyles.ResizeRedraw
                | ControlStyles.FixedWidth
                | ControlStyles.FixedHeight
                | ControlStyles.StandardClick
                | ControlStyles.UserMouse
                | ControlStyles.SupportsTransparentBackColor
                | ControlStyles.StandardDoubleClick
                | ControlStyles.OptimizedDoubleBuffer
                | ControlStyles.CacheText
                | ControlStyles.EnableNotifyMessage
                | ControlStyles.DoubleBuffer
                | ControlStyles.OptimizedDoubleBuffer
                | ControlStyles.UseTextForAccessibility
                | ControlStyles.Opaque,
                false);

            SetStyle(
                ControlStyles.UserPaint
                | ControlStyles.AllPaintingInWmPaint
                | ControlStyles.Selectable,
                true);

            StartUrl = "about:blank";

            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsChild(Handle, new CefRectangle {
                X = 0, Y = 0, Width = Width, Height = Height
            });

            var client = CreateWebClient();

            var settings = BrowserSettings;

            if (settings == null)
            {
                settings = new CefBrowserSettings {
                }
            }
            ;

            CefBrowserHost.CreateBrowser(windowInfo, client, settings, StartUrl);
        }
        public IDisposable GetDeveloperToolsControl(CefPoint element, CefWindowInfo info = null, CefBrowserSettings settings = null)
        {
            if (_browser != null)
            {
                var ctl = new DevToolsWebBrowser();

                ctl.Disposed += (sender, args) =>
                {
                    if (_browser != null)
                    {
                        _browser.GetHost().CloseDevTools();
                    }
                };

                ctl.CreateControl();

                if (info == null)
                {
                    info        = CefWindowInfo.Create();
                    info.Width  = (int)ActualWidth;
                    info.Height = (int)ActualHeight;
                }
                if (ctl.ParentHandle != IntPtr.Zero)
                {
                    info.SetAsChild(ctl.ParentHandle, new CefRectangle(0, 0, info.Width, info.Height));
                }

                if (settings == null)
                {
                    settings = new CefBrowserSettings();
                }

                if (element.X > int.MinValue && element.Y > int.MinValue)
                {
                    _browser.GetHost().ShowDevTools(info, ctl.Client, settings, element);
                }
                else
                {
                    var defaultCefPoint = new CefPoint(0, 0);
                    _browser.GetHost().ShowDevTools(info, ctl.Client, settings, defaultCefPoint);
                }

                return(ctl);
            }

            return(null);
        }
Exemple #24
0
 /// <summary>
 /// 打开或者关闭DevTools
 /// </summary>
 /// <param name="_core"></param>
 /// <param name="browser"></param>
 public static void DevTools(CefWebBrowser _core, CefBrowser browser)
 {
     MainForm.Instance.Invoke(new Action(() =>
     {
         if (!_core.DevToolsOpen)
         {
             if (MainForm.Instance.faTabStrip1.SelectedItem.DevToolsName == null || MainForm.Instance.faTabStrip1.SelectedItem.DevToolsName == string.Empty)
             {
                 CefWindowInfo CefWindowInfo1;
                 int devWidth = MainForm.Instance.faTabStrip1.SelectedItem.Width;
                 MainForm.Instance.faTabStrip1.SelectedItem.splic.Panel1.AutoScroll = true;
                 MainForm.Instance.faTabStrip1.SelectedItem.splic.Panel2.AutoScroll = true;
                 MainForm.Instance.faTabStrip1.SelectedItem.splic.Panel2Collapsed   = false;
                 MainForm.Instance.faTabStrip1.SelectedItem.Tag = _core;
                 CefWindowInfo1         = CefWindowInfo.Create();
                 CefWindowInfo1.X       = devWidth / 2;
                 CefWindowInfo1.Y       = 0;
                 CefRectangle rectangle = new CefRectangle(0, 0, devWidth / 2, _core.Height);
                 //此举是为了多个Devtools打开的情况,要让后面的FindwindowEX函数能找到这个窗口的句柄
                 MainForm.Instance.faTabStrip1.SelectedItem.DevToolsName = "CefDevTools" + DateTime.Now.ToString("yyyyMMddHHmmss");
                 CefWindowInfo1.SetAsWindow(MainForm.Instance.faTabStrip1.SelectedItem.splic.Panel2.Handle, rectangle, MainForm.Instance.faTabStrip1.SelectedItem.DevToolsName);
                 browser.GetHost().ShowDevTools(CefWindowInfo1, new DevFormClient(), new CefBrowserSettings(), new CefPoint(0, 0));
                 browser.GetHost().SetFocus(true);
                 _core.DevToolsOpen = MainForm.Instance.faTabStrip1.SelectedItem.DevToolsOpen = true;
                 MainForm.Instance.faTabStrip1.SelectedItem.ItemBrowser     = browser;
                 MainForm.Instance.faTabStrip1.SelectedItem.splic.BackColor = SystemColors.ControlDark;
             }
             else
             {
                 MainForm.Instance.faTabStrip1.SelectedItem.splic.Panel2Collapsed = false;
                 _core.DevToolsOpen = MainForm.Instance.faTabStrip1.SelectedItem.DevToolsOpen = true;
                 MainForm.Instance.faTabStrip1.SelectedItem.ItemBrowser = browser;
             }
         }
         else
         {
             MainForm.Instance.faTabStrip1.SelectedItem.splic.Panel2Collapsed = true;
             _core.DevToolsOpen = MainForm.Instance.faTabStrip1.SelectedItem.DevToolsOpen = false;
             //_core = null;
             MainForm.Instance.faTabStrip1.SelectedItem.ItemBrowser = null;
             // MainForm.Instance.faTabStrip1.SelectedItem.DevToolsName = null;
             ResizeWindow(browser.GetHost().GetWindowHandle(), MainForm.Instance.faTabStrip1.SelectedItem.Width, MainForm.Instance.faTabStrip1.SelectedItem.Height);
             GC.Collect();
         }
     }));
 }
        public SharpDXCefBrowser(GraphicsDevice GraphicsDevice, int width = 1024, int height = 768)
        {
            Width  = width;
            Height = height;

            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsOffScreen(IntPtr.Zero);
            windowInfo.TransparentPainting = true;


            var cefBrowserSettings = new CefBrowserSettings();

            _cefClient = new SharpDXCefClient(this, GraphicsDevice);

            CefBrowserHost.CreateBrowser(windowInfo, _cefClient, cefBrowserSettings);
        }
Exemple #26
0
        public void Show(int x, int y)
        {
            if (!isShown)
            {
                initialX = x;
                initialY = y;
                window.ShowAll();
                return;
            }

            var xid        = InteropLinux.gdk_x11_window_get_xid(InteropLinux.gtk_widget_get_window(window.Handle));
            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsChild(xid, new CefRectangle(0, 0, window.AllocatedWidth, window.AllocatedHeight));
            host.ShowDevTools(windowInfo, new DummyClient(), new CefBrowserSettings(), new CefPoint(x, y));
            window.Present();
        }
Exemple #27
0
        private void CreateBrowser()
        {
            var windowInfo = CefWindowInfo.Create();
            windowInfo.SetAsChild(m_browserConfig.ParentHandle, m_browserConfig.CefRectangle);

            var client = CreateWebClient();

            var settings = BrowserSettings;
            if (settings == null) settings = new CefBrowserSettings { };

            settings.DefaultEncoding = "UTF-8";
            settings.FileAccessFromFileUrls = CefState.Enabled;
            settings.UniversalAccessFromFileUrls = CefState.Enabled;
            settings.WebSecurity = CefState.Enabled; 

            CefBrowserHost.CreateBrowser(windowInfo, client, settings, StartUrl);
        }
Exemple #28
0
        /// <summary>
        /// The create browser.
        /// </summary>
        private void CreateBrowser()
        {
            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsChild(this.mBrowserConfig.ParentHandle, this.mBrowserConfig.CefRectangle);

            var client = this.CreateWebClient();

            var settings = this.BrowserSettings ?? new CefBrowserSettings();

            settings.DefaultEncoding             = "UTF-8";
            settings.FileAccessFromFileUrls      = CefState.Enabled;
            settings.UniversalAccessFromFileUrls = CefState.Enabled;
            settings.WebSecurity = CefState.Disabled;

            CefBrowserHost.CreateBrowser(windowInfo, client, settings, this.StartUrl);
        }
        public OffscreenBrowser()
        {
            var parentHandle = IntPtr.Zero;

            var windowInfo = CefWindowInfo.Create();

            windowInfo.SetAsChild(parentHandle, new CefRectangle(0, 0, 1280, 800));
            windowInfo.SetAsWindowless(parentHandle, true);

            var client   = new OffscreenCefClient(this);
            var settings = new CefBrowserSettings
            {
                BackgroundColor = new CefColor(0, 0, 0, 0)
            };

            CefBrowserHost.CreateBrowser(windowInfo, client, settings);
            client.LoadingStateChanged += (browser, loading, back, forward) => LoadingStateChanged?.Invoke(browser, loading, back, forward);
        }
        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));
        }