Android ProfileData may not be wiped for signOut() triggered from native code paths |
|
Issue descriptionAndroid's java SigninManager::signOut() clears profile data whenever the account has a non-null management domain. [0][1] The check to getManagementDomain() is made before calling nativeSignOut() because the nativeSignOut() clears this info [2] (stemming from SigninManagerBase::Observer::GoogleSignedOut()) *The suspected bug* is that the check for getManagementDomain() will potentially return null for sign-outs that start form the native side (onNativeSignOut) because the management data is already cleared. It likely hinges on which observer of SigninManager OnGoogleSignedOut is called first: UserPolicySigninService or SigninManagerAndroid. Aside: Its unclear why SigninMangerAndroid waits on the SigninManager.java for instructions to wipe the profile data (done native-side) - it seems it could do this itself. This doesn't fix the potential race described above. [0] https://cs.chromium.org/chromium/src/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java?type=cs&q=f:SigninManager.java+%22wipeData+%3D%22&sq=package:chromium&g=0&l=519 [1] https://cs.chromium.org/chromium/src/chrome/browser/android/signin/signin_manager_android.cc?rcl=3316df9bea8657c2f0e97d96a99902ffe225886e&l=224 [2] https://cs.chromium.org/chromium/src/components/policy/core/common/cloud/user_cloud_policy_manager.cc?rcl=3316df9bea8657c2f0e97d96a99902ffe225886e&l=108 |
|
►
Sign in to add a comment |
|
Comment 1 by sheriffbot@chromium.org
, Aug 28Status: Available (was: Untriaged)