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
...@@ -25,13 +25,20 @@ ...@@ -25,13 +25,20 @@
namespace extensions { namespace extensions {
//////////////////////////////////////////////////////////////////////////////// namespace {
// PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction
using ResponseAction = ExtensionFunction::ResponseAction;
PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction:: PasswordsPrivateDelegate* GetDelegate(
~PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction() {} content::BrowserContext* browser_context) {
return PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context,
/*create=*/true);
}
ExtensionFunction::ResponseAction } // namespace
// PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction
ResponseAction
PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction::Run() { PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction::Run() {
UMA_HISTOGRAM_ENUMERATION( UMA_HISTOGRAM_ENUMERATION(
"PasswordManager.ManagePasswordsReferrer", "PasswordManager.ManagePasswordsReferrer",
...@@ -48,21 +55,13 @@ PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction::Run() { ...@@ -48,21 +55,13 @@ PasswordsPrivateRecordPasswordsPageAccessInSettingsFunction::Run() {
return RespondNow(NoArguments()); return RespondNow(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateChangeSavedPasswordFunction // PasswordsPrivateChangeSavedPasswordFunction
ResponseAction PasswordsPrivateChangeSavedPasswordFunction::Run() {
auto parameters =
api::passwords_private::ChangeSavedPassword::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters);
PasswordsPrivateChangeSavedPasswordFunction:: GetDelegate(browser_context())
~PasswordsPrivateChangeSavedPasswordFunction() {}
ExtensionFunction::ResponseAction
PasswordsPrivateChangeSavedPasswordFunction::Run() {
std::unique_ptr<api::passwords_private::ChangeSavedPassword::Params>
parameters =
api::passwords_private::ChangeSavedPassword::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters.get());
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */)
->ChangeSavedPassword( ->ChangeSavedPassword(
parameters->id, base::UTF8ToUTF16(parameters->new_username), parameters->id, base::UTF8ToUTF16(parameters->new_username),
parameters->new_password ? base::make_optional(base::UTF8ToUTF16( parameters->new_password ? base::make_optional(base::UTF8ToUTF16(
...@@ -72,88 +71,44 @@ PasswordsPrivateChangeSavedPasswordFunction::Run() { ...@@ -72,88 +71,44 @@ PasswordsPrivateChangeSavedPasswordFunction::Run() {
return RespondNow(NoArguments()); return RespondNow(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateRemoveSavedPasswordFunction // PasswordsPrivateRemoveSavedPasswordFunction
ResponseAction PasswordsPrivateRemoveSavedPasswordFunction::Run() {
PasswordsPrivateRemoveSavedPasswordFunction:: auto parameters =
~PasswordsPrivateRemoveSavedPasswordFunction() {} api::passwords_private::RemoveSavedPassword::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters);
ExtensionFunction::ResponseAction GetDelegate(browser_context())->RemoveSavedPassword(parameters->id);
PasswordsPrivateRemoveSavedPasswordFunction::Run() {
std::unique_ptr<api::passwords_private::RemoveSavedPassword::Params>
parameters =
api::passwords_private::RemoveSavedPassword::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters.get());
PasswordsPrivateDelegate* delegate =
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
delegate->RemoveSavedPassword(parameters->id);
return RespondNow(NoArguments()); return RespondNow(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateRemovePasswordExceptionFunction // PasswordsPrivateRemovePasswordExceptionFunction
ResponseAction PasswordsPrivateRemovePasswordExceptionFunction::Run() {
PasswordsPrivateRemovePasswordExceptionFunction:: auto parameters =
~PasswordsPrivateRemovePasswordExceptionFunction() {} api::passwords_private::RemovePasswordException::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters);
ExtensionFunction::ResponseAction GetDelegate(browser_context())->RemovePasswordException(parameters->id);
PasswordsPrivateRemovePasswordExceptionFunction::Run() {
std::unique_ptr<api::passwords_private::RemovePasswordException::Params>
parameters =
api::passwords_private::RemovePasswordException::Params::Create(
*args_);
EXTENSION_FUNCTION_VALIDATE(parameters.get());
PasswordsPrivateDelegate* delegate =
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
delegate->RemovePasswordException(parameters->id);
return RespondNow(NoArguments()); return RespondNow(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction // PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction
ResponseAction
PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction::
~PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction() {}
ExtensionFunction::ResponseAction
PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction::Run() { PasswordsPrivateUndoRemoveSavedPasswordOrExceptionFunction::Run() {
PasswordsPrivateDelegate* delegate = GetDelegate(browser_context())->UndoRemoveSavedPasswordOrException();
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
delegate->UndoRemoveSavedPasswordOrException();
return RespondNow(NoArguments()); return RespondNow(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateRequestPlaintextPasswordFunction // PasswordsPrivateRequestPlaintextPasswordFunction
ResponseAction PasswordsPrivateRequestPlaintextPasswordFunction::Run() {
PasswordsPrivateRequestPlaintextPasswordFunction:: auto parameters =
~PasswordsPrivateRequestPlaintextPasswordFunction() {} api::passwords_private::RequestPlaintextPassword::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters);
ExtensionFunction::ResponseAction
PasswordsPrivateRequestPlaintextPasswordFunction::Run() { GetDelegate(browser_context())
std::unique_ptr<api::passwords_private::RequestPlaintextPassword::Params> ->RequestShowPassword(
parameters = parameters->id,
api::passwords_private::RequestPlaintextPassword::Params::Create( base::BindOnce(
*args_); &PasswordsPrivateRequestPlaintextPasswordFunction::GotPassword,
EXTENSION_FUNCTION_VALIDATE(parameters.get()); this),
GetSenderWebContents());
PasswordsPrivateDelegate* delegate =
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
delegate->RequestShowPassword(
parameters->id,
base::BindOnce(
&PasswordsPrivateRequestPlaintextPasswordFunction::GotPassword, this),
GetSenderWebContents());
// GotPassword() might respond before we reach this point. // GotPassword() might respond before we reach this point.
return did_respond() ? AlreadyResponded() : RespondLater(); return did_respond() ? AlreadyResponded() : RespondLater();
...@@ -167,14 +122,8 @@ void PasswordsPrivateRequestPlaintextPasswordFunction::GotPassword( ...@@ -167,14 +122,8 @@ void PasswordsPrivateRequestPlaintextPasswordFunction::GotPassword(
Respond(NoArguments()); Respond(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateGetSavedPasswordListFunction // PasswordsPrivateGetSavedPasswordListFunction
ResponseAction PasswordsPrivateGetSavedPasswordListFunction::Run() {
PasswordsPrivateGetSavedPasswordListFunction::
~PasswordsPrivateGetSavedPasswordListFunction() {}
ExtensionFunction::ResponseAction
PasswordsPrivateGetSavedPasswordListFunction::Run() {
// GetList() can immediately call GotList() (which would Respond() before // GetList() can immediately call GotList() (which would Respond() before
// RespondLater()). So we post a task to preserve order. // RespondLater()). So we post a task to preserve order.
base::ThreadTaskRunnerHandle::Get()->PostTask( base::ThreadTaskRunnerHandle::Get()->PostTask(
...@@ -185,11 +134,9 @@ PasswordsPrivateGetSavedPasswordListFunction::Run() { ...@@ -185,11 +134,9 @@ PasswordsPrivateGetSavedPasswordListFunction::Run() {
} }
void PasswordsPrivateGetSavedPasswordListFunction::GetList() { void PasswordsPrivateGetSavedPasswordListFunction::GetList() {
PasswordsPrivateDelegate* delegate = GetDelegate(browser_context())
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), ->GetSavedPasswordsList(base::BindOnce(
true /* create */); &PasswordsPrivateGetSavedPasswordListFunction::GotList, this));
delegate->GetSavedPasswordsList(base::BindOnce(
&PasswordsPrivateGetSavedPasswordListFunction::GotList, this));
} }
void PasswordsPrivateGetSavedPasswordListFunction::GotList( void PasswordsPrivateGetSavedPasswordListFunction::GotList(
...@@ -198,14 +145,8 @@ void PasswordsPrivateGetSavedPasswordListFunction::GotList( ...@@ -198,14 +145,8 @@ void PasswordsPrivateGetSavedPasswordListFunction::GotList(
api::passwords_private::GetSavedPasswordList::Results::Create(list))); api::passwords_private::GetSavedPasswordList::Results::Create(list)));
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateGetPasswordExceptionListFunction // PasswordsPrivateGetPasswordExceptionListFunction
ResponseAction PasswordsPrivateGetPasswordExceptionListFunction::Run() {
PasswordsPrivateGetPasswordExceptionListFunction::
~PasswordsPrivateGetPasswordExceptionListFunction() {}
ExtensionFunction::ResponseAction
PasswordsPrivateGetPasswordExceptionListFunction::Run() {
// GetList() can immediately call GotList() (which would Respond() before // GetList() can immediately call GotList() (which would Respond() before
// RespondLater()). So we post a task to preserve order. // RespondLater()). So we post a task to preserve order.
base::ThreadTaskRunnerHandle::Get()->PostTask( base::ThreadTaskRunnerHandle::Get()->PostTask(
...@@ -216,11 +157,9 @@ PasswordsPrivateGetPasswordExceptionListFunction::Run() { ...@@ -216,11 +157,9 @@ PasswordsPrivateGetPasswordExceptionListFunction::Run() {
} }
void PasswordsPrivateGetPasswordExceptionListFunction::GetList() { void PasswordsPrivateGetPasswordExceptionListFunction::GetList() {
PasswordsPrivateDelegate* delegate = GetDelegate(browser_context())
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), ->GetPasswordExceptionsList(base::BindOnce(
true /* create */); &PasswordsPrivateGetPasswordExceptionListFunction::GotList, this));
delegate->GetPasswordExceptionsList(base::Bind(
&PasswordsPrivateGetPasswordExceptionListFunction::GotList, this));
} }
void PasswordsPrivateGetPasswordExceptionListFunction::GotList( void PasswordsPrivateGetPasswordExceptionListFunction::GotList(
...@@ -230,37 +169,20 @@ void PasswordsPrivateGetPasswordExceptionListFunction::GotList( ...@@ -230,37 +169,20 @@ void PasswordsPrivateGetPasswordExceptionListFunction::GotList(
entries))); entries)));
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateImportPasswordsFunction // PasswordsPrivateImportPasswordsFunction
ResponseAction PasswordsPrivateImportPasswordsFunction::Run() {
PasswordsPrivateImportPasswordsFunction:: GetDelegate(browser_context())->ImportPasswords(GetSenderWebContents());
~PasswordsPrivateImportPasswordsFunction() {}
ExtensionFunction::ResponseAction
PasswordsPrivateImportPasswordsFunction::Run() {
PasswordsPrivateDelegate* delegate =
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
delegate->ImportPasswords(GetSenderWebContents());
return RespondNow(NoArguments()); return RespondNow(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateExportPasswordsFunction // PasswordsPrivateExportPasswordsFunction
ResponseAction PasswordsPrivateExportPasswordsFunction::Run() {
PasswordsPrivateExportPasswordsFunction:: GetDelegate(browser_context())
~PasswordsPrivateExportPasswordsFunction() {} ->ExportPasswords(
base::BindOnce(
ExtensionFunction::ResponseAction &PasswordsPrivateExportPasswordsFunction::ExportRequestCompleted,
PasswordsPrivateExportPasswordsFunction::Run() { this),
PasswordsPrivateDelegate* delegate = GetSenderWebContents());
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
delegate->ExportPasswords(
base::BindOnce(
&PasswordsPrivateExportPasswordsFunction::ExportRequestCompleted,
this),
GetSenderWebContents());
return RespondLater(); return RespondLater();
} }
...@@ -272,34 +194,17 @@ void PasswordsPrivateExportPasswordsFunction::ExportRequestCompleted( ...@@ -272,34 +194,17 @@ void PasswordsPrivateExportPasswordsFunction::ExportRequestCompleted(
Error(error); Error(error);
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateCancelExportPasswordsFunction // PasswordsPrivateCancelExportPasswordsFunction
ResponseAction PasswordsPrivateCancelExportPasswordsFunction::Run() {
PasswordsPrivateCancelExportPasswordsFunction:: GetDelegate(browser_context())->CancelExportPasswords();
~PasswordsPrivateCancelExportPasswordsFunction() {}
ExtensionFunction::ResponseAction
PasswordsPrivateCancelExportPasswordsFunction::Run() {
PasswordsPrivateDelegate* delegate =
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
delegate->CancelExportPasswords();
return RespondNow(NoArguments()); return RespondNow(NoArguments());
} }
////////////////////////////////////////////////////////////////////////////////
// PasswordsPrivateRequestExportProgressStatusFunction // PasswordsPrivateRequestExportProgressStatusFunction
ResponseAction PasswordsPrivateRequestExportProgressStatusFunction::Run() {
PasswordsPrivateRequestExportProgressStatusFunction:: return RespondNow(ArgumentList(
~PasswordsPrivateRequestExportProgressStatusFunction() {} api::passwords_private::RequestExportProgressStatus::Results::Create(
GetDelegate(browser_context())->GetExportProgressStatus())));
ExtensionFunction::ResponseAction
PasswordsPrivateRequestExportProgressStatusFunction::Run() {
PasswordsPrivateDelegate* delegate =
PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(),
true /* create */);
return RespondNow(OneArgument(std::make_unique<base::Value>(
ToString(delegate->GetExportProgressStatus()))));
} }
} // namespace extensions } // namespace extensions
...@@ -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