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

Unified Diff: chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc

Issue 214863002: Extension API enterprise.platformKeys. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments. Splitted custom_binding, added comments... Created 6 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/enterprise_platform_keys/enterprise_platform_keys_api.cc
diff --git a/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc
new file mode 100644
index 0000000000000000000000000000000000000000..d5029cce0c50ea51ad8923ade97ebb2086ccf69d
--- /dev/null
+++ b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc
@@ -0,0 +1,135 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.h"
+
+#include "base/logging.h"
+#include "chrome/browser/extensions/api/enterprise_platform_keys/token_method_nss.h"
+#include "chrome/common/extensions/api/enterprise_platform_keys.h"
+#include "chrome/common/extensions/api/enterprise_platform_keys_internal.h"
+
+namespace {
+const char kErrorInvalidToken[] = "Token is invalid.";
+}
+
+namespace extensions {
+
+namespace enterprise_platform_keys {
+
+namespace impl = nss;
+
+namespace api_epk = api::enterprise_platform_keys;
+namespace api_epki = api::enterprise_platform_keys_internal;
+
+const char kTokenIdUser[] = "user";
+
+TokenMethodExtensionFunction::TokenMethodExtensionFunction() {
+}
+
+TokenMethodExtensionFunction::~TokenMethodExtensionFunction() {
+}
+
+void TokenMethodExtensionFunction::SendResponse(bool success) {
+ ChromeAsyncExtensionFunction::SendResponse(success);
+}
+
+void TokenMethodExtensionFunction::SetResults(
+ scoped_ptr<base::ListValue> results) {
+ results_ = results.Pass();
+}
+
+bool TokenMethodExtensionFunction::ValidateToken(const std::string& token_id) {
+ // For now, the user token is the only valid one.
+ if (token_id != kTokenIdUser) {
+ SetError(kErrorInvalidToken);
+ return false;
+ }
+ return true;
+}
+
+Generate::Generate() {
+}
+Generate::~Generate() {
+}
+
+bool Generate::RunImpl() {
+ scoped_ptr<api_epki::GenerateKey::Params> params(
+ api_epki::GenerateKey::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id));
+ impl::Generate(this, params.Pass());
+ return true;
+}
+
+Sign::Sign() {
+}
+
+Sign::~Sign() {
+}
+
+bool Sign::RunImpl() {
+ scoped_ptr<api_epki::Sign::Params> params(
+ api_epki::Sign::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id));
+ impl::Sign(this, params.Pass());
+ return true;
+}
+
+GetCerts::GetCerts() {
+}
+
+GetCerts::~GetCerts() {
+}
+
+bool GetCerts::RunImpl() {
+ scoped_ptr<api_epk::GetCertificates::Params> params(
+ api_epk::GetCertificates::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id));
+ impl::GetCerts(this, params.Pass());
+ return true;
+}
+
+ImportCert::ImportCert() {
+}
+
+ImportCert::~ImportCert() {
+}
+
+bool ImportCert::RunImpl() {
+ scoped_ptr<api_epk::ImportCertificate::Params> params(
+ api_epk::ImportCertificate::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id));
+ impl::Import(this, params.Pass());
+ return true;
+}
+
+RemoveCert::RemoveCert() {
+}
+
+RemoveCert::~RemoveCert() {
+}
+
+bool RemoveCert::RunImpl() {
+ scoped_ptr<api_epk::RemoveCertificate::Params> params(
+ api_epk::RemoveCertificate::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id));
+ impl::Remove(this, params.Pass());
+ return true;
+}
+
+GetTokens::~GetTokens() {
+}
+
+bool GetTokens::RunImpl() {
+ EXTENSION_FUNCTION_VALIDATE(args_->empty());
+
+ std::vector<std::string> token_ids;
+ token_ids.push_back(kTokenIdUser);
+ results_ = api_epki::GetTokens::Results::Create(token_ids);
+ SendResponse(true);
+ return true;
not at google - send to devlin 2014/05/05 21:09:24 overriding ExtensionFunction::Run rather than RunI
pneubeck (no reviews) 2014/05/06 14:07:21 Done.
+}
+
+} // namespace enterprise_platform_keys
+
+} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698