Index: content/child/webcrypto/generate_key_result.cc |
diff --git a/content/child/webcrypto/generate_key_result.cc b/content/child/webcrypto/generate_key_result.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6081304587a6ee8e973014c09b3ec463b5955a07 |
--- /dev/null |
+++ b/content/child/webcrypto/generate_key_result.cc |
@@ -0,0 +1,75 @@ |
+// 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 "content/child/webcrypto/generate_key_result.h" |
+ |
+#include "base/logging.h" |
+ |
+namespace content { |
+ |
+namespace webcrypto { |
+ |
+GenerateKeyResult::GenerateKeyResult() |
+ : type_(TYPE_NULL), |
+ secret_key_(blink::WebCryptoKey::createNull()), |
+ public_key_(blink::WebCryptoKey::createNull()), |
+ private_key_(blink::WebCryptoKey::createNull()) { |
+} |
+ |
+GenerateKeyResult::Type GenerateKeyResult::type() const { |
+ return type_; |
+} |
+ |
+void GenerateKeyResult::set_type(Type type) { |
+ type_ = type; |
+} |
+ |
+const blink::WebCryptoKey& GenerateKeyResult::secret_key() const { |
+ DCHECK_EQ(TYPE_SECRET_KEY, type_); |
+ return secret_key_; |
+} |
+ |
+const blink::WebCryptoKey& GenerateKeyResult::public_key() const { |
+ DCHECK_EQ(TYPE_PUBLIC_PRIVATE_KEY_PAIR, type_); |
+ return public_key_; |
+} |
+ |
+const blink::WebCryptoKey& GenerateKeyResult::private_key() const { |
+ DCHECK_EQ(TYPE_PUBLIC_PRIVATE_KEY_PAIR, type_); |
+ return private_key_; |
+} |
+ |
+blink::WebCryptoKey* GenerateKeyResult::mutable_secret_key() { |
+ DCHECK_EQ(TYPE_SECRET_KEY, type_); |
+ return &secret_key_; |
+} |
+ |
+blink::WebCryptoKey* GenerateKeyResult::mutable_public_key() { |
+ DCHECK_EQ(TYPE_PUBLIC_PRIVATE_KEY_PAIR, type_); |
+ return &public_key_; |
+ ; |
Ryan Sleevi
2014/10/17 21:01:58
del
eroman
2014/10/17 22:43:12
Done.
|
+} |
+ |
+blink::WebCryptoKey* GenerateKeyResult::mutable_private_key() { |
+ DCHECK_EQ(TYPE_PUBLIC_PRIVATE_KEY_PAIR, type_); |
+ return &private_key_; |
+} |
+ |
+void GenerateKeyResult::Complete(blink::WebCryptoResult* out) const { |
+ switch (type_) { |
+ case TYPE_NULL: |
+ NOTREACHED(); |
+ break; |
+ case TYPE_SECRET_KEY: |
+ out->completeWithKey(secret_key()); |
+ break; |
+ case TYPE_PUBLIC_PRIVATE_KEY_PAIR: |
+ out->completeWithKeyPair(public_key(), private_key()); |
+ break; |
+ } |
+} |
+ |
+} // namespace webcrypto |
+ |
+} // namespace content |