| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <vector> | 5 #include <vector> |
| 6 | 6 |
| 7 #include "chrome/browser/android/signin/signin_manager_android.h" | 7 #include "chrome/browser/android/signin/signin_manager_android.h" |
| 8 | 8 |
| 9 #include "base/android/callback_android.h" | 9 #include "base/android/callback_android.h" |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 base::Bind(&SigninManagerAndroid::OnPolicyFetchDone, | 134 base::Bind(&SigninManagerAndroid::OnPolicyFetchDone, |
| 135 weak_factory_.GetWeakPtr())); | 135 weak_factory_.GetWeakPtr())); |
| 136 dm_token_.clear(); | 136 dm_token_.clear(); |
| 137 client_id_.clear(); | 137 client_id_.clear(); |
| 138 return; | 138 return; |
| 139 } | 139 } |
| 140 | 140 |
| 141 // This shouldn't be called when ShouldLoadPolicyForUser() is false, or when | 141 // This shouldn't be called when ShouldLoadPolicyForUser() is false, or when |
| 142 // CheckPolicyBeforeSignIn() failed. | 142 // CheckPolicyBeforeSignIn() failed. |
| 143 NOTREACHED(); | 143 NOTREACHED(); |
| 144 Java_SigninManager_onPolicyFetchedBeforeSignIn(env, | 144 Java_SigninManager_onPolicyFetchedBeforeSignIn(env, java_signin_manager_); |
| 145 java_signin_manager_.obj()); | |
| 146 } | 145 } |
| 147 | 146 |
| 148 void SigninManagerAndroid::AbortSignIn( | 147 void SigninManagerAndroid::AbortSignIn( |
| 149 JNIEnv* env, | 148 JNIEnv* env, |
| 150 const base::android::JavaParamRef<jobject>& obj) { | 149 const base::android::JavaParamRef<jobject>& obj) { |
| 151 policy::UserPolicySigninService* service = | 150 policy::UserPolicySigninService* service = |
| 152 policy::UserPolicySigninServiceFactory::GetForProfile(profile_); | 151 policy::UserPolicySigninServiceFactory::GetForProfile(profile_); |
| 153 service->ShutdownUserCloudPolicyManager(); | 152 service->ShutdownUserCloudPolicyManager(); |
| 154 } | 153 } |
| 155 | 154 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 base::android::ScopedJavaLocalRef<jstring> domain; | 209 base::android::ScopedJavaLocalRef<jstring> domain; |
| 211 if (!dm_token_.empty()) { | 210 if (!dm_token_.empty()) { |
| 212 DCHECK(!username_.empty()); | 211 DCHECK(!username_.empty()); |
| 213 domain.Reset( | 212 domain.Reset( |
| 214 base::android::ConvertUTF8ToJavaString( | 213 base::android::ConvertUTF8ToJavaString( |
| 215 env, gaia::ExtractDomainName(username_))); | 214 env, gaia::ExtractDomainName(username_))); |
| 216 } else { | 215 } else { |
| 217 username_.clear(); | 216 username_.clear(); |
| 218 } | 217 } |
| 219 | 218 |
| 220 Java_SigninManager_onPolicyCheckedBeforeSignIn(env, | 219 Java_SigninManager_onPolicyCheckedBeforeSignIn(env, java_signin_manager_, |
| 221 java_signin_manager_.obj(), | 220 domain); |
| 222 domain.obj()); | |
| 223 } | 221 } |
| 224 | 222 |
| 225 void SigninManagerAndroid::OnPolicyFetchDone(bool success) { | 223 void SigninManagerAndroid::OnPolicyFetchDone(bool success) { |
| 226 Java_SigninManager_onPolicyFetchedBeforeSignIn( | 224 Java_SigninManager_onPolicyFetchedBeforeSignIn( |
| 227 base::android::AttachCurrentThread(), | 225 base::android::AttachCurrentThread(), java_signin_manager_); |
| 228 java_signin_manager_.obj()); | |
| 229 } | 226 } |
| 230 | 227 |
| 231 void SigninManagerAndroid::OnBrowsingDataRemoverDone( | 228 void SigninManagerAndroid::OnBrowsingDataRemoverDone( |
| 232 const base::android::ScopedJavaGlobalRef<jobject>& callback) { | 229 const base::android::ScopedJavaGlobalRef<jobject>& callback) { |
| 233 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_); | 230 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_); |
| 234 model->RemoveAllUserBookmarks(); | 231 model->RemoveAllUserBookmarks(); |
| 235 | 232 |
| 236 // All the Profile data has been wiped. Clear the last signed in username as | 233 // All the Profile data has been wiped. Clear the last signed in username as |
| 237 // well, so that the next signin doesn't trigger the acount change dialog. | 234 // well, so that the next signin doesn't trigger the acount change dialog. |
| 238 ClearLastSignedInUser(); | 235 ClearLastSignedInUser(); |
| 239 | 236 |
| 240 Java_SigninManager_onProfileDataWiped(base::android::AttachCurrentThread(), | 237 Java_SigninManager_onProfileDataWiped(base::android::AttachCurrentThread(), |
| 241 java_signin_manager_.obj(), | 238 java_signin_manager_, callback); |
| 242 callback.obj()); | |
| 243 } | 239 } |
| 244 | 240 |
| 245 void SigninManagerAndroid::ClearLastSignedInUser( | 241 void SigninManagerAndroid::ClearLastSignedInUser( |
| 246 JNIEnv* env, | 242 JNIEnv* env, |
| 247 const JavaParamRef<jobject>& obj) { | 243 const JavaParamRef<jobject>& obj) { |
| 248 ClearLastSignedInUser(); | 244 ClearLastSignedInUser(); |
| 249 } | 245 } |
| 250 | 246 |
| 251 void SigninManagerAndroid::ClearLastSignedInUser() { | 247 void SigninManagerAndroid::ClearLastSignedInUser() { |
| 252 profile_->GetPrefs()->ClearPref(prefs::kGoogleServicesLastAccountId); | 248 profile_->GetPrefs()->ClearPref(prefs::kGoogleServicesLastAccountId); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 283 const GoogleServiceAuthError& error) {} | 279 const GoogleServiceAuthError& error) {} |
| 284 | 280 |
| 285 void SigninManagerAndroid::GoogleSigninSucceeded(const std::string& account_id, | 281 void SigninManagerAndroid::GoogleSigninSucceeded(const std::string& account_id, |
| 286 const std::string& username, | 282 const std::string& username, |
| 287 const std::string& password) {} | 283 const std::string& password) {} |
| 288 | 284 |
| 289 void SigninManagerAndroid::GoogleSignedOut(const std::string& account_id, | 285 void SigninManagerAndroid::GoogleSignedOut(const std::string& account_id, |
| 290 const std::string& username) { | 286 const std::string& username) { |
| 291 DCHECK(thread_checker_.CalledOnValidThread()); | 287 DCHECK(thread_checker_.CalledOnValidThread()); |
| 292 Java_SigninManager_onNativeSignOut(base::android::AttachCurrentThread(), | 288 Java_SigninManager_onNativeSignOut(base::android::AttachCurrentThread(), |
| 293 java_signin_manager_.obj()); | 289 java_signin_manager_); |
| 294 } | 290 } |
| 295 | 291 |
| 296 void SigninManagerAndroid::OnSigninAllowedPrefChanged() { | 292 void SigninManagerAndroid::OnSigninAllowedPrefChanged() { |
| 297 Java_SigninManager_onSigninAllowedByPolicyChanged( | 293 Java_SigninManager_onSigninAllowedByPolicyChanged( |
| 298 base::android::AttachCurrentThread(), java_signin_manager_.obj(), | 294 base::android::AttachCurrentThread(), java_signin_manager_, |
| 299 SigninManagerFactory::GetForProfile(profile_)->IsSigninAllowed()); | 295 SigninManagerFactory::GetForProfile(profile_)->IsSigninAllowed()); |
| 300 } | 296 } |
| 301 | 297 |
| 302 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 298 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| 303 SigninManagerAndroid* signin_manager_android = | 299 SigninManagerAndroid* signin_manager_android = |
| 304 new SigninManagerAndroid(env, obj); | 300 new SigninManagerAndroid(env, obj); |
| 305 return reinterpret_cast<intptr_t>(signin_manager_android); | 301 return reinterpret_cast<intptr_t>(signin_manager_android); |
| 306 } | 302 } |
| 307 | 303 |
| 308 static jboolean ShouldLoadPolicyForUser( | 304 static jboolean ShouldLoadPolicyForUser( |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 const JavaParamRef<jstring>& j_email) { | 336 const JavaParamRef<jstring>& j_email) { |
| 341 std::string email = base::android::ConvertJavaStringToUTF8(env, j_email); | 337 std::string email = base::android::ConvertJavaStringToUTF8(env, j_email); |
| 342 std::string domain = gaia::ExtractDomainName(email); | 338 std::string domain = gaia::ExtractDomainName(email); |
| 343 return base::android::ConvertUTF8ToJavaString(env, domain); | 339 return base::android::ConvertUTF8ToJavaString(env, domain); |
| 344 } | 340 } |
| 345 | 341 |
| 346 // static | 342 // static |
| 347 bool SigninManagerAndroid::Register(JNIEnv* env) { | 343 bool SigninManagerAndroid::Register(JNIEnv* env) { |
| 348 return RegisterNativesImpl(env); | 344 return RegisterNativesImpl(env); |
| 349 } | 345 } |
| OLD | NEW |