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 |