Index: components/webcrypto/blink_key_handle.cc |
diff --git a/components/webcrypto/blink_key_handle.cc b/components/webcrypto/blink_key_handle.cc |
index 012c7c0b7ba884fe50414058c2c73277eb6cd8ab..65825a43ae8bae369aff7ad7d0a12dd852206642 100644 |
--- a/components/webcrypto/blink_key_handle.cc |
+++ b/components/webcrypto/blink_key_handle.cc |
@@ -26,6 +26,9 @@ class AsymKey; |
// 'raw', 'pkcs8', or 'spki' format. This is to allow structured cloning of |
// keys to be done synchronously from the target Blink thread, without having to |
// lock access to the key throughout the code. |
+// |
+// TODO(eroman): Should be able to do the key export needed for structured |
+// clone synchronously. |
class Key : public blink::WebCryptoKeyHandle { |
public: |
explicit Key(const CryptoData& serialized_key_data) |
@@ -63,12 +66,14 @@ class SymKey : public Key { |
class AsymKey : public Key { |
public: |
+ // After construction the |pkey| should NOT be mutated. |
AsymKey(crypto::ScopedEVP_PKEY pkey, |
const std::vector<uint8_t>& serialized_key_data) |
: Key(CryptoData(serialized_key_data)), pkey_(std::move(pkey)) {} |
AsymKey* AsAsymKey() override { return this; } |
+ // The caller should NOT mutate this EVP_PKEY. |
EVP_PKEY* pkey() { return pkey_.get(); } |
private: |