Index: chrome/browser/ui/passwords/manage_passwords_ui_controller.cc |
diff --git a/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc b/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc |
index eaaf1c8cf4158f04ce2507f1f14e1eb255a966ef..6be754a910924079ddbc1a5e2e5a857e48575a47 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc |
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller.cc |
@@ -26,9 +26,12 @@ |
#include "ui/base/l10n/l10n_util.h" |
#if defined(OS_ANDROID) |
+#include "base/android/jni_android.h" |
#include "chrome/browser/android/chrome_application.h" |
+#include "chrome/browser/android/tab_android.h" |
#include "chrome/browser/infobars/infobar_service.h" |
#include "chrome/browser/password_manager/account_chooser_infobar_delegate_android.h" |
+#include "chrome/browser/password_manager/credential_android.h" |
#endif |
using autofill::PasswordFormMap; |
@@ -91,6 +94,27 @@ void ManagePasswordsUIController:: |
#endif |
} |
+void ManagePasswordsUIController::UpdateAutoSigninToastVisibility() { |
+#if defined(OS_ANDROID) |
+ base::android::ScopedJavaLocalRef<jobject> credential; |
+ JNIEnv *env = base::android::AttachCurrentThread(); |
+ if (GetFederatedForms().size() == 1) { |
+ credential = CreateNativeCredential( |
newt (away)
2015/08/13 16:48:04
Instead of passing the Credential object to Java (
melandory
2015/08/20 15:11:00
Done.
|
+ env, *GetFederatedForms()[0], 0, |
+ static_cast<int>( |
+ password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED)); |
+ } else if (GetCurrentForms().size() == 1) { |
+ credential = CreateNativeCredential( |
+ env, *GetCurrentForms()[0], 0, |
+ static_cast<int>( |
+ password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD)); |
+ } |
+ TabAndroid::FromWebContents(web_contents()) |
+ ->ShowAutoSigninSnackbar(credential.obj()); |
+ should_pop_up_bubble_ = false; |
+#endif |
+} |
+ |
base::TimeDelta ManagePasswordsUIController::Elapsed() const { |
return timer_ ? timer_->Elapsed() : base::TimeDelta::Max(); |
} |
@@ -140,7 +164,11 @@ void ManagePasswordsUIController::OnAutoSignin( |
passwords_data_.OnAutoSignin(local_forms.Pass()); |
timer_.reset(new base::ElapsedTimer); |
base::AutoReset<bool> resetter(&should_pop_up_bubble_, true); |
+#if defined(OS_ANDROID) |
+ UpdateAutoSigninToastVisibility(); |
+#else |
UpdateBubbleAndIconVisibility(); |
+#endif |
} |
void ManagePasswordsUIController::OnAutomaticPasswordSave( |