private void CheckSelf(cef_jsdialog_handler_t *self) { if (_self != self) { throw ExceptionBuilder.InvalidSelfReference(); } }
protected virtual void Dispose(bool disposing) { if (_self != null) { cef_jsdialog_handler_t.Free(_self); _self = null; } }
private void on_reset_dialog_state(cef_jsdialog_handler_t *self, cef_browser_t *browser) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); OnResetDialogState(m_browser); }
private void on_dialog_closed(cef_jsdialog_handler_t *self, cef_browser_t *browser) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); OnDialogClosed(m_browser); }
public CefJSDialogHandler() { cef_jsdialog_handler_t *self = this.NativeInstance; self->on_jsdialog = (void *)Marshal.GetFunctionPointerForDelegate(fnOnJSDialog); self->on_before_unload_dialog = (void *)Marshal.GetFunctionPointerForDelegate(fnOnBeforeUnloadDialog); self->on_reset_dialog_state = (void *)Marshal.GetFunctionPointerForDelegate(fnOnResetDialogState); self->on_dialog_closed = (void *)Marshal.GetFunctionPointerForDelegate(fnOnDialogClosed); }
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); var m_browser = CefBrowser.FromNative(browser); var m_message_text = cef_string_t.ToString(message_text); var m_callback = CefJSDialogCallback.FromNative(callback); return(OnBeforeUnloadDialog(m_browser, m_message_text, is_reload != 0, m_callback) ? 1 : 0); }
private void add_ref(cef_jsdialog_handler_t *self) { lock (SyncRoot) { var result = ++_refct; if (result == 1) { lock (_roots) { _roots.Add((IntPtr)_self, this); } } } }
/// <summary> /// Called to run a JavaScript alert message. Return false to display /// the default alert or true if you displayed a custom alert. /// </summary> private int on_jsalert(cef_jsdialog_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, /*const*/ cef_string_t *message) { ThrowIfObjectDisposed(); var m_browser = CefBrowser.From(browser); var m_frame = CefFrame.From(frame); var m_message = cef_string_t.ToString(message); var handled = this.OnJSAlert(m_browser, m_frame, m_message); return(handled ? 1 : 0); }
private int release(cef_jsdialog_handler_t *self) { lock (SyncRoot) { var result = --_refct; if (result == 0) { lock (_roots) { _roots.Remove((IntPtr)_self); } } return(result); } }
private int on_jsdialog(cef_jsdialog_handler_t *self, cef_browser_t *browser, cef_string_t *origin_url, CefJSDialogType dialog_type, cef_string_t *message_text, cef_string_t *default_prompt_text, cef_jsdialog_callback_t *callback, int *suppress_message) { CheckSelf(self); var m_browser = CefBrowser.FromNative(browser); var m_origin_url = cef_string_t.ToString(origin_url); var m_message_text = cef_string_t.ToString(message_text); var m_default_prompt_text = cef_string_t.ToString(default_prompt_text); var m_callback = CefJSDialogCallback.FromNative(callback); bool m_suppress_message; var result = OnJSDialog(m_browser, m_origin_url, dialog_type, m_message_text, m_default_prompt_text, m_callback, out m_suppress_message); *suppress_message = m_suppress_message ? 1 : 0; return(result ? 1 : 0); }
public CefJSDialogHandler() { cef_jsdialog_handler_t *self = this.NativeInstance; #if NET_LESS_5_0 self->on_jsdialog = (void *)Marshal.GetFunctionPointerForDelegate(fnOnJSDialog); self->on_before_unload_dialog = (void *)Marshal.GetFunctionPointerForDelegate(fnOnBeforeUnloadDialog); self->on_reset_dialog_state = (void *)Marshal.GetFunctionPointerForDelegate(fnOnResetDialogState); self->on_dialog_closed = (void *)Marshal.GetFunctionPointerForDelegate(fnOnDialogClosed); #else self->on_jsdialog = (delegate * unmanaged[Stdcall] < cef_jsdialog_handler_t *, cef_browser_t *, cef_string_t *, CefJSDialogType, cef_string_t *, cef_string_t *, cef_jsdialog_callback_t *, int *, int >) & OnJSDialogImpl; self->on_before_unload_dialog = (delegate * unmanaged[Stdcall] < cef_jsdialog_handler_t *, cef_browser_t *, cef_string_t *, int, cef_jsdialog_callback_t *, int >) & OnBeforeUnloadDialogImpl; self->on_reset_dialog_state = (delegate * unmanaged[Stdcall] < cef_jsdialog_handler_t *, cef_browser_t *, void >) & OnResetDialogStateImpl; self->on_dialog_closed = (delegate * unmanaged[Stdcall] < cef_jsdialog_handler_t *, cef_browser_t *, void >) & OnDialogClosedImpl; #endif }
protected CefJSDialogHandler() { _self = cef_jsdialog_handler_t.Alloc(); _ds0 = new cef_jsdialog_handler_t.add_ref_delegate(add_ref); _self->_base._add_ref = Marshal.GetFunctionPointerForDelegate(_ds0); _ds1 = new cef_jsdialog_handler_t.release_delegate(release); _self->_base._release = Marshal.GetFunctionPointerForDelegate(_ds1); _ds2 = new cef_jsdialog_handler_t.get_refct_delegate(get_refct); _self->_base._get_refct = Marshal.GetFunctionPointerForDelegate(_ds2); _ds3 = new cef_jsdialog_handler_t.on_jsdialog_delegate(on_jsdialog); _self->_on_jsdialog = Marshal.GetFunctionPointerForDelegate(_ds3); _ds4 = new cef_jsdialog_handler_t.on_before_unload_dialog_delegate(on_before_unload_dialog); _self->_on_before_unload_dialog = Marshal.GetFunctionPointerForDelegate(_ds4); _ds5 = new cef_jsdialog_handler_t.on_reset_dialog_state_delegate(on_reset_dialog_state); _self->_on_reset_dialog_state = Marshal.GetFunctionPointerForDelegate(_ds5); }
/// <summary> /// Called to run a JavaScript confirm request. Return false to display /// the default alert or true if you displayed a custom alert. If you /// handled the alert set |retval| to true if the user accepted the /// confirmation. /// </summary> private int on_jsconfirm(cef_jsdialog_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, /*const*/ cef_string_t *message, int *retval) { ThrowIfObjectDisposed(); var m_browser = CefBrowser.From(browser); var m_frame = CefFrame.From(frame); var m_message = cef_string_t.ToString(message); bool m_retval; var handled = this.OnJSConfirm(m_browser, m_frame, m_message, out m_retval); if (handled) { *retval = m_retval ? 1 : 0; } return(handled ? 1 : 0); }
protected CefJSDialogHandler() { _self = cef_jsdialog_handler_t.Alloc(); _ds0 = new cef_jsdialog_handler_t.add_ref_delegate(add_ref); _self->_base._add_ref = Marshal.GetFunctionPointerForDelegate(_ds0); _ds1 = new cef_jsdialog_handler_t.release_delegate(release); _self->_base._release = Marshal.GetFunctionPointerForDelegate(_ds1); _ds2 = new cef_jsdialog_handler_t.has_one_ref_delegate(has_one_ref); _self->_base._has_one_ref = Marshal.GetFunctionPointerForDelegate(_ds2); _ds3 = new cef_jsdialog_handler_t.has_at_least_one_ref_delegate(has_at_least_one_ref); _self->_base._has_at_least_one_ref = Marshal.GetFunctionPointerForDelegate(_ds3); _ds4 = new cef_jsdialog_handler_t.on_jsdialog_delegate(on_jsdialog); _self->_on_jsdialog = Marshal.GetFunctionPointerForDelegate(_ds4); _ds5 = new cef_jsdialog_handler_t.on_before_unload_dialog_delegate(on_before_unload_dialog); _self->_on_before_unload_dialog = Marshal.GetFunctionPointerForDelegate(_ds5); _ds6 = new cef_jsdialog_handler_t.on_reset_dialog_state_delegate(on_reset_dialog_state); _self->_on_reset_dialog_state = Marshal.GetFunctionPointerForDelegate(_ds6); _ds7 = new cef_jsdialog_handler_t.on_dialog_closed_delegate(on_dialog_closed); _self->_on_dialog_closed = Marshal.GetFunctionPointerForDelegate(_ds7); }
/// <summary> /// Called to run a JavaScript prompt request. Return false to display /// the default prompt or true if you displayed a custom prompt. If you /// handled the prompt set |retval| to true if the user accepted the /// prompt and request and |result| to the resulting value. /// </summary> private int on_jsprompt(cef_jsdialog_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, /*const*/ cef_string_t *message, /*const*/ cef_string_t *defaultValue, int *retval, cef_string_t *result) { ThrowIfObjectDisposed(); var m_browser = CefBrowser.From(browser); var m_frame = CefFrame.From(frame); var m_message = cef_string_t.ToString(message); var m_defaultValue = cef_string_t.ToString(defaultValue); bool m_retval; string m_result; var handled = this.OnJSPrompt(m_browser, m_frame, m_message, m_defaultValue, out m_retval, out m_result); if (handled) { *retval = m_retval ? 1 : 0; cef_string_t.Copy(m_result, result); } return(handled ? 1 : 0); }
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 }
/// <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 }
/// <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 }
internal static void Free(cef_jsdialog_handler_t *ptr) { Marshal.FreeHGlobal((IntPtr)ptr); }
public CefJSDialogHandler(cef_jsdialog_handler_t *instance) : base((cef_base_ref_counted_t *)instance) { }
private int has_one_ref(cef_jsdialog_handler_t *self) { lock (SyncRoot) { return(_refct == 1 ? 1 : 0); } }
private int has_at_least_one_ref(cef_jsdialog_handler_t *self) { lock (SyncRoot) { return(_refct != 0 ? 1 : 0); } }
private int get_refct(cef_jsdialog_handler_t *self) { return(_refct); }
/// <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 }