Index: chrome/browser/ui/passwords/password_manager_presenter.cc |
diff --git a/chrome/browser/ui/passwords/password_manager_presenter.cc b/chrome/browser/ui/passwords/password_manager_presenter.cc |
index 5b468a0a4b68cdeae84ad526100cc31b5bfb68be..a5e10b0686cabf2cc6a1f7196132f143f6e9aa1e 100644 |
--- a/chrome/browser/ui/passwords/password_manager_presenter.cc |
+++ b/chrome/browser/ui/passwords/password_manager_presenter.cc |
@@ -21,6 +21,7 @@ |
#include "chrome/common/url_constants.h" |
#include "components/autofill/core/common/password_form.h" |
#include "components/password_manager/core/browser/affiliation_utils.h" |
+#include "components/password_manager/core/browser/import/password_importer.h" |
#include "components/password_manager/core/browser/password_manager_util.h" |
#include "components/password_manager/core/common/password_manager_pref_names.h" |
#include "content/public/browser/user_metrics.h" |
@@ -122,6 +123,32 @@ void PasswordManagerPresenter::RemovePasswordException(size_t index) { |
base::UserMetricsAction("PasswordManager_RemovePasswordException")); |
} |
+bool PasswordManagerPresenter::AddPasswordsToStore( |
+ const std::vector<autofill::PasswordForm>& forms) { |
+ PasswordStore* store = GetPasswordStore(); |
+ if (!store) |
+ return false; |
+ |
+ for (std::vector<autofill::PasswordForm>::const_iterator it = forms.begin(); |
+ it != forms.end(); ++it) { |
+ store->AddLogin(*it); |
+ } |
+ return true; |
+} |
+ |
+bool PasswordManagerPresenter::RequestToExportPassword() { |
+#if !defined(OS_ANDROID) // This is never called on Android. |
+ if (IsAuthenticationRequired()) { |
+ if (password_manager_util::AuthenticateUser( |
+ password_view_->GetNativeWindow())) |
+ last_authentication_time_ = base::TimeTicks::Now(); |
+ else |
+ return false; |
+ } |
+#endif |
+ return true; |
+} |
+ |
void PasswordManagerPresenter::RequestShowPassword(size_t index) { |
#if !defined(OS_ANDROID) // This is never called on Android. |
if (index >= password_list_.size()) { |
@@ -157,6 +184,13 @@ void PasswordManagerPresenter::RequestShowPassword(size_t index) { |
#endif |
} |
+ScopedVector<autofill::PasswordForm> |
+PasswordManagerPresenter::GetAllPasswords() { |
+ ScopedVector<autofill::PasswordForm> retVal = password_list_.Pass(); |
+ UpdatePasswordLists(); |
+ return retVal.Pass(); |
+} |
+ |
const autofill::PasswordForm* PasswordManagerPresenter::GetPassword( |
size_t index) { |
if (index >= password_list_.size()) { |