public WindowlessWebView(WindowlessWebView opener) { if (opener != null) { this.Opener = opener; this.BrowserSettings = opener.BrowserSettings; } using (var windowInfo = new CefWindowInfo()) { Initialize(windowInfo); } }
public WindowlessWebView(WindowlessWebView opener) { if (opener != null) { this.Opener = opener; this.BrowserSettings = opener.BrowserSettings; } using (var windowInfo = new CefWindowInfo()) { InitializeInternal(windowInfo); } SetState(State.Creating, true); }
public WindowlessWebView(string url, CefBrowserSettings settings, CefDictionaryValue extraInfo, CefRequestContext requestContext) { CefWindowInfo windowInfo = null; try { windowInfo = new CefWindowInfo(); Initialize(windowInfo); if (!CefApi.CreateBrowser(windowInfo, ViewGlue.Client, url ?? "about:blank", settings ?? DefaultBrowserSettings, extraInfo, requestContext)) { throw new InvalidOperationException(); } } finally { windowInfo?.Dispose(); } }
/// <summary> /// Open developer tools (DevTools) in its own browser. The DevTools browser /// will remain associated with this browser. If the DevTools browser is /// already open then it will be focused, in which case the |windowInfo|, /// |client| and |settings| parameters will be ignored. If |inspect_element_at| /// is non-NULL then the element at the specified (x,y) location will be /// inspected. The |windowInfo| parameter will be ignored if this browser is /// wrapped in a cef_browser_view_t. /// </summary> public unsafe virtual void ShowDevTools(CefWindowInfo windowInfo, CefClient client, CefBrowserSettings settings, CefPoint inspectElementAt) { NativeInstance->ShowDevTools(windowInfo.GetNativeInstance(), (client != null) ? client.GetNativeInstance() : null, settings.GetNativeInstance(), (cef_point_t *)&inspectElementAt); GC.KeepAlive(this); }
/// <summary> /// Called on the UI thread before a new popup browser is created. The /// |browser| and |frame| values represent the source of the popup request. The /// |target_url| and |target_frame_name| values indicate where the popup /// browser should navigate and may be NULL if not specified with the request. /// The |target_disposition| value indicates where the user intended to open /// the popup (e.g. current tab, new tab, etc). The |user_gesture| value will /// be true (1) if the popup was opened via explicit user gesture (e.g. /// clicking a link) or false (0) if the popup opened automatically (e.g. via /// the DomContentLoaded event). The |popupFeatures| structure contains /// additional information about the requested popup window. To allow creation /// of the popup browser optionally modify |windowInfo|, |client|, |settings| /// and |no_javascript_access| and return false (0). To cancel creation of the /// popup browser return true (1). The |client| and |settings| values will /// default to the source browser's values. If the |no_javascript_access| value /// is set to false (0) the new browser will not be scriptable and may not be /// hosted in the same renderer process as the source browser. Any /// modifications to |windowInfo| will be ignored if the parent browser is /// wrapped in a cef_browser_view_t. Popup browser creation will be canceled if /// the parent browser is destroyed before the popup browser creation completes /// (indicated by a call to OnAfterCreated for the popup browser). The /// |extra_info| parameter provides an opportunity to specify extra information /// specific to the created popup browser that will be passed to /// cef_render_process_handler_t::on_browser_created() in the render process. /// </summary> protected internal unsafe virtual bool OnBeforePopup(CefBrowser browser, CefFrame frame, string targetUrl, string targetFrameName, CefWindowOpenDisposition targetDisposition, bool userGesture, CefPopupFeatures popupFeatures, CefWindowInfo windowInfo, ref CefClient client, CefBrowserSettings settings, ref CefDictionaryValue extraInfo, ref int noJavascriptAccess) { return(default);