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

Unified Diff: Source/modules/crypto/SubtleCrypto.cpp

Issue 1233173002: Have ScriptPromiseResolver on the Oilpan heap always. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: tidy unit tests Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: Source/modules/crypto/SubtleCrypto.cpp
diff --git a/Source/modules/crypto/SubtleCrypto.cpp b/Source/modules/crypto/SubtleCrypto.cpp
index c6aa37a15f422b91a572acbfa362c2c36aebb1ae..8ce6d3391c881a94100581573f35cdf09cbf2f98 100644
--- a/Source/modules/crypto/SubtleCrypto.cpp
+++ b/Source/modules/crypto/SubtleCrypto.cpp
@@ -121,17 +121,17 @@ SubtleCrypto::SubtleCrypto()
ScriptPromise SubtleCrypto::encrypt(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, CryptoKey* key, const DOMArrayPiece& data)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationEncrypt, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationEncrypt, algorithm, result))
return promise;
- if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageEncrypt, result.get()))
+ if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageEncrypt, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), algorithm, key->key());
@@ -141,17 +141,17 @@ ScriptPromise SubtleCrypto::encrypt(ScriptState* scriptState, const AlgorithmIde
ScriptPromise SubtleCrypto::decrypt(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, CryptoKey* key, const DOMArrayPiece& data)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDecrypt, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDecrypt, algorithm, result))
return promise;
- if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageDecrypt, result.get()))
+ if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageDecrypt, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), algorithm, key->key());
@@ -161,17 +161,17 @@ ScriptPromise SubtleCrypto::decrypt(ScriptState* scriptState, const AlgorithmIde
ScriptPromise SubtleCrypto::sign(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, CryptoKey* key, const DOMArrayPiece& data)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationSign, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationSign, algorithm, result))
return promise;
- if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageSign, result.get()))
+ if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageSign, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), algorithm, key->key());
@@ -181,17 +181,17 @@ ScriptPromise SubtleCrypto::sign(ScriptState* scriptState, const AlgorithmIdenti
ScriptPromise SubtleCrypto::verifySignature(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, CryptoKey* key, const DOMArrayPiece& signature, const DOMArrayPiece& data)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationVerify, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationVerify, algorithm, result))
return promise;
- if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageVerify, result.get()))
+ if (!key->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageVerify, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), algorithm, key->key());
@@ -201,14 +201,14 @@ ScriptPromise SubtleCrypto::verifySignature(ScriptState* scriptState, const Algo
ScriptPromise SubtleCrypto::digest(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, const DOMArrayPiece& data)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDigest, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDigest, algorithm, result))
return promise;
histogramAlgorithm(scriptState->executionContext(), algorithm);
@@ -218,18 +218,18 @@ ScriptPromise SubtleCrypto::digest(ScriptState* scriptState, const AlgorithmIden
ScriptPromise SubtleCrypto::generateKey(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, bool extractable, const Vector<String>& rawKeyUsages)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoKeyUsageMask keyUsages;
- if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result.get()))
+ if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationGenerateKey, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationGenerateKey, algorithm, result))
return promise;
histogramAlgorithm(scriptState->executionContext(), algorithm);
@@ -239,14 +239,14 @@ ScriptPromise SubtleCrypto::generateKey(ScriptState* scriptState, const Algorith
ScriptPromise SubtleCrypto::importKey(ScriptState* scriptState, const String& rawFormat, const ArrayBufferOrArrayBufferViewOrDictionary& keyData, const AlgorithmIdentifier& rawAlgorithm, bool extractable, const Vector<String>& rawKeyUsages)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoKeyFormat format;
- if (!CryptoKey::parseFormat(rawFormat, format, result.get()))
+ if (!CryptoKey::parseFormat(rawFormat, format, result))
return promise;
if (keyData.isDictionary()) {
@@ -260,11 +260,11 @@ ScriptPromise SubtleCrypto::importKey(ScriptState* scriptState, const String& ra
}
WebCryptoKeyUsageMask keyUsages;
- if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result.get()))
+ if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationImportKey, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationImportKey, algorithm, result))
return promise;
const unsigned char* ptr = nullptr;
@@ -278,7 +278,7 @@ ScriptPromise SubtleCrypto::importKey(ScriptState* scriptState, const String& ra
ptr = static_cast<const unsigned char*>(keyData.getAsArrayBufferView()->baseAddress());
len = keyData.getAsArrayBufferView()->byteLength();
} else if (keyData.isDictionary()) {
- if (!copyJwkDictionaryToJson(keyData.getAsDictionary(), jsonUtf8, result.get()))
+ if (!copyJwkDictionaryToJson(keyData.getAsDictionary(), jsonUtf8, result))
return promise;
ptr = reinterpret_cast<const unsigned char*>(jsonUtf8.data());
len = jsonUtf8.length();
@@ -290,14 +290,14 @@ ScriptPromise SubtleCrypto::importKey(ScriptState* scriptState, const String& ra
ScriptPromise SubtleCrypto::exportKey(ScriptState* scriptState, const String& rawFormat, CryptoKey* key)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoKeyFormat format;
- if (!CryptoKey::parseFormat(rawFormat, format, result.get()))
+ if (!CryptoKey::parseFormat(rawFormat, format, result))
return promise;
if (!key->extractable()) {
@@ -312,18 +312,18 @@ ScriptPromise SubtleCrypto::exportKey(ScriptState* scriptState, const String& ra
ScriptPromise SubtleCrypto::wrapKey(ScriptState* scriptState, const String& rawFormat, CryptoKey* key, CryptoKey* wrappingKey, const AlgorithmIdentifier& rawWrapAlgorithm)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoKeyFormat format;
- if (!CryptoKey::parseFormat(rawFormat, format, result.get()))
+ if (!CryptoKey::parseFormat(rawFormat, format, result))
return promise;
WebCryptoAlgorithm wrapAlgorithm;
- if (!parseAlgorithm(rawWrapAlgorithm, WebCryptoOperationWrapKey, wrapAlgorithm, result.get()))
+ if (!parseAlgorithm(rawWrapAlgorithm, WebCryptoOperationWrapKey, wrapAlgorithm, result))
return promise;
if (!key->extractable()) {
@@ -331,7 +331,7 @@ ScriptPromise SubtleCrypto::wrapKey(ScriptState* scriptState, const String& rawF
return promise;
}
- if (!wrappingKey->canBeUsedForAlgorithm(wrapAlgorithm, WebCryptoKeyUsageWrapKey, result.get()))
+ if (!wrappingKey->canBeUsedForAlgorithm(wrapAlgorithm, WebCryptoKeyUsageWrapKey, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), wrapAlgorithm, wrappingKey->key());
@@ -342,29 +342,29 @@ ScriptPromise SubtleCrypto::wrapKey(ScriptState* scriptState, const String& rawF
ScriptPromise SubtleCrypto::unwrapKey(ScriptState* scriptState, const String& rawFormat, const DOMArrayPiece& wrappedKey, CryptoKey* unwrappingKey, const AlgorithmIdentifier& rawUnwrapAlgorithm, const AlgorithmIdentifier& rawUnwrappedKeyAlgorithm, bool extractable, const Vector<String>& rawKeyUsages)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoKeyFormat format;
- if (!CryptoKey::parseFormat(rawFormat, format, result.get()))
+ if (!CryptoKey::parseFormat(rawFormat, format, result))
return promise;
WebCryptoKeyUsageMask keyUsages;
- if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result.get()))
+ if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result))
return promise;
WebCryptoAlgorithm unwrapAlgorithm;
- if (!parseAlgorithm(rawUnwrapAlgorithm, WebCryptoOperationUnwrapKey, unwrapAlgorithm, result.get()))
+ if (!parseAlgorithm(rawUnwrapAlgorithm, WebCryptoOperationUnwrapKey, unwrapAlgorithm, result))
return promise;
WebCryptoAlgorithm unwrappedKeyAlgorithm;
- if (!parseAlgorithm(rawUnwrappedKeyAlgorithm, WebCryptoOperationImportKey, unwrappedKeyAlgorithm, result.get()))
+ if (!parseAlgorithm(rawUnwrappedKeyAlgorithm, WebCryptoOperationImportKey, unwrappedKeyAlgorithm, result))
return promise;
- if (!unwrappingKey->canBeUsedForAlgorithm(unwrapAlgorithm, WebCryptoKeyUsageUnwrapKey, result.get()))
+ if (!unwrappingKey->canBeUsedForAlgorithm(unwrapAlgorithm, WebCryptoKeyUsageUnwrapKey, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), unwrapAlgorithm, unwrappingKey->key());
@@ -375,17 +375,17 @@ ScriptPromise SubtleCrypto::unwrapKey(ScriptState* scriptState, const String& ra
ScriptPromise SubtleCrypto::deriveBits(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, CryptoKey* baseKey, unsigned lengthBits)
{
- RefPtrWillBeRawPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDeriveBits, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDeriveBits, algorithm, result))
return promise;
- if (!baseKey->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageDeriveBits, result.get()))
+ if (!baseKey->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageDeriveBits, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), algorithm, baseKey->key());
@@ -395,29 +395,29 @@ ScriptPromise SubtleCrypto::deriveBits(ScriptState* scriptState, const Algorithm
ScriptPromise SubtleCrypto::deriveKey(ScriptState* scriptState, const AlgorithmIdentifier& rawAlgorithm, CryptoKey* baseKey, const AlgorithmIdentifier& rawDerivedKeyType, bool extractable, const Vector<String>& rawKeyUsages)
{
- RefPtr<CryptoResultImpl> result = CryptoResultImpl::create(scriptState);
+ CryptoResultImpl* result = CryptoResultImpl::create(scriptState);
ScriptPromise promise = result->promise();
- if (!canAccessWebCrypto(scriptState, result.get()))
+ if (!canAccessWebCrypto(scriptState, result))
return promise;
WebCryptoKeyUsageMask keyUsages;
- if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result.get()))
+ if (!CryptoKey::parseUsageMask(rawKeyUsages, keyUsages, result))
return promise;
WebCryptoAlgorithm algorithm;
- if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDeriveBits, algorithm, result.get()))
+ if (!parseAlgorithm(rawAlgorithm, WebCryptoOperationDeriveBits, algorithm, result))
return promise;
- if (!baseKey->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageDeriveKey, result.get()))
+ if (!baseKey->canBeUsedForAlgorithm(algorithm, WebCryptoKeyUsageDeriveKey, result))
return promise;
WebCryptoAlgorithm importAlgorithm;
- if (!parseAlgorithm(rawDerivedKeyType, WebCryptoOperationImportKey, importAlgorithm, result.get()))
+ if (!parseAlgorithm(rawDerivedKeyType, WebCryptoOperationImportKey, importAlgorithm, result))
return promise;
WebCryptoAlgorithm keyLengthAlgorithm;
- if (!parseAlgorithm(rawDerivedKeyType, WebCryptoOperationGetKeyLength, keyLengthAlgorithm, result.get()))
+ if (!parseAlgorithm(rawDerivedKeyType, WebCryptoOperationGetKeyLength, keyLengthAlgorithm, result))
return promise;
histogramAlgorithmAndKey(scriptState->executionContext(), algorithm, baseKey->key());

Powered by Google App Engine
This is Rietveld 408576698