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

Side by Side Diff: content/child/webcrypto/webcrypto_impl.h

Issue 196513002: [webcrypto] Implement structured clone of keys (chromium-side). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase and add header for WebVector Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_CHILD_WEBCRYPTO_WEBCRYPTO_IMPL_H_ 5 #ifndef CONTENT_CHILD_WEBCRYPTO_WEBCRYPTO_IMPL_H_
6 #define CONTENT_CHILD_WEBCRYPTO_WEBCRYPTO_IMPL_H_ 6 #define CONTENT_CHILD_WEBCRYPTO_WEBCRYPTO_IMPL_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "third_party/WebKit/public/platform/WebCrypto.h" 10 #include "third_party/WebKit/public/platform/WebCrypto.h"
11 #include "third_party/WebKit/public/platform/WebCryptoAlgorithm.h" 11 #include "third_party/WebKit/public/platform/WebCryptoAlgorithm.h"
12 #include "third_party/WebKit/public/platform/WebVector.h"
12 13
13 namespace content { 14 namespace content {
14 15
15 // Wrapper around the blink WebCrypto asynchronous interface, which forwards to 16 // Wrapper around the blink WebCrypto asynchronous interface, which forwards to
16 // the synchronous platfrom (NSS or OpenSSL) implementation. 17 // the synchronous platfrom (NSS or OpenSSL) implementation.
17 // 18 //
18 // TODO(eroman): Post the synchronous work to a background thread. 19 // TODO(eroman): Post the synchronous work to a background thread.
19 class WebCryptoImpl : public blink::WebCrypto { 20 class WebCryptoImpl : public blink::WebCrypto {
20 public: 21 public:
21 WebCryptoImpl(); 22 WebCryptoImpl();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 const unsigned char* data, 62 const unsigned char* data,
62 unsigned int data_size, 63 unsigned int data_size,
63 blink::WebCryptoResult result); 64 blink::WebCryptoResult result);
64 // This method synchronously computes a digest for the given data, returning 65 // This method synchronously computes a digest for the given data, returning
65 // |true| if successful and |false| otherwise. 66 // |true| if successful and |false| otherwise.
66 virtual bool digestSynchronous(const blink::WebCryptoAlgorithmId algorithm_id, 67 virtual bool digestSynchronous(const blink::WebCryptoAlgorithmId algorithm_id,
67 const unsigned char* data, 68 const unsigned char* data,
68 unsigned int data_size, 69 unsigned int data_size,
69 blink::WebArrayBuffer& result); 70 blink::WebArrayBuffer& result);
70 71
72 virtual bool deserializeKeyForClone(
73 const blink::WebCryptoKeyAlgorithm& algorithm,
74 blink::WebCryptoKeyType type,
75 bool extractable,
76 blink::WebCryptoKeyUsageMask usages,
77 const unsigned char* key_data,
78 unsigned key_data_size,
79 blink::WebCryptoKey& key);
80
81 virtual bool serializeKeyForClone(const blink::WebCryptoKey& key,
82 blink::WebVector<unsigned char>& key_data);
83
71 private: 84 private:
72 DISALLOW_COPY_AND_ASSIGN(WebCryptoImpl); 85 DISALLOW_COPY_AND_ASSIGN(WebCryptoImpl);
73 }; 86 };
74 87
75 } // namespace content 88 } // namespace content
76 89
77 #endif // CONTENT_CHILD_WEBCRYPTO_WEBCRYPTO_IMPL_H_ 90 #endif // CONTENT_CHILD_WEBCRYPTO_WEBCRYPTO_IMPL_H_
OLDNEW
« no previous file with comments | « content/child/webcrypto/shared_crypto_unittest.cc ('k') | content/child/webcrypto/webcrypto_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698