private int on_before_popup(cef_life_span_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_string_t *target_url, cef_string_t *target_frame_name, CefWindowOpenDisposition target_disposition, int user_gesture, cef_popup_features_t *popupFeatures, cef_window_info_t *windowInfo, cef_client_t **client, cef_browser_settings_t *settings, int *no_javascript_access) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); var m_frame = CefFrame.FromNative(frame); var m_targetUrl = cef_string_t.ToString(target_url); var m_targetFrameName = cef_string_t.ToString(target_frame_name); var m_userGesture = user_gesture != 0; var m_popupFeatures = new CefPopupFeatures(popupFeatures); var m_windowInfo = CefWindowInfo.FromNative(windowInfo); var m_client = CefClient.FromNative(*client); var m_settings = new CefBrowserSettings(settings); var m_noJavascriptAccess = (*no_javascript_access) != 0; var o_client = m_client; var result = OnBeforePopup(m_browser, m_frame, m_targetUrl, m_targetFrameName, target_disposition, m_userGesture, m_popupFeatures, m_windowInfo, ref m_client, m_settings, ref m_noJavascriptAccess); if ((object)o_client != m_client && m_client != null) { *client = m_client.ToNative(); } *no_javascript_access = m_noJavascriptAccess ? 1 : 0; m_popupFeatures.Dispose(); m_windowInfo.Dispose(); m_settings.Dispose(); return(result ? 1 : 0); }
private int on_before_browser(cef_extension_handler_t *self, cef_extension_t *extension, cef_browser_t *browser, cef_browser_t *active_browser, int index, cef_string_t *url, int active, cef_window_info_t *windowInfo, cef_client_t **client, cef_browser_settings_t *settings) { CheckSelf(self); var m_extension = CefExtension.FromNative(extension); var m_browser = CefBrowser.FromNativeOrNull(browser); var m_activeBrowser = CefBrowser.FromNativeOrNull(active_browser); var m_url = cef_string_t.ToString(url); var m_active = active != 0; var m_windowInfo = CefWindowInfo.FromNative(windowInfo); var m_client = CefClient.FromNative(*client); var m_settings = new CefBrowserSettings(settings); var o_client = m_client; var cancel = OnBeforeBrowser(m_extension, m_browser, m_activeBrowser, index, m_url, m_active, m_windowInfo, ref m_client, m_settings); if (!cancel && ((object)o_client != m_client && m_client != null)) { *client = m_client.ToNative(); } m_windowInfo.Dispose(); m_settings.Dispose(); return(cancel ? 1 : 0); }
private int on_before_background_browser(cef_extension_handler_t *self, cef_extension_t *extension, cef_string_t *url, cef_client_t **client, cef_browser_settings_t *settings) { CheckSelf(self); var m_extension = CefExtension.FromNative(extension); var m_url = cef_string_t.ToString(url); var m_client = CefClient.FromNative(*client); var m_settings = new CefBrowserSettings(settings); var o_client = m_client; var cancel = OnBeforeBackgroundBrowser(m_extension, m_url, ref m_client, m_settings); if (!cancel && ((object)o_client != m_client && m_client != null)) { *client = m_client.ToNative(); } m_settings.Dispose(); return(cancel ? 1 : 0); }
/// <summary> /// Returns the client for this browser. /// </summary> public CefClient GetClient() { return(CefClient.FromNative( cef_browser_host_t.get_client(_self) )); }