Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(504)

Unified Diff: chrome/browser/extensions/api/passwords_private/passwords_private_api.cc

Issue 1142693003: Implement the chrome.passwordsPrivate API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: stevenjb comment. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/passwords_private/passwords_private_api.cc
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc
index ce1128ab807c846af805e19541329ea36a7b229d..11f4926a56aaf51e154385ce8668d1929359a063 100644
--- a/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc
+++ b/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc
@@ -5,7 +5,10 @@
#include "chrome/browser/extensions/api/passwords_private/passwords_private_api.h"
#include "base/values.h"
+#include "chrome/browser/extensions/api/passwords_private/passwords_private_delegate_factory.h"
#include "chrome/common/extensions/api/passwords_private.h"
+#include "components/password_manager/core/common/experiments.h"
+#include "content/public/browser/web_contents.h"
#include "extensions/browser/extension_function_registry.h"
namespace extensions {
@@ -18,9 +21,9 @@ PasswordsPrivateCanPasswordAccountBeManagedFunction::
ExtensionFunction::ResponseAction
PasswordsPrivateCanPasswordAccountBeManagedFunction::Run() {
- // TODO(khorimoto): Implement.
-
- return RespondNow(NoArguments());
+ scoped_ptr<base::FundamentalValue> visible(new base::FundamentalValue(
+ password_manager::ManageAccountLinkExperimentEnabled()));
+ return RespondNow(OneArgument(visible.Pass()));
}
////////////////////////////////////////////////////////////////////////////////
@@ -36,7 +39,11 @@ ExtensionFunction::ResponseAction
Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters.get());
- // TODO(khorimoto): Implement.
+ PasswordsPrivateDelegate* delegate =
+ PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context());
+ delegate->RemoveSavedPassword(
+ parameters->login_pair.origin_url,
+ parameters->login_pair.username);
return RespondNow(NoArguments());
}
@@ -54,26 +61,36 @@ ExtensionFunction::ResponseAction
Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters.get());
- // TODO(khorimoto): Implement.
+ PasswordsPrivateDelegate* delegate =
+ PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context());
+ delegate->RemovePasswordException(parameters->exception_url);
return RespondNow(NoArguments());
}
////////////////////////////////////////////////////////////////////////////////
-// PasswordsPrivateGetPlaintextPasswordFunction
+// PasswordsPrivateRequestPlaintextPasswordFunction
-PasswordsPrivateGetPlaintextPasswordFunction::
- ~PasswordsPrivateGetPlaintextPasswordFunction() {}
+PasswordsPrivateRequestPlaintextPasswordFunction::
+ ~PasswordsPrivateRequestPlaintextPasswordFunction() {}
ExtensionFunction::ResponseAction
- PasswordsPrivateGetPlaintextPasswordFunction::Run() {
- scoped_ptr<api::passwords_private::GetPlaintextPassword::Params>
- parameters = api::passwords_private::GetPlaintextPassword::Params::
+ PasswordsPrivateRequestPlaintextPasswordFunction::Run() {
+ scoped_ptr<api::passwords_private::RequestPlaintextPassword::Params>
+ parameters = api::passwords_private::RequestPlaintextPassword::Params::
Create(*args_);
EXTENSION_FUNCTION_VALIDATE(parameters.get());
- // TODO(khorimoto): Implement.
+ PasswordsPrivateDelegate* delegate =
+ PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context());
+
+ delegate->RequestShowPassword(
+ parameters->login_pair.origin_url,
+ parameters->login_pair.username,
+ render_view_host());
+ // No response given from this API function; instead, listeners wait for the
+ // chrome.passwordsPrivate.onPlaintextPasswordRetrieved event to fire.
return RespondNow(NoArguments());
}

Powered by Google App Engine
This is Rietveld 408576698