Commit 2bad7cee authored by Jan Wilken Dörrie's avatar Jan Wilken Dörrie Committed by Commit Bot

[Passwords] Clean-Up implementation of passwordsPrivate API

This change cleans-up the implementation of the chrome.passwordsPrivate
API by making use of modern language features and introducing small
helpers to reduce redundancy.

Bug: 1047726
Change-Id: I2a478bd197b0a6677876f423922c179205952e3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036171
Auto-Submit: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Vasilii Sukhanov <vasilii@chromium.org>
Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#738131}
parent 5be12bf8
...@@ -7,11 +7,9 @@ ...@@ -7,11 +7,9 @@
#include <string> #include <string>
#include "base/macros.h"
#include "base/optional.h" #include "base/optional.h"
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "chrome/browser/extensions/api/passwords_private/passwords_private_delegate.h" #include "chrome/browser/extensions/api/passwords_private/passwords_private_delegate.h"
#include "chrome/browser/ui/passwords/settings/password_manager_presenter.h"
#include "extensions/browser/extension_function.h" #include "extensions/browser/extension_function.h"
namespace extensions { namespace extensions {
...@@ -19,117 +17,93 @@ namespace extensions { ...@@ -19,117 +17,93 @@ namespace extensions {
class PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction class PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction
: public ExtensionFunction { : public ExtensionFunction {
public: public:
PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction() {}
DECLARE_EXTENSION_FUNCTION( DECLARE_EXTENSION_FUNCTION(
"passwordsPrivate.recordPasswordsPageAccessInSettings", "passwordsPrivate.recordPasswordsPageAccessInSettings",
PASSWORDSPRIVATE_RECORDPASSWORDSPAGEACCESSINSETTINGS) PASSWORDSPRIVATE_RECORDPASSWORDSPAGEACCESSINSETTINGS)
protected: protected:
~PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction() override; ~PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction() override =
default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(
PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction);
}; };
class PasswordsPrivateChangeSavedPasswordFunction : public ExtensionFunction { class PasswordsPrivateChangeSavedPasswordFunction : public ExtensionFunction {
public: public:
PasswordsPrivateChangeSavedPasswordFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.changeSavedPassword", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.changeSavedPassword",
PASSWORDSPRIVATE_CHANGESAVEDPASSWORD) PASSWORDSPRIVATE_CHANGESAVEDPASSWORD)
protected: protected:
~PasswordsPrivateChangeSavedPasswordFunction() override; ~PasswordsPrivateChangeSavedPasswordFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateChangeSavedPasswordFunction);
}; };
class PasswordsPrivateRemoveSavedPasswordFunction : public ExtensionFunction { class PasswordsPrivateRemoveSavedPasswordFunction : public ExtensionFunction {
public: public:
PasswordsPrivateRemoveSavedPasswordFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.removeSavedPassword", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.removeSavedPassword",
PASSWORDSPRIVATE_REMOVESAVEDPASSWORD) PASSWORDSPRIVATE_REMOVESAVEDPASSWORD)
protected: protected:
~PasswordsPrivateRemoveSavedPasswordFunction() override; ~PasswordsPrivateRemoveSavedPasswordFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateRemoveSavedPasswordFunction);
}; };
class PasswordsPrivateRemovePasswordExceptionFunction class PasswordsPrivateRemovePasswordExceptionFunction
: public ExtensionFunction { : public ExtensionFunction {
public: public:
PasswordsPrivateRemovePasswordExceptionFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.removePasswordException", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.removePasswordException",
PASSWORDSPRIVATE_REMOVEPASSWORDEXCEPTION) PASSWORDSPRIVATE_REMOVEPASSWORDEXCEPTION)
protected: protected:
~PasswordsPrivateRemovePasswordExceptionFunction() override; ~PasswordsPrivateRemovePasswordExceptionFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateRemovePasswordExceptionFunction);
}; };
class PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction class PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction
: public ExtensionFunction { : public ExtensionFunction {
public: public:
PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction() {}
DECLARE_EXTENSION_FUNCTION( DECLARE_EXTENSION_FUNCTION(
"passwordsPrivate.undoRemoveSavedPasswordOrException", "passwordsPrivate.undoRemoveSavedPasswordOrException",
PASSWORDSPRIVATE_UNDOREMOVESAVEDPASSWORDOREXCEPTION) PASSWORDSPRIVATE_UNDOREMOVESAVEDPASSWORDOREXCEPTION)
protected: protected:
~PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction() override; ~PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction() override =
default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(
PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction);
}; };
class PasswordsPrivateRequestPlaintextPasswordFunction class PasswordsPrivateRequestPlaintextPasswordFunction
: public ExtensionFunction { : public ExtensionFunction {
public: public:
PasswordsPrivateRequestPlaintextPasswordFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.requestPlaintextPassword", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.requestPlaintextPassword",
PASSWORDSPRIVATE_REQUESTPLAINTEXTPASSWORD) PASSWORDSPRIVATE_REQUESTPLAINTEXTPASSWORD)
protected: protected:
~PasswordsPrivateRequestPlaintextPasswordFunction() override; ~PasswordsPrivateRequestPlaintextPasswordFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private: private:
void GotPassword(base::Optional<base::string16> password); void GotPassword(base::Optional<base::string16> password);
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateRequestPlaintextPasswordFunction);
}; };
class PasswordsPrivateGetSavedPasswordListFunction : public ExtensionFunction { class PasswordsPrivateGetSavedPasswordListFunction : public ExtensionFunction {
public: public:
PasswordsPrivateGetSavedPasswordListFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.getSavedPasswordList", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.getSavedPasswordList",
PASSWORDSPRIVATE_GETSAVEDPASSWORDLIST) PASSWORDSPRIVATE_GETSAVEDPASSWORDLIST)
protected: protected:
~PasswordsPrivateGetSavedPasswordListFunction() override; ~PasswordsPrivateGetSavedPasswordListFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
...@@ -137,19 +111,16 @@ class PasswordsPrivateGetSavedPasswordListFunction : public ExtensionFunction { ...@@ -137,19 +111,16 @@ class PasswordsPrivateGetSavedPasswordListFunction : public ExtensionFunction {
private: private:
void GetList(); void GetList();
void GotList(const PasswordsPrivateDelegate::UiEntries& entries); void GotList(const PasswordsPrivateDelegate::UiEntries& entries);
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateGetSavedPasswordListFunction);
}; };
class PasswordsPrivateGetPasswordExceptionListFunction class PasswordsPrivateGetPasswordExceptionListFunction
: public ExtensionFunction { : public ExtensionFunction {
public: public:
PasswordsPrivateGetPasswordExceptionListFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.getPasswordExceptionList", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.getPasswordExceptionList",
PASSWORDSPRIVATE_GETPASSWORDEXCEPTIONLIST) PASSWORDSPRIVATE_GETPASSWORDEXCEPTIONLIST)
protected: protected:
~PasswordsPrivateGetPasswordExceptionListFunction() override; ~PasswordsPrivateGetPasswordExceptionListFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
...@@ -157,75 +128,58 @@ class PasswordsPrivateGetPasswordExceptionListFunction ...@@ -157,75 +128,58 @@ class PasswordsPrivateGetPasswordExceptionListFunction
private: private:
void GetList(); void GetList();
void GotList(const PasswordsPrivateDelegate::ExceptionEntries& entries); void GotList(const PasswordsPrivateDelegate::ExceptionEntries& entries);
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateGetPasswordExceptionListFunction);
}; };
class PasswordsPrivateImportPasswordsFunction : public ExtensionFunction { class PasswordsPrivateImportPasswordsFunction : public ExtensionFunction {
public: public:
PasswordsPrivateImportPasswordsFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.importPasswords", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.importPasswords",
PASSWORDSPRIVATE_IMPORTPASSWORDS) PASSWORDSPRIVATE_IMPORTPASSWORDS)
protected: protected:
~PasswordsPrivateImportPasswordsFunction() override; ~PasswordsPrivateImportPasswordsFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateImportPasswordsFunction);
}; };
class PasswordsPrivateExportPasswordsFunction : public ExtensionFunction { class PasswordsPrivateExportPasswordsFunction : public ExtensionFunction {
public: public:
PasswordsPrivateExportPasswordsFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.exportPasswords", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.exportPasswords",
PASSWORDSPRIVATE_EXPORTPASSWORDS) PASSWORDSPRIVATE_EXPORTPASSWORDS)
protected: protected:
~PasswordsPrivateExportPasswordsFunction() override; ~PasswordsPrivateExportPasswordsFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private: private:
void ExportRequestCompleted(const std::string& error); void ExportRequestCompleted(const std::string& error);
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateExportPasswordsFunction);
}; };
class PasswordsPrivateCancelExportPasswordsFunction : public ExtensionFunction { class PasswordsPrivateCancelExportPasswordsFunction : public ExtensionFunction {
public: public:
PasswordsPrivateCancelExportPasswordsFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.cancelExportPasswords", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.cancelExportPasswords",
PASSWORDSPRIVATE_CANCELEXPORTPASSWORDS) PASSWORDSPRIVATE_CANCELEXPORTPASSWORDS)
protected: protected:
~PasswordsPrivateCancelExportPasswordsFunction() override; ~PasswordsPrivateCancelExportPasswordsFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateCancelExportPasswordsFunction);
}; };
class PasswordsPrivateRequestExportProgressStatusFunction class PasswordsPrivateRequestExportProgressStatusFunction
: public ExtensionFunction { : public ExtensionFunction {
public: public:
PasswordsPrivateRequestExportProgressStatusFunction() {}
DECLARE_EXTENSION_FUNCTION("passwordsPrivate.requestExportProgressStatus", DECLARE_EXTENSION_FUNCTION("passwordsPrivate.requestExportProgressStatus",
PASSWORDSPRIVATE_REQUESTEXPORTPROGRESSSTATUS) PASSWORDSPRIVATE_REQUESTEXPORTPROGRESSSTATUS)
protected: protected:
~PasswordsPrivateRequestExportProgressStatusFunction() override; ~PasswordsPrivateRequestExportProgressStatusFunction() override = default;
// ExtensionFunction overrides. // ExtensionFunction overrides.
ResponseAction Run() override; ResponseAction Run() override;
private:
DISALLOW_COPY_AND_ASSIGN(PasswordsPrivateRequestExportProgressStatusFunction);
}; };
} // namespace extensions } // namespace extensions
......
...@@ -73,9 +73,8 @@ class TestDelegate : public PasswordsPrivateDelegate { ...@@ -73,9 +73,8 @@ class TestDelegate : public PasswordsPrivateDelegate {
std::move(callback).Run(current_entries_); std::move(callback).Run(current_entries_);
} }
void GetPasswordExceptionsList( void GetPasswordExceptionsList(ExceptionEntriesCallback callback) override {
const ExceptionEntriesCallback& callback) override { std::move(callback).Run(current_exceptions_);
callback.Run(current_exceptions_);
} }
void ChangeSavedPassword(int id, void ChangeSavedPassword(int id,
......
...@@ -45,9 +45,8 @@ class PasswordsPrivateDelegate : public KeyedService { ...@@ -45,9 +45,8 @@ class PasswordsPrivateDelegate : public KeyedService {
// Gets the password exceptions list. // Gets the password exceptions list.
using ExceptionEntries = std::vector<api::passwords_private::ExceptionEntry>; using ExceptionEntries = std::vector<api::passwords_private::ExceptionEntry>;
using ExceptionEntriesCallback = using ExceptionEntriesCallback =
base::Callback<void(const ExceptionEntries&)>; base::OnceCallback<void(const ExceptionEntries&)>;
virtual void GetPasswordExceptionsList( virtual void GetPasswordExceptionsList(ExceptionEntriesCallback callback) = 0;
const ExceptionEntriesCallback& callback) = 0;
// Changes the username and password corresponding to |id|. // Changes the username and password corresponding to |id|.
// |id|: The id for the password entry being updated. // |id|: The id for the password entry being updated.
......
...@@ -131,11 +131,11 @@ void PasswordsPrivateDelegateImpl::SendPasswordExceptionsList() { ...@@ -131,11 +131,11 @@ void PasswordsPrivateDelegateImpl::SendPasswordExceptionsList() {
} }
void PasswordsPrivateDelegateImpl::GetPasswordExceptionsList( void PasswordsPrivateDelegateImpl::GetPasswordExceptionsList(
const ExceptionEntriesCallback& callback) { ExceptionEntriesCallback callback) {
if (current_exceptions_initialized_) if (current_exceptions_initialized_)
callback.Run(current_exceptions_); std::move(callback).Run(current_exceptions_);
else else
get_password_exception_list_callbacks_.push_back(callback); get_password_exception_list_callbacks_.push_back(std::move(callback));
} }
void PasswordsPrivateDelegateImpl::ChangeSavedPassword( void PasswordsPrivateDelegateImpl::ChangeSavedPassword(
...@@ -306,8 +306,8 @@ void PasswordsPrivateDelegateImpl::SetPasswordExceptionList( ...@@ -306,8 +306,8 @@ void PasswordsPrivateDelegateImpl::SetPasswordExceptionList(
current_exceptions_initialized_ = true; current_exceptions_initialized_ = true;
InitializeIfNecessary(); InitializeIfNecessary();
for (const auto& callback : get_password_exception_list_callbacks_) for (auto& callback : get_password_exception_list_callbacks_)
callback.Run(current_exceptions_); std::move(callback).Run(current_exceptions_);
get_password_exception_list_callbacks_.clear(); get_password_exception_list_callbacks_.clear();
} }
......
...@@ -45,8 +45,7 @@ class PasswordsPrivateDelegateImpl : public PasswordsPrivateDelegate, ...@@ -45,8 +45,7 @@ class PasswordsPrivateDelegateImpl : public PasswordsPrivateDelegate,
// PasswordsPrivateDelegate implementation. // PasswordsPrivateDelegate implementation.
void GetSavedPasswordsList(UiEntriesCallback callback) override; void GetSavedPasswordsList(UiEntriesCallback callback) override;
void GetPasswordExceptionsList( void GetPasswordExceptionsList(ExceptionEntriesCallback callback) override;
const ExceptionEntriesCallback& callback) override;
void ChangeSavedPassword( void ChangeSavedPassword(
int id, int id,
base::string16 new_username, base::string16 new_username,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment