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); }
protected override void OnBeforeClose(CefBrowser browser) { _ctl.OnBeforeClose(browser); _ctl = null; }
public DefToolsLifeSpanHandler(DevToolsWebBrowser ctl) { _ctl = ctl; }
public void Dispose() { _ctl = null; }
public DevToolsWebClient(DevToolsWebBrowser ctl) { _ctl = ctl; _lifeSpanHandler = new DefToolsLifeSpanHandler(ctl); }