//public WinFormiumLifeSpanHandler LifeSpanHandler => (WinFormiumLifeSpanHandler)_lifeSpanHandler; //public WinFormiumLoadHandler LoadHandler => (WinFormiumLoadHandler)_loadHandler; internal BrowserClient(Formium formium) { _owner = formium; _lifeSpanHandler = new WinFormiumLifeSpanHandler(_owner); _loadHandler = new WinFormiumLoadHandler(_owner); _dragHandler = new WinFormiumDragHandler(_owner); _contextMenuHandler = new WinFormiumContextMenuHandler(_owner); _requestHandler = new WinFormiumRequestHandler(_owner); _displayHandler = new WinFormiumDisplayHandler(_owner); _dialogHandler = new WinFormiumDialogHandler(_owner); _downloadHandler = new WinFormiumDownloadHandler(_owner); //_focusHandler = new WinFormiumFocusHandler(_owner); _keyboardHandler = new WinFormiumKeyboardHandler(_owner); _jsDialogHandler = new WinFormiumJSDialogHandler(_owner); _findHandler = new WinFormiumFindHandler(_owner); if (formium.WindowType == HostWindow.HostWindowType.Acrylic) { _renderHandler = new WinFormiumRenderHandlerUsingHwnd(_owner); } if (formium.WindowType == HostWindow.HostWindowType.Layered) { _renderHandler = new WinFormiumRenderHandlerUsingDeviceContext(_owner); } }
public WebClient(CefBrowserEx core) { lifeSpanHandler = new WebLifeSpanHandler(core); downloadHandler = new WebDownloadHandler(); jsDialogHandler = new WebJsDialogHandler(); contextMenuHandler = new WebContextMenuHandler(core); loadHandler = new WebLoadHandler(core); displayHandler = new WebDisplayHandler(core); }
public WebClient(HTMLTextureRenderer renderer) { FRenderHandler = new RenderHandler(renderer); FLifeSpanHandler = new LifeSpanHandler(this, renderer); FLoadHandler = new LoadHandler(renderer); FKeyboardHandler = new KeyboardHandler(); FRequestHandler = new RequestHandler(); FDisplayHandler = new DisplayHandler(renderer); }
public WebClient(WebRenderer <T> renderer) { this.renderer = renderer; renderHandler = new RenderHandler(renderer); //FRequestHandler = new RequestHandler(this, renderer); lifeSpanHandler = new LifeSpanHandler(this, renderer); loadHandler = new LoadHandler(renderer); keyboardHandler = new KeyboardHandler(); displayHandler = new DisplayHandler(renderer); contextMenuHandler = new ContextMenuHandler(); }
public CefWebClient(ICefWebBrowserInternal core) { _core = core; _lifeSpanHandler = new CefWebLifeSpanHandler(_core); _displayHandler = new CefWebDisplayHandler(_core); _loadHandler = new CefWebLoadHandler(_core); _requestHandler = new CefWebRequestHandler(_core); _contextMenuHandler = new CefWebContextMenuHandler(_core); _downloadHandler = new CefWebDownloadHandler(_core); _jsDialogHandler = new CefWebJSDialogHandler(_core); _keyboardHandler = new CefWebKeyboardHandler(_core); }
public override void Setup(BrowserSetup setup) { var lifeSpanHandler = new CefLifeSpanHandler(popupHandler); var requestHandler = new CefRequestHandler(lifeSpanHandler, autoReload); browser.DialogHandler = new CefFileDialogHandler(); browser.DragHandler = new CefDragHandler(requestHandler, this); browser.LifeSpanHandler = lifeSpanHandler; browser.JsDialogHandler = new CefJsDialogHandler(jsDialogOpener); browser.MenuHandler = createContextMenu(setup.ContextMenuHandler); browser.RequestHandler = requestHandler; browser.ResourceRequestHandlerFactory = new CefResourceRequestHandlerFactory(setup.ResourceRequestHandler, ResourceHandlerRegistry); }
/// <summary> /// Initializes a new instance of the <see cref="CefGlueClient"/> class. /// </summary> /// <param name="clientParams"> /// The client params. /// </param> public CefGlueClient(CefGlueClientParams clientParams) { CoreBrowser = clientParams.Browser; _lifeSpanHandler = clientParams.LifeSpanHandler; _loadHandler = clientParams.LoadHandler; _requestHandler = clientParams.RequestHandler; _displayHandler = clientParams.DisplayHandler; _contextMenuHandler = clientParams.ContextMenuHandler; _focusHandler = clientParams.FocusHandler; _keyboardHandler = clientParams.KeyboardHandler; _jsDialogHandler = clientParams.JsDialogHandler; _dialogHandler = clientParams.DialogHandler; _dragHandler = clientParams.DragHandler; _downloadHandler = clientParams.DownloadHandler; _findHandler = clientParams.FindHandler; }
/// <summary>Initializes a new instance of the <see cref="CefGlueCustomHandlers" /> class.</summary> /// <param name="browserMessageRouter">The browser message router.</param> /// <param name="handlers">The client params.</param> public CefGlueClient(CefMessageRouterBrowserSide browserMessageRouter, CefGlueCustomHandlers handlers) { _browserMessageRouter = browserMessageRouter; _lifeSpanHandler = handlers.LifeSpanHandler; _loadHandler = handlers.LoadHandler; _requestHandler = handlers.RequestHandler; _displayHandler = handlers.DisplayHandler; _contextMenuHandler = handlers.ContextMenuHandler; _focusHandler = handlers.FocusHandler; _keyboardHandler = handlers.KeyboardHandler; _jsDialogHandler = handlers.JsDialogHandler; _dialogHandler = handlers.DialogHandler; _dragHandler = handlers.DragHandler; _downloadHandler = handlers.DownloadHandler; _findHandler = handlers.FindHandler; }
/// <summary> /// Initializes a new instance of the <see cref="CefGlueClient"/> class. /// </summary> /// <param name="clientParams"> /// The client params. /// </param> public CefGlueClient(CefGlueClientParams clientParams) { Core = clientParams.Browser; mLifeSpanHandler = clientParams.LifeSpanHandler; mLoadHandler = clientParams.LoadHandler; mRequestHandler = clientParams.RequestHandler; mDisplayHandler = clientParams.DisplayHandler; mContextMenuHandler = clientParams.ContextMenuHandler; mFocusHandler = clientParams.FocusHandler; mKeyboardHandler = clientParams.KeyboardHandler; mJsDialogHandler = clientParams.JsDialogHandler; mDialogHandler = clientParams.DialogHandler; mDragHandler = clientParams.DragHandler; mDownloadHandler = clientParams.DownloadHandler; mFindHandler = clientParams.FindHandler; }
public CefWebClient(CefWebBrowserCore context) { this.context = context; this.lifeSpanHandler = new CefWebLifeSpanHandler(context); this.loadHandler = new CefWebLoadHandler(context); this.requestHandler = new CefWebRequestHandler(context); this.displayHandler = new CefWebDisplayHandler(context); this.focusHandler = null; // new CefWebFocusHandler(context); this.keyboardHandler = new CefWebKeyboardHandler(context); this.menuHandler = null; // new CefWebMenuHandler(context); this.printHandler = null; // new CefWebPrintHandler(context); this.findHandler = null; // new CefWebFindHandler(context); this.jsDialogHandler = new CefWebJSDialogHandler(context); this.v8ContextHandler = new CefWebV8ContextHandler(context); this.renderHandler = null; // new CefWebRenderHandler(context); this.dragHandler = null; // new CefWebDragHandler(context); }
public CefGlueClient(CefGlueClientParams clientParams) { m_core = clientParams.Browser; m_lifeSpanHandler = clientParams.LifeSpanHandler; m_loadHandler = clientParams.LoadHandler; m_requestHandler = clientParams.RequestHandler; m_displayHandler = clientParams.DisplayHandler; m_contextMenuHandler = clientParams.ContextMenuHandler; m_focusHandler = clientParams.FocusHandler; m_keyboardHandler = clientParams.KeyboardHandler; m_jsDialogHandler = clientParams.JSDialogHandler; m_dialogHandler = clientParams.DialogHandler; m_dragHandler = clientParams.DragHandler; m_geolocationHandler = clientParams.GeolocationHandler; m_downloadHandler = clientParams.DownloadHandler; m_findHandler = clientParams.FindHandler; }
public CefWebClient(CefWebBrowserCore context) { this.context = context; this.lifeSpanHandler = new CefWebLifeSpanHandler(context); this.loadHandler = new CefWebLoadHandler(context); this.requestHandler = new CefWebRequestHandler(context); this.displayHandler = new CefWebDisplayHandler(context); this.focusHandler = null; // new CefWebFocusHandler(context); this.keyboardHandler = new CefWebKeyboardHandler(context); this.menuHandler = null; // new CefWebMenuHandler(context); this.printHandler = null; // new CefWebPrintHandler(context); this.findHandler = null; // new CefWebFindHandler(context); this.jsDialogHandler = new CefWebJSDialogHandler(context); this.v8ContextHandler = new CefWebV8ContextHandler(context); this.renderHandler = null; // new CefWebRenderHandler(context); this.dragHandler = null; // new CefWebDragHandler(context); }
private void Initialize(string initialAddress) { InitializeCef(); if (!subscribedApplicationExit) { // subscribe exit again, first time might have failed if Application.Current was null Application.Current.Exit += OnApplicationExit; subscribedApplicationExit = true; } lifeSpanHandler = new CefLifeSpanHandler(this); chromium = new InternalChromiumBrowser(initialAddress); chromium.IsBrowserInitializedChanged += OnWebViewIsBrowserInitializedChanged; chromium.FrameLoadEnd += OnWebViewFrameLoadEnd; chromium.LoadError += OnWebViewLoadError; chromium.TitleChanged += OnWebViewTitleChanged; chromium.PreviewKeyDown += OnPreviewKeyDown; chromium.RequestHandler = new CefRequestHandler(this); chromium.LifeSpanHandler = lifeSpanHandler; chromium.RenderProcessMessageHandler = new CefRenderProcessMessageHandler(this); chromium.MenuHandler = new CefMenuHandler(this); chromium.DialogHandler = new CefDialogHandler(this); chromium.DownloadHandler = new CefDownloadHandler(this); chromium.CleanupElement = new FrameworkElement(); // prevent chromium to listen to default cleanup element unload events, this will be controlled manually chromium.DragHandler = new CefDragHandler(this); disposables = new[] { (IDisposable)AsyncCancellationTokenSource, chromium }; RegisterJavascriptObject(Listener.EventListenerObjName, EventsListener); Content = chromium; GlobalWebViewInitialized?.Invoke(this); JavascriptContextCreated += OnJavascriptContextCreated; JavascriptContextReleased += OnJavascriptContextReleased; RenderProcessCrashed += OnRenderProcessCrashed; FocusManager.SetIsFocusScope(this, true); FocusManager.SetFocusedElement(this, FocusableElement); }
/// <summary> /// Initializes a new instance of the <see cref="CefGlueClient"/> class. /// </summary> /// <param name="clientParams"> /// The client params. /// </param> public CefGlueClient(CefGlueClientParams clientParams) { this.CoreBrowser = clientParams.Browser; this.mLifeSpanHandler = clientParams.LifeSpanHandler; this.mLoadHandler = clientParams.LoadHandler; this.mRequestHandler = clientParams.RequestHandler; this.mDisplayHandler = clientParams.DisplayHandler; this.mContextMenuHandler = clientParams.ContextMenuHandler; this.mFocusHandler = clientParams.FocusHandler; this.mKeyboardHandler = clientParams.KeyboardHandler; this.mJsDialogHandler = clientParams.JsDialogHandler; this.mDialogHandler = clientParams.DialogHandler; this.mDragHandler = clientParams.DragHandler; this.mGeolocationHandler = clientParams.GeolocationHandler; this.mDownloadHandler = clientParams.DownloadHandler; this.mFindHandler = clientParams.FindHandler; }
private void Initialize() { InitializeCef(); if (!subscribedApplicationExit) { // subscribe exit again, first time might have failed if Application.Current was null Application.Current.Exit += OnApplicationExit; subscribedApplicationExit = true; } settings = new BrowserSettings(); lifeSpanHandler = new CefLifeSpanHandler(this); chromium = new InternalChromiumBrowser(); chromium.BrowserSettings = settings; chromium.IsBrowserInitializedChanged += OnWebViewIsBrowserInitializedChanged; chromium.FrameLoadEnd += OnWebViewFrameLoadEnd; chromium.LoadError += OnWebViewLoadError; chromium.TitleChanged += OnWebViewTitleChanged; chromium.PreviewKeyDown += OnPreviewKeyDown; chromium.RequestHandler = new CefRequestHandler(this); chromium.ResourceHandlerFactory = new CefResourceHandlerFactory(this); chromium.LifeSpanHandler = lifeSpanHandler; chromium.RenderProcessMessageHandler = new CefRenderProcessMessageHandler(this); chromium.MenuHandler = new CefMenuHandler(this); chromium.DialogHandler = new CefDialogHandler(this); chromium.DownloadHandler = new CefDownloadHandler(this); chromium.CleanupElement = new FrameworkElement(); // prevent chromium to listen to default cleanup element unload events, this will be controlled manually jsExecutor = new JavascriptExecutor(this); RegisterJavascriptObject(Listener.EventListenerObjName, eventsListener); Content = chromium; GlobalWebViewInitialized?.Invoke(this); DisposableWebViews.Add(this); FocusManager.SetIsFocusScope(this, true); FocusManager.SetFocusedElement(this, FocusableElement); }
public void Dispose() { _core = null; var dispose = new Action <object>(o => { var disposable = o as IDisposable; if (disposable != null) { disposable.Dispose(); } }); dispose(_lifeSpanHandler); _lifeSpanHandler = null; dispose(_displayHandler); _displayHandler = null; dispose(_loadHandler); _loadHandler = null; dispose(_requestHandler); _requestHandler = null; dispose(_contextMenuHandler); _contextMenuHandler = null; dispose(_downloadHandler); _downloadHandler = null; dispose(_jsDialogHandler); _jsDialogHandler = null; dispose(_keyboardHandler); _keyboardHandler = null; }
public WindowCefClient(CefLifeSpanHandler lifeSpanHandler, CefRequestHandler requestHandler) { _lifeSpanHandler = lifeSpanHandler; _requestHandler = requestHandler; }
public void OpenUrl(string url, string injectScript = null) { if (string.IsNullOrWhiteSpace(url)) { url = "about:blank"; } /*if (url == "about:blank") * { * url = "https://www.baidu.com"; * }*/ if (url.StartsWith("view-source:")) { _isViewSource = true; } else { _isViewSource = false; if (url.StartsWith("chrome://setting")) { } } _injectScript = injectScript; if (webBrowser == null) { webBrowser = new ChromiumWebBrowserX(url); webBrowser.RegisterJsObject("jsCallObject", new JsCallObject(), new BindingOptions() { CamelCaseJavascriptNames = false }); tbUrl.Text = url; webBrowser.LoadingStateChanged += webBrowser_LoadingStateChanged; webBrowser.FrameLoadStart += webBrowser_FrameLoadStart; webBrowser.FrameLoadEnd += webBrowser_FrameLoadEnd; webBrowser.StatusMessage += webBrowser_StatusMessage; webBrowser.TitleChanged += webBrowser_TitleChanged; webBrowser.AddressChanged += webBrowser_AddressChanged; var ceflife = new CefLifeSpanHandler(); ceflife.BeforePopupEvent += ceflife_BeforePopupEvent; webBrowser.LifeSpanHandler = ceflife; var cefRequest = new CefRequestHandler(); cefRequest.GetResourceRequest += cefRequest_GetResourceRequest; webBrowser.RequestHandler = cefRequest; var cefMenu = new CefContextMenuHandler(); cefMenu.BeforeContextMenu += cefMenu_BeforeContextMenu; cefMenu.ViewSource += cefMenu_ViewSource; cefMenu.ShowDevTool += cefMenu_ShowDevTool; cefMenu.CopyImageToClipboard += cefMenu_CopyImageToClipboard; cefMenu.OpenLinkOrSource += cefMenu_OpenLinkOrSource; cefMenu.LoadScript += cefMenu_LoadScript; webBrowser.MenuHandler = cefMenu; var resFact = new CefResourceRequestHandlerFactory(); webBrowser.ResourceRequestHandlerFactory = resFact; webBrowser.DownloadHandler = new CefDownloadHandler(); webBrowser.KeyboardHandler = new CefKeyboardHandler(); var cefJsDialog = new CefJsDialogHandler(); cefJsDialog.JsDialog += cefJsDialog_JsDialog; webBrowser.JsDialogHandler = cefJsDialog; webBrowser.Dock = DockStyle.Fill; webBrowser.PreviewKeyDown += webBrowser_PreviewKeyDown; webBrowser.RenderProcessMessageHandler = new CefRenderProcessMessageHandler(); webBrowser.ActivateBrowserOnCreation = true; webBrowser.CreateControl(); this.panelBrowser.Controls.Add(webBrowser); } else { webBrowser.Load(url); } }
public BsClient() { lifeSpanHandler = new BsLifeSpanHandler(this); downloadHandler = new BsDownloadHandler(); }
public BsClient(BsCtl bsCtl) { _lifeSpanHandler = new BsLifeSpanHandler(this); _downloadHandler = new BsDownloadHandler(); _loadHandler = new BsWebLoadHandler(bsCtl); }
public DevToolsWebClient(DevToolsWebBrowser ctl) { _ctl = ctl; _lifeSpanHandler = new DefToolsLifeSpanHandler(ctl); }
//CsNativeHandlerSwitchTableCodeGen::GenerateHandleNativeReq public static void HandleNativeReq(object inst, int met_id, IntPtr args) { switch ((met_id >> 16)) { case CefAccessibilityHandler._typeNAME: CefAccessibilityHandler.HandleNativeReq(inst as CefAccessibilityHandler.I0, inst as CefAccessibilityHandler.I1, met_id, args); break; case CefBrowserProcessHandler._typeNAME: CefBrowserProcessHandler.HandleNativeReq(inst as CefBrowserProcessHandler.I0, inst as CefBrowserProcessHandler.I1, met_id, args); break; case CefContextMenuHandler._typeNAME: CefContextMenuHandler.HandleNativeReq(inst as CefContextMenuHandler.I0, inst as CefContextMenuHandler.I1, met_id, args); break; case CefDialogHandler._typeNAME: CefDialogHandler.HandleNativeReq(inst as CefDialogHandler.I0, inst as CefDialogHandler.I1, met_id, args); break; case CefDisplayHandler._typeNAME: CefDisplayHandler.HandleNativeReq(inst as CefDisplayHandler.I0, inst as CefDisplayHandler.I1, met_id, args); break; case CefDownloadHandler._typeNAME: CefDownloadHandler.HandleNativeReq(inst as CefDownloadHandler.I0, inst as CefDownloadHandler.I1, met_id, args); break; case CefDragHandler._typeNAME: CefDragHandler.HandleNativeReq(inst as CefDragHandler.I0, inst as CefDragHandler.I1, met_id, args); break; case CefFindHandler._typeNAME: CefFindHandler.HandleNativeReq(inst as CefFindHandler.I0, inst as CefFindHandler.I1, met_id, args); break; case CefFocusHandler._typeNAME: CefFocusHandler.HandleNativeReq(inst as CefFocusHandler.I0, inst as CefFocusHandler.I1, met_id, args); break; case CefGeolocationHandler._typeNAME: CefGeolocationHandler.HandleNativeReq(inst as CefGeolocationHandler.I0, inst as CefGeolocationHandler.I1, met_id, args); break; case CefJSDialogHandler._typeNAME: CefJSDialogHandler.HandleNativeReq(inst as CefJSDialogHandler.I0, inst as CefJSDialogHandler.I1, met_id, args); break; case CefKeyboardHandler._typeNAME: CefKeyboardHandler.HandleNativeReq(inst as CefKeyboardHandler.I0, inst as CefKeyboardHandler.I1, met_id, args); break; case CefLifeSpanHandler._typeNAME: CefLifeSpanHandler.HandleNativeReq(inst as CefLifeSpanHandler.I0, inst as CefLifeSpanHandler.I1, met_id, args); break; case CefLoadHandler._typeNAME: CefLoadHandler.HandleNativeReq(inst as CefLoadHandler.I0, inst as CefLoadHandler.I1, met_id, args); break; case CefPrintHandler._typeNAME: CefPrintHandler.HandleNativeReq(inst as CefPrintHandler.I0, inst as CefPrintHandler.I1, met_id, args); break; case CefRenderHandler._typeNAME: CefRenderHandler.HandleNativeReq(inst as CefRenderHandler.I0, inst as CefRenderHandler.I1, met_id, args); break; case CefRenderProcessHandler._typeNAME: CefRenderProcessHandler.HandleNativeReq(inst as CefRenderProcessHandler.I0, inst as CefRenderProcessHandler.I1, met_id, args); break; case CefRequestContextHandler._typeNAME: CefRequestContextHandler.HandleNativeReq(inst as CefRequestContextHandler.I0, inst as CefRequestContextHandler.I1, met_id, args); break; case CefRequestHandler._typeNAME: CefRequestHandler.HandleNativeReq(inst as CefRequestHandler.I0, inst as CefRequestHandler.I1, met_id, args); break; case CefResourceBundleHandler._typeNAME: CefResourceBundleHandler.HandleNativeReq(inst as CefResourceBundleHandler.I0, inst as CefResourceBundleHandler.I1, met_id, args); break; case CefResourceHandler._typeNAME: CefResourceHandler.HandleNativeReq(inst as CefResourceHandler.I0, inst as CefResourceHandler.I1, met_id, args); break; case CefReadHandler._typeNAME: CefReadHandler.HandleNativeReq(inst as CefReadHandler.I0, inst as CefReadHandler.I1, met_id, args); break; case CefWriteHandler._typeNAME: CefWriteHandler.HandleNativeReq(inst as CefWriteHandler.I0, inst as CefWriteHandler.I1, met_id, args); break; case CefV8Handler._typeNAME: CefV8Handler.HandleNativeReq(inst as CefV8Handler.I0, inst as CefV8Handler.I1, met_id, args); break; } }
public PopupBrowserClient(Formium formium) { _formium = formium; _lifeSpanHandler = new PopupBrowserLifeSpanHandler(formium); _displayHandler = new PopupBrowserDisplayHandler(formium); }
public BsClient(string type, Control control) { lifeSpanHandler = new BsLifeSpanHandler(this); contextMenuHandler = new BsContextMenuHandler(); loadHandler = new BsLoadHandler(type, control); }