internal static cef_scheme_handler_factory_t* Alloc()
 {
     var ptr = (cef_scheme_handler_factory_t*)Marshal.AllocHGlobal(_sizeof);
     *ptr = new cef_scheme_handler_factory_t();
     ptr->_base._size = (UIntPtr)_sizeof;
     return ptr;
 }
        internal static cef_scheme_handler_factory_t *Alloc()
        {
            var ptr = (cef_scheme_handler_factory_t *)Marshal.AllocHGlobal(_sizeof);

            *ptr = new cef_scheme_handler_factory_t();
            ptr->_base._size = (UIntPtr)_sizeof;
            return(ptr);
        }
 private int release(cef_scheme_handler_factory_t* self)
 {
     lock (SyncRoot)
     {
         var result = --_refct;
         if (result == 0)
         {
             lock (_roots) { _roots.Remove((IntPtr)_self); }
         }
         return result;
     }
 }
 private int add_ref(cef_scheme_handler_factory_t* self)
 {
     lock (SyncRoot)
     {
         var result = ++_refct;
         if (result == 1)
         {
             lock (_roots) { _roots.Add((IntPtr)_self, this); }
         }
         return result;
     }
 }
        private cef_resource_handler_t* create(cef_scheme_handler_factory_t* self, cef_browser_t* browser, cef_frame_t* frame, cef_string_t* scheme_name, cef_request_t* request)
        {
            CheckSelf(self);

            var m_browser = CefBrowser.FromNativeOrNull(browser);
            var m_frame = CefFrame.FromNativeOrNull(frame);
            var m_schemeName = cef_string_t.ToString(scheme_name);
            var m_request = CefRequest.FromNative(request);

            var handler = Create(m_browser, m_frame, m_schemeName, m_request);

            // TODO: [ApiUsage] method can return null, only when schemeName is built-in scheme, in other cases it is incorrect.
            return handler != null ? handler.ToNative() : null;
        }
 private void CheckSelf(cef_scheme_handler_factory_t* self)
 {
     if (_self != self) throw ExceptionBuilder.InvalidSelfReference();
 }
 private int get_refct(cef_scheme_handler_factory_t* self)
 {
     return _refct;
 }
Example #8
0
 public static extern int register_scheme_handler_factory(cef_string_t* scheme_name, cef_string_t* domain_name, cef_scheme_handler_factory_t* factory);
 internal static void Free(cef_scheme_handler_factory_t* ptr)
 {
     Marshal.FreeHGlobal((IntPtr)ptr);
 }