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

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: Changed plaintext password retrieval to an event. Created 5 years, 7 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..2e0d6dd980e811ea73c2b0151fe81a9e0eb9d170 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,7 +61,9 @@ 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());
}
@@ -72,8 +81,17 @@ ExtensionFunction::ResponseAction
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,
+ content::WebContents::FromRenderViewHost(render_view_host())
+ ->GetTopLevelNativeWindow());
+ // 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