protected virtual void Dispose(bool disposing)
 {
     if (_disposable && _instance != null)
     {
         CachePath          = null;
         AcceptLanguageList = null;
         Marshal.FreeHGlobal((IntPtr)_instance);
         _instance = null;
     }
 }
 public static extern cef_request_context_t *create_context(cef_request_context_settings_t *settings, cef_request_context_handler_t *handler);
 internal static unsafe void Free(cef_request_context_settings_t *ptr)
 {
     Clear(ptr);
     cef_request_context_settings_t.Free(ptr);
 }
 private static unsafe void Clear(cef_request_context_settings_t *ptr)
 {
     libcef.string_clear(&ptr->cache_path);
     libcef.string_clear(&ptr->accept_language_list);
 }
 public static void Free(cef_request_context_settings_t *ptr)
 {
     Marshal.FreeHGlobal((IntPtr)ptr);
 }
 public CefRequestContextSettings(cef_request_context_settings_t *instance)
 {
     _instance = instance;
 }
 public CefRequestContextSettings()
 {
     _disposable     = true;
     _instance       = (cef_request_context_settings_t *)CefStructure.Allocate(sizeof(cef_request_context_settings_t));
     _instance->size = new UIntPtr((uint)sizeof(cef_request_context_settings_t));
 }
 internal void Dispose()
 {
     _self = null;
 }
 internal CefRequestContextSettings(cef_request_context_settings_t *ptr)
 {
     _self = ptr;
 }
 public CefRequestContextSettings()
 {
     _self = cef_request_context_settings_t.Alloc();
 }
 /// <summary>
 /// Creates a new context object with the specified |settings| and optional
 /// |handler|.
 /// </summary>
 public static cef_request_context_t *CreateContext(cef_request_context_settings_t *settings, cef_request_context_handler_t *handler)
 {
     throw new NotImplementedException(); // TODO: CefRequestContext.CreateContext
 }