- Fix a crash caused by CefBrowserHostImpl being deleted before CefCookieStoreProxy (issue #810).

- Add documentation explaining the relationship between network request processing classes.
- Remove stale code in url_request_context_getter_proxy.cc.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@935 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-12-04 01:12:11 +00:00
parent ea920a4d9e
commit c3bbaac18f
6 changed files with 51 additions and 118 deletions

View File

@@ -24,6 +24,9 @@ class CefCookieStoreProxy : public net::CookieStore {
: parent_(parent),
browser_(browser) {
}
virtual ~CefCookieStoreProxy() {
CEF_REQUIRE_IOT();
}
// net::CookieStore methods.
virtual void SetCookieWithOptionsAsync(
@@ -90,7 +93,7 @@ class CefCookieStoreProxy : public net::CookieStore {
if (handler.get()) {
// Get the manager from the handler.
CefRefPtr<CefCookieManager> manager =
handler->GetCookieManager(browser_,
handler->GetCookieManager(browser_.get(),
browser_->GetLoadingURL().spec());
if (manager.get()) {
cookie_store =
@@ -112,7 +115,7 @@ class CefCookieStoreProxy : public net::CookieStore {
// This pointer is guaranteed by the CefRequestContextProxy object.
net::URLRequestContext* parent_;
CefBrowserHostImpl* browser_;
CefRefPtr<CefBrowserHostImpl> browser_;
DISALLOW_COPY_AND_ASSIGN(CefCookieStoreProxy);
};
@@ -127,6 +130,7 @@ CefURLRequestContextProxy::CefURLRequestContextProxy(
}
CefURLRequestContextProxy::~CefURLRequestContextProxy() {
CEF_REQUIRE_IOT();
}
void CefURLRequestContextProxy::Initialize(CefBrowserHostImpl* browser) {