Esempio n. 1
0
 private CefV8StackTrace(cef_v8stack_trace_t *ptr)
 {
     if (ptr == null)
     {
         throw new ArgumentNullException("ptr");
     }
     _self = ptr;
 }
Esempio n. 2
0
 internal static CefV8StackTrace FromNativeOrNull(cef_v8stack_trace_t *ptr)
 {
     if (ptr == null)
     {
         return(null);
     }
     return(new CefV8StackTrace(ptr));
 }
Esempio n. 3
0
 public void Dispose()
 {
     if (_self != null)
     {
         Release();
         _self = null;
     }
     GC.SuppressFinalize(this);
 }
Esempio n. 4
0
 public void Dispose()
 {
     if (_self != null)
     {
         Release();
         _self = null;
     }
     GC.SuppressFinalize(this);
 }
        public static int release(cef_v8stack_trace_t *self)
        {
            release_delegate d;
            var p = self->_base._release;

            if (p == _p1)
            {
                d = _d1;
            }
            else
            {
                d = (release_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(release_delegate));
                if (_p1 == IntPtr.Zero)
                {
                    _d1 = d; _p1 = p;
                }
            }
            return(d(self));
        }
        public static void add_ref(cef_v8stack_trace_t *self)
        {
            add_ref_delegate d;
            var p = self->_base._add_ref;

            if (p == _p0)
            {
                d = _d0;
            }
            else
            {
                d = (add_ref_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(add_ref_delegate));
                if (_p0 == IntPtr.Zero)
                {
                    _d0 = d; _p0 = p;
                }
            }
            d(self);
        }
        public static cef_v8stack_frame_t *get_frame(cef_v8stack_trace_t *self, int index)
        {
            get_frame_delegate d;
            var p = self->_get_frame;

            if (p == _p5)
            {
                d = _d5;
            }
            else
            {
                d = (get_frame_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_frame_delegate));
                if (_p5 == IntPtr.Zero)
                {
                    _d5 = d; _p5 = p;
                }
            }
            return(d(self, index));
        }
        public static int get_frame_count(cef_v8stack_trace_t *self)
        {
            get_frame_count_delegate d;
            var p = self->_get_frame_count;

            if (p == _p4)
            {
                d = _d4;
            }
            else
            {
                d = (get_frame_count_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_frame_count_delegate));
                if (_p4 == IntPtr.Zero)
                {
                    _d4 = d; _p4 = p;
                }
            }
            return(d(self));
        }
        public static int is_valid(cef_v8stack_trace_t *self)
        {
            is_valid_delegate d;
            var p = self->_is_valid;

            if (p == _p3)
            {
                d = _d3;
            }
            else
            {
                d = (is_valid_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(is_valid_delegate));
                if (_p3 == IntPtr.Zero)
                {
                    _d3 = d; _p3 = p;
                }
            }
            return(d(self));
        }
        public static int has_one_ref(cef_v8stack_trace_t *self)
        {
            has_one_ref_delegate d;
            var p = self->_base._has_one_ref;

            if (p == _p2)
            {
                d = _d2;
            }
            else
            {
                d = (has_one_ref_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(has_one_ref_delegate));
                if (_p2 == IntPtr.Zero)
                {
                    _d2 = d; _p2 = p;
                }
            }
            return(d(self));
        }
Esempio n. 11
0
 public unsafe void OnUncaughtException(cef_browser_t *browser, cef_frame_t *frame, cef_v8context_t *context, cef_v8exception_t *exception, cef_v8stack_trace_t *stackTrace)
 {
     fixed(cef_render_process_handler_t *self = &this)
     {
         ((delegate * unmanaged[Stdcall] < cef_render_process_handler_t *, cef_browser_t *, cef_frame_t *, cef_v8context_t *, cef_v8exception_t *, cef_v8stack_trace_t *, void >)on_uncaught_exception)(self, browser, frame, context, exception, stackTrace);
     }
 }
        private void on_uncaught_exception(cef_render_process_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_v8context_t *context, cef_v8exception_t *exception, cef_v8stack_trace_t *stackTrace)
        {
            CheckSelf(self);

            var mBrowser    = CefBrowser.FromNative(browser);
            var mFrame      = CefFrame.FromNative(frame);
            var mContext    = CefV8Context.FromNative(context);
            var mException  = CefV8Exception.FromNative(exception);
            var mStackTrace = CefV8StackTrace.FromNative(stackTrace);

            OnUncaughtException(mBrowser, mFrame, mContext, mException, mStackTrace);
        }
        /// <summary>
        /// Called immediately before the V8 context for a frame is released. No
        /// references to the context should be kept after this method is called.
        /// </summary>
        // protected abstract void OnContextReleased(cef_browser_t* browser, cef_frame_t* frame, cef_v8context_t* context);

        private void on_uncaught_exception(cef_render_process_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_v8context_t *context, cef_v8exception_t *exception, cef_v8stack_trace_t *stackTrace)
        {
            CheckSelf(self);
            throw new NotImplementedException(); // TODO: CefRenderProcessHandler.OnUncaughtException
        }
Esempio n. 14
0
 internal static CefV8StackTrace FromNative(cef_v8stack_trace_t *ptr)
 {
     return(new CefV8StackTrace(ptr));
 }
Esempio n. 15
0
 public CefV8StackTrace(cef_v8stack_trace_t *instance)
     : base((cef_base_ref_counted_t *)instance)
 {
 }
Esempio n. 16
0
 private CefV8StackTrace(cef_v8stack_trace_t* ptr)
 {
     if (ptr == null) throw new ArgumentNullException("ptr");
     _self = ptr;
 }
 public unsafe extern void OnUncaughtException(cef_browser_t *browser, cef_frame_t *frame, cef_v8context_t *context, cef_v8exception_t *exception, cef_v8stack_trace_t *stackTrace);
        /// <summary>
        /// Called for global uncaught exceptions. Execution of this callback is
        /// disabled by default. To enable set
        /// CefSettings.uncaught_exception_stack_size &gt; 0.
        /// </summary>
        private void on_uncaught_exception(cef_v8context_handler_t *self, cef_browser_t *browser, cef_frame_t *frame, cef_v8context_t *context, cef_v8exception_t *exception, cef_v8stack_trace_t *stackTrace)
        {
            ThrowIfObjectDisposed();

            var m_browser    = CefBrowser.From(browser);
            var m_frame      = CefFrame.From(frame);
            var m_context    = CefV8Context.From(context);
            var m_exception  = CefV8Exception.From(exception);
            var m_stackTrace = CefV8StackTrace.From(stackTrace);

            this.OnUncaughtException(m_browser, m_frame, m_context, m_exception, m_stackTrace);
        }