Exemple #1
0
 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));
     }
 }
Exemple #3
0
        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);
        }
Exemple #5
0
 private CefBrowser(cef_browser_t* ptr)
 {
     if (ptr == null) throw new ArgumentNullException("ptr");
     _self = ptr;
 }
Exemple #6
0
        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
 }
Exemple #9
0
 public unsafe extern void OnRenderViewReady(cef_browser_t *browser);
Exemple #10
0
 public unsafe extern void OnPluginCrashed(cef_browser_t *browser, [Immutable] cef_string_t *plugin_path);
Exemple #11
0
 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);
Exemple #12
0
 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);
Exemple #13
0
 public unsafe extern int OnQuotaRequest(cef_browser_t *browser, [Immutable] cef_string_t *origin_url, long new_size, cef_request_callback_t *callback);
Exemple #14
0
 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);
Exemple #15
0
 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));
     }
 }
Exemple #17
0
        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));
        }
Exemple #18
0
 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
        }
Exemple #20
0
 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
        }
Exemple #22
0
 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);
Exemple #23
0
        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);
        }
Exemple #25
0
        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);
        }