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

Side by Side Diff: public/platform/WebCrypto.h

Issue 21561004: WebCrypto: Add crypto.subtle.verify() to the platform interfaces. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add missing file common.js Created 7 years, 4 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
« no previous file with comments | « Tools/DumpRenderTree/chromium/TestRunner/src/MockWebCrypto.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 // 82 //
83 // - Blink calls cryptoOperation->abort() 83 // - Blink calls cryptoOperation->abort()
84 // OR 84 // OR
85 // - Embedder calls result.completeWithXXX() 85 // - Embedder calls result.completeWithXXX()
86 // 86 //
87 // Once the cryptoOperation is no longer "in progress" the embedder is 87 // Once the cryptoOperation is no longer "in progress" the embedder is
88 // responsible for freeing the cryptoOperation. 88 // responsible for freeing the cryptoOperation.
89 virtual void encrypt(const WebCryptoAlgorithm&, const WebCryptoKey&, WebCryp toOperationResult&) { WEBKIT_ASSERT_NOT_REACHED(); } 89 virtual void encrypt(const WebCryptoAlgorithm&, const WebCryptoKey&, WebCryp toOperationResult&) { WEBKIT_ASSERT_NOT_REACHED(); }
90 virtual void decrypt(const WebCryptoAlgorithm&, const WebCryptoKey&, WebCryp toOperationResult&) { WEBKIT_ASSERT_NOT_REACHED(); } 90 virtual void decrypt(const WebCryptoAlgorithm&, const WebCryptoKey&, WebCryp toOperationResult&) { WEBKIT_ASSERT_NOT_REACHED(); }
91 virtual void sign(const WebCryptoAlgorithm&, const WebCryptoKey&, WebCryptoO perationResult&) { WEBKIT_ASSERT_NOT_REACHED(); } 91 virtual void sign(const WebCryptoAlgorithm&, const WebCryptoKey&, WebCryptoO perationResult&) { WEBKIT_ASSERT_NOT_REACHED(); }
92 virtual void verifySignature(const WebCryptoAlgorithm&, const WebCryptoKey&, const unsigned char* signature, size_t, WebCryptoOperationResult&) { WEBKIT_ASS ERT_NOT_REACHED(); }
92 virtual void digest(const WebCryptoAlgorithm&, WebCryptoOperationResult&) { WEBKIT_ASSERT_NOT_REACHED(); } 93 virtual void digest(const WebCryptoAlgorithm&, WebCryptoOperationResult&) { WEBKIT_ASSERT_NOT_REACHED(); }
93 94
94 // The following methods begin an asynchronous single-part key operation. 95 // The following methods begin an asynchronous single-part key operation.
95 // 96 //
96 // Let the WebCryptoKeyOperationResult& be called "result". 97 // Let the WebCryptoKeyOperationResult& be called "result".
97 // 98 //
98 // Before returning, implementations can either: 99 // Before returning, implementations can either:
99 // 100 //
100 // (a) Synchronously fail initialization by calling: 101 // (a) Synchronously fail initialization by calling:
101 // result.initializationFailed(errorDetails) 102 // result.initializationFailed(errorDetails)
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 149
149 // Can be implemented by embedder for unit-testing. 150 // Can be implemented by embedder for unit-testing.
150 class WebCryptoOperationResultPrivate { 151 class WebCryptoOperationResultPrivate {
151 public: 152 public:
152 virtual ~WebCryptoOperationResultPrivate() { } 153 virtual ~WebCryptoOperationResultPrivate() { }
153 154
154 virtual void initializationFailed() = 0; 155 virtual void initializationFailed() = 0;
155 virtual void initializationSucceeded(WebCryptoOperation*) = 0; 156 virtual void initializationSucceeded(WebCryptoOperation*) = 0;
156 virtual void completeWithError() = 0; 157 virtual void completeWithError() = 0;
157 virtual void completeWithArrayBuffer(const WebArrayBuffer&) = 0; 158 virtual void completeWithArrayBuffer(const WebArrayBuffer&) = 0;
159 virtual void completeWithBoolean(bool) = 0;
158 160
159 virtual void ref() = 0; 161 virtual void ref() = 0;
160 virtual void deref() = 0; 162 virtual void deref() = 0;
161 }; 163 };
162 164
163 // FIXME: Add error types. 165 // FIXME: Add error types.
164 class WebCryptoOperationResult { 166 class WebCryptoOperationResult {
165 public: 167 public:
166 explicit WebCryptoOperationResult(WebCryptoOperationResultPrivate* impl) 168 explicit WebCryptoOperationResult(WebCryptoOperationResultPrivate* impl)
167 { 169 {
(...skipping 10 matching lines...) Expand all
178 WebCryptoOperationResult& operator=(const WebCryptoOperationResult& o) 180 WebCryptoOperationResult& operator=(const WebCryptoOperationResult& o)
179 { 181 {
180 assign(o); 182 assign(o);
181 return *this; 183 return *this;
182 } 184 }
183 185
184 WEBKIT_EXPORT void initializationFailed(); 186 WEBKIT_EXPORT void initializationFailed();
185 WEBKIT_EXPORT void initializationSucceeded(WebCryptoOperation*); 187 WEBKIT_EXPORT void initializationSucceeded(WebCryptoOperation*);
186 WEBKIT_EXPORT void completeWithError(); 188 WEBKIT_EXPORT void completeWithError();
187 WEBKIT_EXPORT void completeWithArrayBuffer(const WebArrayBuffer&); 189 WEBKIT_EXPORT void completeWithArrayBuffer(const WebArrayBuffer&);
190 WEBKIT_EXPORT void completeWithBoolean(bool);
188 191
189 private: 192 private:
190 WEBKIT_EXPORT void reset(); 193 WEBKIT_EXPORT void reset();
191 WEBKIT_EXPORT void assign(const WebCryptoOperationResult&); 194 WEBKIT_EXPORT void assign(const WebCryptoOperationResult&);
192 WEBKIT_EXPORT void assign(WebCryptoOperationResultPrivate*); 195 WEBKIT_EXPORT void assign(WebCryptoOperationResultPrivate*);
193 196
194 WebPrivatePtr<WebCryptoOperationResultPrivate> m_impl; 197 WebPrivatePtr<WebCryptoOperationResultPrivate> m_impl;
195 }; 198 };
196 199
197 class WebCryptoKeyOperation { 200 class WebCryptoKeyOperation {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 WEBKIT_EXPORT void reset(); 251 WEBKIT_EXPORT void reset();
249 WEBKIT_EXPORT void assign(const WebCryptoKeyOperationResult&); 252 WEBKIT_EXPORT void assign(const WebCryptoKeyOperationResult&);
250 WEBKIT_EXPORT void assign(WebCryptoKeyOperationResultPrivate*); 253 WEBKIT_EXPORT void assign(WebCryptoKeyOperationResultPrivate*);
251 254
252 WebPrivatePtr<WebCryptoKeyOperationResultPrivate> m_impl; 255 WebPrivatePtr<WebCryptoKeyOperationResultPrivate> m_impl;
253 }; 256 };
254 257
255 } // namespace WebKit 258 } // namespace WebKit
256 259
257 #endif 260 #endif
OLDNEW
« no previous file with comments | « Tools/DumpRenderTree/chromium/TestRunner/src/MockWebCrypto.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698