Как правильно использовать CefCookieManager? (ВК++)

Всем привет.

Я пытаюсь создать программу, которая встраивает CEF (фреймворк для встраивания Chromium) для отображения html.

Я просто хочу, чтобы каждое окно браузера, созданное в моей программе, имело разные CefCookieManager. Я читал документы CEF и знаю, что это возможно.

Код прост: сначала я пишу класс, унаследованный от CefRequestContextHandler.

#pragma once
#include "include/cef_request_context_handler.h"
#include "include/cef_cookie.h"
class WXRequestContextHandler :public CefRequestContextHandler
{
public:
    WXRequestContextHandler(){}
    ~WXRequestContextHandler(){};
    CefRefPtr<CefCookieManager> GetCookieManager() OVERRIDE {
        return CefCookieManager::CreateManager("F:\\", false);
        //return NULL;
         }
private:
    // Include the default reference counting implementation.
    IMPLEMENT_REFCOUNTING(WXRequestContextHandler);
};

затем я создаю экземпляр CefRequestContext:

m_reqContext = CefRequestContext::CreateContext(new WXRequestContextHandler());

Наконец, создайте браузер с помощью CefBrowserHost::CreateBrowser с экземпляром CefRequestContext, созданным ранее:

CefBrowserHost::CreateBrowser(info, m_cefHandler.get(), pszURL, settings, m_reqContext);

ОК, я думаю, что это очень просто, и на самом деле я еще ничего не знаю о других, поэтому, когда я запускаю этот код для создания первого окна, я получаю исключение (срабатывает в libcef.dll, нарушение прав доступа 0xc00000005), и программа падает.

К сожалению, я обнаружил, что документы и руководства по CefCookieManager и CefRequestHandler очень плохие, поэтому мне пришлось искать помощь здесь. Если кто-нибудь знает какие-то проблемы с моим вопросом или какие-то руководства по CefCookieManager и CefRequestConextHandler, пожалуйста, помогите.

Я использую CEF3.1750 (июнь 2014 г.), VS2013 (vc12), win7.


person Liusong    schedule 18.12.2014    source источник


Ответы (1)


Я решил эту проблему сам (через форум CEF):

вот ссылка:

person Liusong    schedule 19.12.2014