示例#1
0
        internal static void on_jsdialog(IntPtr gcHandlePtr, out int __retval, IntPtr browser, IntPtr origin_url_str, int origin_url_length, IntPtr accept_lang_str, int accept_lang_length, int dialog_type, IntPtr message_text_str, int message_text_length, IntPtr default_prompt_text_str, int default_prompt_text_length, IntPtr callback, out int suppress_message)
        {
            var self = (CfxJsDialogHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null)
            {
                __retval         = default(int);
                suppress_message = default(int);
                return;
            }
            var e            = new CfxOnJsDialogEventArgs(browser, origin_url_str, origin_url_length, accept_lang_str, accept_lang_length, dialog_type, message_text_str, message_text_length, default_prompt_text_str, default_prompt_text_length, callback);
            var eventHandler = self.m_OnJsDialog;

            if (eventHandler != null)
            {
                eventHandler(self, e);
            }
            e.m_isInvalid = true;
            if (e.m_browser_wrapped == null)
            {
                CfxApi.cfx_release(e.m_browser);
            }
            if (e.m_callback_wrapped == null)
            {
                CfxApi.cfx_release(e.m_callback);
            }
            suppress_message = e.m_suppress_message;
            __retval         = e.m_returnValue ? 1 : 0;
        }
        internal static void on_jsdialog(IntPtr gcHandlePtr, out int __retval, IntPtr browser, out int browser_release, IntPtr origin_url_str, int origin_url_length, int dialog_type, IntPtr message_text_str, int message_text_length, IntPtr default_prompt_text_str, int default_prompt_text_length, IntPtr callback, out int callback_release, out int suppress_message)
        {
            var self = (CfxJsDialogHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                __retval         = default(int);
                browser_release  = 1;
                callback_release = 1;
                suppress_message = default(int);
                return;
            }
            var e = new CfxOnJsDialogEventArgs();

            e.m_browser                    = browser;
            e.m_origin_url_str             = origin_url_str;
            e.m_origin_url_length          = origin_url_length;
            e.m_dialog_type                = dialog_type;
            e.m_message_text_str           = message_text_str;
            e.m_message_text_length        = message_text_length;
            e.m_default_prompt_text_str    = default_prompt_text_str;
            e.m_default_prompt_text_length = default_prompt_text_length;
            e.m_callback                   = callback;
            self.m_OnJsDialog?.Invoke(self, e);
            e.m_isInvalid    = true;
            browser_release  = e.m_browser_wrapped == null? 1 : 0;
            callback_release = e.m_callback_wrapped == null? 1 : 0;
            suppress_message = e.m_suppress_message;
            __retval         = e.m_returnValue ? 1 : 0;
        }