diff options
author | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-01 04:26:15 +0000 |
---|---|---|
committer | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-01 04:26:15 +0000 |
commit | 10b1a44568d31207dea3303514c6e12a5dfb98c7 (patch) | |
tree | 35c421d21c082f66046ba8ed276e5035bada8804 /android_webview/native/cookie_manager.cc | |
parent | 99fda728438e7ad3f7da55e9cd1a3a3d285e9ec9 (diff) | |
download | chromium_src-10b1a44568d31207dea3303514c6e12a5dfb98c7.zip chromium_src-10b1a44568d31207dea3303514c6e12a5dfb98c7.tar.gz chromium_src-10b1a44568d31207dea3303514c6e12a5dfb98c7.tar.bz2 |
Fix for CookieManager init race condition
As the cookiemanager can be used at any time from any thread, we need to
ensure it is constructed early in startup, synchronously to the
AndroidBrowserProcess.init() call.
This rolls back a little of the change made in
http://src.chromium.org/viewvc/chrome/trunk/src/android_webview/browser/net/init_native_callback.h?view=diff&r1=174173&r2=174174
(intenral issue b/8249158)
BUG=
Review URL: https://chromiumcodereview.appspot.com/12387028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185462 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/native/cookie_manager.cc')
-rw-r--r-- | android_webview/native/cookie_manager.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/android_webview/native/cookie_manager.cc b/android_webview/native/cookie_manager.cc index 33142ec..08ebfe3 100644 --- a/android_webview/native/cookie_manager.cc +++ b/android_webview/native/cookie_manager.cc @@ -21,7 +21,6 @@ #include "jni/AwCookieManager_jni.h" #include "net/cookies/cookie_monster.h" #include "net/cookies/cookie_options.h" -#include "net/cookies/cookie_store.h" #include "net/url_request/url_request_context.h" using base::android::ConvertJavaStringToUTF8; @@ -48,7 +47,7 @@ class CookieManager { public: static CookieManager* GetInstance(); - void SetCookieMonster(net::URLRequestContext* request_context); + void SetCookieMonster(net::CookieMonster* cookie_monster); void SetAcceptCookie(bool accept); bool AcceptCookie(); @@ -134,9 +133,9 @@ void CookieManager::ExecCookieTask(const CookieTask& task, } } -void CookieManager::SetCookieMonster(net::URLRequestContext* request_context) { +void CookieManager::SetCookieMonster(net::CookieMonster* cookie_monster) { DCHECK(!cookie_monster_); - cookie_monster_ = request_context->cookie_store()->GetCookieMonster(); + cookie_monster_ = cookie_monster; } void CookieManager::SetAcceptCookie(bool accept) { @@ -348,8 +347,8 @@ static void SetAcceptFileSchemeCookies(JNIEnv* env, jobject obj, return CookieManager::GetInstance()->SetAcceptFileSchemeCookies(accept); } -void SetCookieMonsterOnNetworkStackInit(net::URLRequestContext* context) { - CookieManager::GetInstance()->SetCookieMonster(context); +void SetCookieMonsterOnNetworkStackInit(net::CookieMonster* cookie_monster) { + CookieManager::GetInstance()->SetCookieMonster(cookie_monster); } bool RegisterCookieManager(JNIEnv* env) { |