GAIA ID migration for Android.
commit63286f25d86e92e541e611092439d4b8daface85
authorgogerald <gogerald@chromium.org>
Mon, 14 Sep 2015 14:42:02 +0000 (14 07:42 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 14 Sep 2015 14:42:59 +0000 (14 14:42 +0000)
tree62d3b6656f252fd89ceeb10c014dd9955a5336c1
parentffc09c8ca01a648cab43eb26812130981ca650c3
GAIA ID migration for Android.

Much work has been done over the last year to prepare Chrome to use Gaia obfuscated Ids as the unique identifier for Google accounts in Chrome.

This cl implements this work for Android platform. On Android platform, Google accounts' credentials are maintained in Android, Chrome list accounts name and get access tokens from Android. Chrome must use account name as identification to communicate with Android. In addition, Chrome can only fetch accounts' Gaia Ids through GoogleAuthUtil.getAccountId which is a blocked interface. These facts make Gaia Id migration a little bit challenge for Android. Please refer below doc for details.

https://docs.google.com/a/google.com/document/d/1XPVUmpm3OFU8ZbYTSxOVtxb0zOLRnRXR1OR5Pp4ryb0/edit?usp=sharing

BUG=341408

Review URL: https://codereview.chromium.org/1256283002

Cr-Commit-Position: refs/heads/master@{#348617}
26 files changed:
chrome/android/java/src/org/chromium/chrome/browser/firstrun/ProfileDataCache.java
chrome/android/java/src/org/chromium/chrome/browser/profiles/ProfileDownloader.java
chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
chrome/android/java/src/org/chromium/chrome/browser/signin/AccountTrackerService.java [new file with mode: 0644]
chrome/android/java/src/org/chromium/chrome/browser/signin/OAuth2TokenService.java
chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelper.java
chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceIntegrationTest.java
chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceTest.java
chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTestBase.java
chrome/browser/android/chrome_jni_registrar.cc
chrome/browser/android/profiles/profile_downloader_android.cc
chrome/browser/android/signin/account_tracker_service_android.cc [new file with mode: 0644]
chrome/browser/android/signin/account_tracker_service_android.h [new file with mode: 0644]
chrome/browser/android/signin/signin_manager_android.cc
chrome/browser/android/signin/signin_manager_android.h
chrome/browser/policy/cloud/user_policy_signin_service_mobile.cc
chrome/browser/policy/cloud/user_policy_signin_service_mobile.h
chrome/browser/policy/cloud/user_policy_signin_service_unittest.cc
chrome/browser/signin/oauth2_token_service_delegate_android.cc
chrome/browser/signin/oauth2_token_service_delegate_android.h
chrome/browser/signin/profile_oauth2_token_service_factory.cc
chrome/chrome_browser.gypi
components/policy/core/common/cloud/cloud_policy_client_registration_helper.cc
components/signin/core/browser/account_tracker_service.cc
components/signin/core/browser/account_tracker_service.h