Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java |
| index 995a0e5e7850767ae1a8428deac2087b5caa54db..410abadf275aa39c4f1240350a99f38e0a3c3235 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java |
| @@ -587,6 +587,19 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed |
| onSignOutDone(); |
| } |
| + // Sign out can be initiated in native code, outside this SigninManager. |
| + // onNativeSignOut() notifies us of this so we can clean up android specific |
| + // state. |
| + @CalledByNative |
| + private void onNativeSignOut() { |
| + // If mSignOutCallback != null, two things are true: |
| + // 1) signOut() is in progress, so we don't need to invoke it again. |
| + // 2) If we did invoke it again, doing so would not be idempotent. |
| + if (ChromeSigninController.get(mContext).isSignedIn() && mSignOutCallback == null) { |
|
maxbogue
2016/05/18 18:23:43
I believe this code will cause signOut to get call
Patrick Noland
2016/05/18 23:26:05
Done.
|
| + signOut(); |
| + } |
| + } |
| + |
| private void onSignOutDone() { |
| if (mSignOutCallback != null) { |
| new Handler().post(mSignOutCallback); |