private void on_render_thread_created(cef_render_process_handler_t* self, cef_list_value_t* extra_info)
        {
            CheckSelf(self);

            var mExtraInfo = CefListValue.FromNative(extra_info);
            OnRenderThreadCreated(mExtraInfo);
            mExtraInfo.Dispose();
        }
        private cef_load_handler_t* get_load_handler(cef_render_process_handler_t* self)
        {
            CheckSelf(self);

            var result = GetLoadHandler();

            return result != null ? result.ToNative() : null;
        }
        private void on_browser_destroyed(cef_render_process_handler_t* self, cef_browser_t* browser)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNative(browser);

            OnBrowserDestroyed(m_browser);
        }
        internal static cef_render_process_handler_t *Alloc()
        {
            var ptr = (cef_render_process_handler_t *)Marshal.AllocHGlobal(_sizeof);

            *ptr = new cef_render_process_handler_t();
            ptr->_base._size = (UIntPtr)_sizeof;
            return(ptr);
        }
예제 #5
0
 private void add_ref(cef_render_process_handler_t* self)
 {
     lock (SyncRoot)
     {
         var result = ++_refct;
         if (result == 1)
         {
             lock (_roots) { _roots.Add((IntPtr)_self, this); }
         }
     }
 }
        private int on_before_navigation(cef_render_process_handler_t* self, cef_browser_t* browser, cef_frame_t* frame, cef_request_t* request, CefNavigationType navigation_type, int is_redirect)
        {
            CheckSelf(self);

            var mBrowser = CefBrowser.FromNative(browser);
            var mFrame = CefFrame.FromNative(frame);
            var mRequest = CefRequest.FromNative(request);

            var result = OnBeforeNavigation(mBrowser, mFrame, mRequest, navigation_type, is_redirect != 0);

            return result ? 1 : 0;
        }
예제 #7
0
 internal static void Free(cef_render_process_handler_t* ptr)
 {
     Marshal.FreeHGlobal((IntPtr)ptr);
 }
예제 #8
0
        private int on_process_message_received(cef_render_process_handler_t* self, cef_browser_t* browser, CefProcessId source_process, cef_process_message_t* message)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNative(browser);
            var m_message = CefProcessMessage.FromNative(message);

            var result = OnProcessMessageReceived(m_browser, source_process, m_message);

            m_message.Dispose();

            return result ? 1 : 0;
        }
예제 #9
0
 private int release(cef_render_process_handler_t* self)
 {
     lock (SyncRoot)
     {
         var result = --_refct;
         if (result == 0)
         {
             lock (_roots) { _roots.Remove((IntPtr)_self); }
         }
         return result;
     }
 }
예제 #10
0
 internal static cef_render_process_handler_t* Alloc()
 {
     var ptr = (cef_render_process_handler_t*)Marshal.AllocHGlobal(_sizeof);
     *ptr = new cef_render_process_handler_t();
     ptr->_base._size = (UIntPtr)_sizeof;
     return ptr;
 }
예제 #11
0
 private void CheckSelf(cef_render_process_handler_t* self)
 {
     if (_self != self) throw ExceptionBuilder.InvalidSelfReference();
 }
예제 #12
0
 private int get_refct(cef_render_process_handler_t* self)
 {
     return _refct;
 }
예제 #13
0
        private void on_web_kit_initialized(cef_render_process_handler_t* self)
        {
            CheckSelf(self);

            OnWebKitInitialized();
        }
예제 #14
0
        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);
        }
예제 #15
0
 private int has_one_ref(cef_render_process_handler_t* self)
 {
     lock (SyncRoot) { return _refct == 1 ? 1 : 0; }
 }
예제 #16
0
        private void on_focused_node_changed(cef_render_process_handler_t* self, cef_browser_t* browser, cef_frame_t* frame, cef_domnode_t* node)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNative(browser);
            var m_frame = CefFrame.FromNative(frame);
            var m_node = CefDomNode.FromNativeOrNull(node);

            OnFocusedNodeChanged(m_browser, m_frame, m_node);

            if (m_node != null) m_node.Dispose();
        }
예제 #17
0
        private void on_context_released(cef_render_process_handler_t* self, cef_browser_t* browser, cef_frame_t* frame, cef_v8context_t* context)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNative(browser);
            var m_frame = CefFrame.FromNative(frame);
            var m_context = CefV8Context.FromNative(context);

            OnContextReleased(m_browser, m_frame, m_context);
        }