public void Dispose() { if (_self != null) { Release(); _self = null; } GC.SuppressFinalize(this); }
public unsafe int OnBeforeBrowser(cef_extension_t *extension, cef_browser_t *browser, cef_browser_t *active_browser, int index, [Immutable] cef_string_t *url, int active, cef_window_info_t *windowInfo, cef_client_t **client, cef_browser_settings_t *settings) { fixed(cef_extension_handler_t *self = &this) { return(((delegate * unmanaged[Stdcall] < cef_extension_handler_t *, cef_extension_t *, cef_browser_t *, cef_browser_t *, int, cef_string_t *, int, cef_window_info_t *, cef_client_t **, cef_browser_settings_t *, int >)on_before_browser)(self, extension, browser, active_browser, index, url, active, windowInfo, client, settings)); } }
private void on_cancel_geolocation_permission(cef_geolocation_handler_t *self, cef_browser_t *browser, int request_id) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); OnCancelGeolocationPermission(m_browser, request_id); }
private cef_resource_request_handler_t *get_resource_request_handler(cef_request_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_request_t *request, int is_navigation, int is_download, cef_string_t *request_initiator, int *disable_default_handling) { CheckSelf(self); var m_browser = CefBrowser.FromNativeOrNull(browser); var m_frame = CefFrame.FromNativeOrNull(frame); var m_request = CefRequest.FromNative(request); var m_isNavigation = is_navigation != 0; var m_isDownload = is_download != 0; var m_requestInitiator = cef_string_t.ToString(request_initiator); var m_disableDefaultHandling = *disable_default_handling != 0; var m_result = GetResourceRequestHandler(m_browser, m_frame, m_request, m_isNavigation, m_isDownload, m_requestInitiator, ref m_disableDefaultHandling); *disable_default_handling = m_disableDefaultHandling ? 1 : 0; return(m_result != null?m_result.ToNative() : null); }
private CefBrowser(cef_browser_t* ptr) { if (ptr == null) throw new ArgumentNullException("ptr"); _self = ptr; }
private cef_resource_handler_t *get_resource_handler(cef_request_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_request_t *request) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); var m_frame = CefFrame.FromNative(frame); var m_request = CefRequest.FromNative(request); var handler = GetResourceHandler(m_browser, m_frame, m_request); m_request.Dispose(); return(handler != null?handler.ToNative() : null); }
/// <summary> /// Called to run a dialog asking the user if they want to leave a page. Return /// false to use the default dialog implementation. Return true if the /// application will use a custom dialog or if the callback has been executed /// immediately. Custom dialogs may be either modal or modeless. If a custom /// dialog is used the application must execute |callback| once the custom /// dialog is dismissed. /// </summary> // protected abstract int OnBeforeUnloadDialog(cef_browser_t* browser, cef_string_t* message_text, int is_reload, cef_jsdialog_callback_t* callback); private void on_reset_dialog_state(cef_jsdialog_handler_t *self, cef_browser_t *browser) { CheckSelf(self); throw new NotImplementedException(); // TODO: CefJSDialogHandler.OnResetDialogState }
private int on_jsdialog(cef_jsdialog_handler_t *self, cef_browser_t *browser, cef_string_t *origin_url, cef_string_t *accept_lang, CefJSDialogType dialog_type, cef_string_t *message_text, cef_string_t *default_prompt_text, cef_jsdialog_callback_t *callback, int *suppress_message) { CheckSelf(self); throw new NotImplementedException(); // TODO: CefJSDialogHandler.OnJSDialog }
public unsafe extern void OnRenderViewReady(cef_browser_t *browser);
public unsafe extern void OnPluginCrashed(cef_browser_t *browser, [Immutable] cef_string_t *plugin_path);
public unsafe extern int OnSelectClientCertificate(cef_browser_t *browser, int isProxy, [Immutable] cef_string_t *host, int port, UIntPtr certificatesCount, [Immutable] cef_x509certificate_t **certificates, cef_select_client_certificate_callback_t *callback);
public unsafe extern int OnCertificateError(cef_browser_t *browser, CefErrorCode cert_error, [Immutable] cef_string_t *request_url, cef_sslinfo_t *ssl_info, cef_request_callback_t *callback);
public unsafe extern int OnQuotaRequest(cef_browser_t *browser, [Immutable] cef_string_t *origin_url, long new_size, cef_request_callback_t *callback);
public unsafe extern int GetAuthCredentials(cef_browser_t *browser, [Immutable] cef_string_t *origin_url, int isProxy, [Immutable] cef_string_t *host, int port, [Immutable] cef_string_t *realm, [Immutable] cef_string_t *scheme, cef_auth_callback_t *callback);
public unsafe extern cef_resource_request_handler_t *GetResourceRequestHandler(cef_browser_t *browser, cef_frame_t *frame, cef_request_t *request, int is_navigation, int is_download, [Immutable] cef_string_t *request_initiator, int *disable_default_handling);
public unsafe int CanAccessBrowser(cef_extension_t *extension, cef_browser_t *browser, int include_incognito, cef_browser_t *target_browser) { fixed(cef_extension_handler_t *self = &this) { return(((delegate * unmanaged[Stdcall] < cef_extension_handler_t *, cef_extension_t *, cef_browser_t *, int, cef_browser_t *, int >)can_access_browser)(self, extension, browser, include_incognito, target_browser)); } }
private static unsafe void OnBeforeContextMenuImpl(cef_context_menu_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_context_menu_params_t * @params, cef_menu_model_t *model) { var instance = GetInstance((IntPtr)self) as CefContextMenuHandler; if (instance == null || ((ICefContextMenuHandlerPrivate)instance).AvoidOnBeforeContextMenu()) { ReleaseIfNonNull((cef_base_ref_counted_t *)browser); ReleaseIfNonNull((cef_base_ref_counted_t *)frame); ReleaseIfNonNull((cef_base_ref_counted_t *)@params); ReleaseIfNonNull((cef_base_ref_counted_t *)model); return; } instance.OnBeforeContextMenu(CefBrowser.Wrap(CefBrowser.Create, browser), CefFrame.Wrap(CefFrame.Create, frame), CefContextMenuParams.Wrap(CefContextMenuParams.Create, @params), CefMenuModel.Wrap(CefMenuModel.Create, model)); }
public unsafe extern void OnRenderProcessTerminated(cef_browser_t *browser, CefTerminationStatus status);
/// <summary> /// Called to run a JavaScript dialog. The |default_prompt_text| value will be /// specified for prompt dialogs only. Set |suppress_message| to true and /// return false to suppress the message (suppressing messages is preferable /// to immediately executing the callback as this is used to detect presumably /// malicious behavior like spamming alert messages in onbeforeunload). Set /// |suppress_message| to false and return false to use the default /// implementation (the default implementation will show one modal dialog at a /// time and suppress any additional dialog requests until the displayed dialog /// is dismissed). Return true if the application will use a custom dialog or /// if the callback has been executed immediately. Custom dialogs may be either /// modal or modeless. If a custom dialog is used the application must execute /// |callback| once the custom dialog is dismissed. /// </summary> // protected abstract int OnJSDialog(cef_browser_t* browser, cef_string_t* origin_url, cef_string_t* accept_lang, CefJSDialogType dialog_type, cef_string_t* message_text, cef_string_t* default_prompt_text, cef_jsdialog_callback_t* callback, int* suppress_message); private int on_before_unload_dialog(cef_jsdialog_handler_t *self, cef_browser_t *browser, cef_string_t *message_text, int is_reload, cef_jsdialog_callback_t *callback) { CheckSelf(self); throw new NotImplementedException(); // TODO: CefJSDialogHandler.OnBeforeUnloadDialog }
public unsafe extern int OnBeforeBrowse(cef_browser_t *browser, cef_frame_t *frame, cef_request_t *request, int user_gesture, int is_redirect);
/// <summary> /// Called to cancel any pending dialogs and reset any saved dialog state. Will /// be called due to events like page navigation irregardless of whether any /// dialogs are currently pending. /// </summary> // protected abstract void OnResetDialogState(cef_browser_t* browser); private void on_dialog_closed(cef_jsdialog_handler_t *self, cef_browser_t *browser) { CheckSelf(self); throw new NotImplementedException(); // TODO: CefJSDialogHandler.OnDialogClosed }
public unsafe extern int OnOpenUrlFromTab(cef_browser_t *browser, cef_frame_t *frame, [Immutable] cef_string_t *target_url, CefWindowOpenDisposition target_disposition, int user_gesture);
private cef_response_filter_t *get_resource_response_filter(cef_request_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_request_t *request, cef_response_t *response) { CheckSelf(self); var mBrowser = CefBrowser.FromNative(browser); var mFrame = CefFrame.FromNative(frame); var mRequest = CefRequest.FromNative(request); var mResponse = CefResponse.FromNative(response); var result = GetResourceResponseFilter(mBrowser, mFrame, mRequest, mResponse); if (result != null) { return(result.ToNative()); } return(null); }
private void on_cancel_geolocation_permission(cef_geolocation_handler_t *self, cef_browser_t *browser, cef_string_t *requesting_url, int request_id) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); var m_requesting_url = cef_string_t.ToString(requesting_url); OnCancelGeolocationPermission(m_browser, m_requesting_url, request_id); }
private int on_request_geolocation_permission(cef_geolocation_handler_t *self, cef_browser_t *browser, cef_string_t *requesting_url, int request_id, cef_geolocation_callback_t *callback) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); var m_requesting_url = cef_string_t.ToString(requesting_url); var m_callback = CefGeolocationCallback.FromNative(callback); var m_result = OnRequestGeolocationPermission(m_browser, m_requesting_url, request_id, m_callback); return(m_result ? 1 : 0); }
private void on_document_available_in_main_frame(cef_request_handler_t *self, cef_browser_t *browser) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); OnDocumentAvailableInMainFrame(m_browser); }