| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |