| 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 "chrome/browser/signin/oauth2_token_service_delegate_android.h" | 5 #include "chrome/browser/signin/oauth2_token_service_delegate_android.h" |
| 6 | 6 |
| 7 #include "base/android/context_utils.h" | 7 #include "base/android/context_utils.h" |
| 8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
| 9 #include "base/android/jni_array.h" | 9 #include "base/android/jni_array.h" |
| 10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 ValidateAccountId(account_id); | 279 ValidateAccountId(account_id); |
| 280 JNIEnv* env = AttachCurrentThread(); | 280 JNIEnv* env = AttachCurrentThread(); |
| 281 ScopedJavaLocalRef<jstring> j_access_token = | 281 ScopedJavaLocalRef<jstring> j_access_token = |
| 282 ConvertUTF8ToJavaString(env, access_token); | 282 ConvertUTF8ToJavaString(env, access_token); |
| 283 Java_OAuth2TokenService_invalidateOAuth2AuthToken( | 283 Java_OAuth2TokenService_invalidateOAuth2AuthToken( |
| 284 env, base::android::GetApplicationContext(), j_access_token.obj()); | 284 env, base::android::GetApplicationContext(), j_access_token.obj()); |
| 285 } | 285 } |
| 286 | 286 |
| 287 void OAuth2TokenServiceDelegateAndroid::ValidateAccounts( | 287 void OAuth2TokenServiceDelegateAndroid::ValidateAccounts( |
| 288 JNIEnv* env, | 288 JNIEnv* env, |
| 289 jobject obj, | 289 const JavaParamRef<jobject>& obj, |
| 290 jstring j_current_acc, | 290 const JavaParamRef<jstring>& j_current_acc, |
| 291 jboolean j_force_notifications) { | 291 jboolean j_force_notifications) { |
| 292 std::string signed_in_account_name; | 292 std::string signed_in_account_name; |
| 293 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::ValidateAccounts from java"; | 293 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::ValidateAccounts from java"; |
| 294 if (j_current_acc) | 294 if (j_current_acc) |
| 295 signed_in_account_name = ConvertJavaStringToUTF8(env, j_current_acc); | 295 signed_in_account_name = ConvertJavaStringToUTF8(env, j_current_acc); |
| 296 if (!signed_in_account_name.empty()) | 296 if (!signed_in_account_name.empty()) |
| 297 signed_in_account_name = gaia::CanonicalizeEmail(signed_in_account_name); | 297 signed_in_account_name = gaia::CanonicalizeEmail(signed_in_account_name); |
| 298 | 298 |
| 299 // Clear any auth errors so that client can retry to get access tokens. | 299 // Clear any auth errors so that client can retry to get access tokens. |
| 300 errors_.clear(); | 300 errors_.clear(); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::ValidateAccounts:" | 429 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::ValidateAccounts:" |
| 430 << "revoked=" << prev_id; | 430 << "revoked=" << prev_id; |
| 431 revoked_ids->push_back(prev_id); | 431 revoked_ids->push_back(prev_id); |
| 432 } | 432 } |
| 433 } | 433 } |
| 434 return currently_signed_in; | 434 return currently_signed_in; |
| 435 } | 435 } |
| 436 | 436 |
| 437 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenAvailableFromJava( | 437 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenAvailableFromJava( |
| 438 JNIEnv* env, | 438 JNIEnv* env, |
| 439 jobject obj, | 439 const JavaParamRef<jobject>& obj, |
| 440 const jstring account_name) { | 440 const JavaParamRef<jstring>& account_name) { |
| 441 std::string account_id = | 441 std::string account_id = |
| 442 MapAccountNameToAccountId(ConvertJavaStringToUTF8(env, account_name)); | 442 MapAccountNameToAccountId(ConvertJavaStringToUTF8(env, account_name)); |
| 443 // Notify native observers. | 443 // Notify native observers. |
| 444 FireRefreshTokenAvailable(account_id); | 444 FireRefreshTokenAvailable(account_id); |
| 445 } | 445 } |
| 446 | 446 |
| 447 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenAvailable( | 447 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenAvailable( |
| 448 const std::string& account_id) { | 448 const std::string& account_id) { |
| 449 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 | 449 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 |
| 450 CHECK(!account_id.empty()); | 450 CHECK(!account_id.empty()); |
| 451 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::FireRefreshTokenAvailable id=" | 451 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::FireRefreshTokenAvailable id=" |
| 452 << account_id; | 452 << account_id; |
| 453 std::string account_name = MapAccountIdToAccountName(account_id); | 453 std::string account_name = MapAccountIdToAccountName(account_id); |
| 454 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 | 454 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 |
| 455 CHECK(!account_name.empty()); | 455 CHECK(!account_name.empty()); |
| 456 JNIEnv* env = AttachCurrentThread(); | 456 JNIEnv* env = AttachCurrentThread(); |
| 457 ScopedJavaLocalRef<jstring> j_account_name = | 457 ScopedJavaLocalRef<jstring> j_account_name = |
| 458 ConvertUTF8ToJavaString(env, account_name); | 458 ConvertUTF8ToJavaString(env, account_name); |
| 459 Java_OAuth2TokenService_notifyRefreshTokenAvailable(env, java_ref_.obj(), | 459 Java_OAuth2TokenService_notifyRefreshTokenAvailable(env, java_ref_.obj(), |
| 460 j_account_name.obj()); | 460 j_account_name.obj()); |
| 461 OAuth2TokenServiceDelegate::FireRefreshTokenAvailable(account_id); | 461 OAuth2TokenServiceDelegate::FireRefreshTokenAvailable(account_id); |
| 462 } | 462 } |
| 463 | 463 |
| 464 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenRevokedFromJava( | 464 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenRevokedFromJava( |
| 465 JNIEnv* env, | 465 JNIEnv* env, |
| 466 jobject obj, | 466 const JavaParamRef<jobject>& obj, |
| 467 const jstring account_name) { | 467 const JavaParamRef<jstring>& account_name) { |
| 468 std::string account_id = | 468 std::string account_id = |
| 469 MapAccountNameToAccountId(ConvertJavaStringToUTF8(env, account_name)); | 469 MapAccountNameToAccountId(ConvertJavaStringToUTF8(env, account_name)); |
| 470 // Notify native observers. | 470 // Notify native observers. |
| 471 FireRefreshTokenRevoked(account_id); | 471 FireRefreshTokenRevoked(account_id); |
| 472 } | 472 } |
| 473 | 473 |
| 474 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenRevoked( | 474 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokenRevoked( |
| 475 const std::string& account_id) { | 475 const std::string& account_id) { |
| 476 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 | 476 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 |
| 477 CHECK(!account_id.empty()); | 477 CHECK(!account_id.empty()); |
| 478 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::FireRefreshTokenRevoked id=" | 478 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::FireRefreshTokenRevoked id=" |
| 479 << account_id; | 479 << account_id; |
| 480 std::string account_name = MapAccountIdToAccountName(account_id); | 480 std::string account_name = MapAccountIdToAccountName(account_id); |
| 481 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 | 481 // TODO(knn): Convert to DCHECK after https://crbug.com/535211 |
| 482 CHECK(!account_name.empty()); | 482 CHECK(!account_name.empty()); |
| 483 JNIEnv* env = AttachCurrentThread(); | 483 JNIEnv* env = AttachCurrentThread(); |
| 484 ScopedJavaLocalRef<jstring> j_account_name = | 484 ScopedJavaLocalRef<jstring> j_account_name = |
| 485 ConvertUTF8ToJavaString(env, account_name); | 485 ConvertUTF8ToJavaString(env, account_name); |
| 486 Java_OAuth2TokenService_notifyRefreshTokenRevoked(env, java_ref_.obj(), | 486 Java_OAuth2TokenService_notifyRefreshTokenRevoked(env, java_ref_.obj(), |
| 487 j_account_name.obj()); | 487 j_account_name.obj()); |
| 488 OAuth2TokenServiceDelegate::FireRefreshTokenRevoked(account_id); | 488 OAuth2TokenServiceDelegate::FireRefreshTokenRevoked(account_id); |
| 489 } | 489 } |
| 490 | 490 |
| 491 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokensLoadedFromJava( | 491 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokensLoadedFromJava( |
| 492 JNIEnv* env, | 492 JNIEnv* env, |
| 493 jobject obj) { | 493 const JavaParamRef<jobject>& obj) { |
| 494 // Notify native observers. | 494 // Notify native observers. |
| 495 FireRefreshTokensLoaded(); | 495 FireRefreshTokensLoaded(); |
| 496 } | 496 } |
| 497 | 497 |
| 498 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokensLoaded() { | 498 void OAuth2TokenServiceDelegateAndroid::FireRefreshTokensLoaded() { |
| 499 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::FireRefreshTokensLoaded"; | 499 DVLOG(1) << "OAuth2TokenServiceDelegateAndroid::FireRefreshTokensLoaded"; |
| 500 JNIEnv* env = AttachCurrentThread(); | 500 JNIEnv* env = AttachCurrentThread(); |
| 501 Java_OAuth2TokenService_notifyRefreshTokensLoaded(env, java_ref_.obj()); | 501 Java_OAuth2TokenService_notifyRefreshTokensLoaded(env, java_ref_.obj()); |
| 502 OAuth2TokenServiceDelegate::FireRefreshTokensLoaded(); | 502 OAuth2TokenServiceDelegate::FireRefreshTokensLoaded(); |
| 503 } | 503 } |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 : isTransientError | 567 : isTransientError |
| 568 ? GoogleServiceAuthError::CONNECTION_FAILED | 568 ? GoogleServiceAuthError::CONNECTION_FAILED |
| 569 : GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); | 569 : GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); |
| 570 heap_callback->Run(err, token, base::Time()); | 570 heap_callback->Run(err, token, base::Time()); |
| 571 } | 571 } |
| 572 | 572 |
| 573 // static | 573 // static |
| 574 bool OAuth2TokenServiceDelegateAndroid::Register(JNIEnv* env) { | 574 bool OAuth2TokenServiceDelegateAndroid::Register(JNIEnv* env) { |
| 575 return RegisterNativesImpl(env); | 575 return RegisterNativesImpl(env); |
| 576 } | 576 } |
| OLD | NEW |