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 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_CHILD_WEBCRYPTO_STRUCTURED_CLONE_H_ 6 #define CONTENT_CHILD_WEBCRYPTO_STRUCTURED_CLONE_H_ 7 8 #include <stdint.h> 9 10 #include "third_party/WebKit/public/platform/WebCrypto.h" 11 12 namespace content { 13 14 namespace webcrypto { 15 16 class CryptoData; 17 18 // Called on the target Blink thread. 19 bool SerializeKeyForClone(const blink::WebCryptoKey& key, 20 blink::WebVector<uint8_t>* key_data); 21 22 // Called on the target Blink thread. 23 bool DeserializeKeyForClone(const blink::WebCryptoKeyAlgorithm& algorithm, 24 blink::WebCryptoKeyType type, 25 bool extractable, 26 blink::WebCryptoKeyUsageMask usage_mask, 27 const CryptoData& key_data, 28 blink::WebCryptoKey* key); 29 30 } // namespace webcrypto 31 32 } // namespace content 33 34 #endif // CONTENT_CHILD_WEBCRYPTO_STRUCTURED_CLONE_H_ 35