summaryrefslogtreecommitdiffstats
path: root/android_webview/native/cookie_manager.cc
diff options
context:
space:
mode:
authorjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-01 04:26:15 +0000
committerjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-01 04:26:15 +0000
commit10b1a44568d31207dea3303514c6e12a5dfb98c7 (patch)
tree35c421d21c082f66046ba8ed276e5035bada8804 /android_webview/native/cookie_manager.cc
parent99fda728438e7ad3f7da55e9cd1a3a3d285e9ec9 (diff)
downloadchromium_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.cc11
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) {