mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 07:18:39 +09:00
Merge remote-tracking branch 'origin/tracking' into custom
This commit is contained in:
commit
f7298813f9
11 changed files with 44 additions and 91 deletions
|
|
@ -152,7 +152,7 @@ GetAlgorithmName(JSContext* aCx, const OOS& aAlgorithm, nsString& aName)
|
|||
}
|
||||
|
||||
if (!NormalizeToken(aName, aName)) {
|
||||
return NS_ERROR_DOM_SYNTAX_ERR;
|
||||
return NS_ERROR_DOM_NOT_SUPPORTED_ERR;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
|
|
@ -170,7 +170,7 @@ Coerce(JSContext* aCx, T& aTarget, const OOS& aAlgorithm)
|
|||
|
||||
JS::RootedValue value(aCx, JS::ObjectValue(*aAlgorithm.GetAsObject()));
|
||||
if (!aTarget.Init(aCx, value)) {
|
||||
return NS_ERROR_DOM_SYNTAX_ERR;
|
||||
return NS_ERROR_DOM_TYPE_MISMATCH_ERR;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
|
|
@ -401,9 +401,15 @@ WebCryptoTask::FailWithError(nsresult aRv)
|
|||
{
|
||||
MOZ_ASSERT(IsOnOriginalThread());
|
||||
|
||||
// Blindly convert nsresult to DOMException
|
||||
// Individual tasks must ensure they pass the right values
|
||||
mResultPromise->MaybeReject(aRv);
|
||||
if (aRv == NS_ERROR_DOM_TYPE_MISMATCH_ERR) {
|
||||
ErrorResult rv;
|
||||
rv.ThrowTypeError<MSG_DOM_OPERATION_FAILED>();
|
||||
mResultPromise->MaybeReject(rv);
|
||||
} else {
|
||||
// Blindly convert nsresult to DOMException
|
||||
// Individual tasks must ensure they pass the right values
|
||||
mResultPromise->MaybeReject(aRv);
|
||||
}
|
||||
// Manually release mResultPromise while we're on the main thread
|
||||
mResultPromise = nullptr;
|
||||
mWorkerHolder = nullptr;
|
||||
|
|
@ -1537,7 +1543,8 @@ public:
|
|||
}
|
||||
|
||||
// Check that we have valid key data.
|
||||
if (mKeyData.Length() == 0) {
|
||||
// Zero-length key is allowed for PBKDF2 since it will be padded.
|
||||
if (mKeyData.Length() == 0 && !mAlgName.EqualsLiteral(WEBCRYPTO_ALG_PBKDF2)) {
|
||||
return NS_ERROR_DOM_DATA_ERR;
|
||||
}
|
||||
|
||||
|
|
@ -2206,7 +2213,6 @@ public:
|
|||
nsString algName;
|
||||
mEarlyRv = GetAlgorithmName(aCx, aAlgorithm, algName);
|
||||
if (NS_FAILED(mEarlyRv)) {
|
||||
mEarlyRv = NS_ERROR_DOM_SYNTAX_ERR;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -2235,7 +2241,6 @@ public:
|
|||
nsString hashName;
|
||||
mEarlyRv = GetAlgorithmName(aCx, params.mHash, hashName);
|
||||
if (NS_FAILED(mEarlyRv)) {
|
||||
mEarlyRv = NS_ERROR_DOM_SYNTAX_ERR;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -2333,7 +2338,6 @@ GenerateAsymmetricKeyTask::GenerateAsymmetricKeyTask(
|
|||
// Extract algorithm name
|
||||
mEarlyRv = GetAlgorithmName(aCx, aAlgorithm, mAlgName);
|
||||
if (NS_FAILED(mEarlyRv)) {
|
||||
mEarlyRv = NS_ERROR_DOM_SYNTAX_ERR;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -2356,7 +2360,6 @@ GenerateAsymmetricKeyTask::GenerateAsymmetricKeyTask(
|
|||
nsString hashName;
|
||||
mEarlyRv = GetAlgorithmName(aCx, params.mHash, hashName);
|
||||
if (NS_FAILED(mEarlyRv)) {
|
||||
mEarlyRv = NS_ERROR_DOM_SYNTAX_ERR;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -2734,12 +2737,6 @@ public:
|
|||
{
|
||||
CHECK_KEY_ALGORITHM(aKey.Algorithm(), WEBCRYPTO_ALG_PBKDF2);
|
||||
|
||||
// Check that we got a symmetric key
|
||||
if (mSymKey.Length() == 0) {
|
||||
mEarlyRv = NS_ERROR_DOM_INVALID_ACCESS_ERR;
|
||||
return;
|
||||
}
|
||||
|
||||
RootedDictionary<Pbkdf2Params> params(aCx);
|
||||
mEarlyRv = Coerce(aCx, params, aAlgorithm);
|
||||
if (NS_FAILED(mEarlyRv)) {
|
||||
|
|
@ -2747,9 +2744,9 @@ public:
|
|||
return;
|
||||
}
|
||||
|
||||
// length must be a multiple of 8 bigger than zero.
|
||||
// Length must be a multiple of 8 bigger than zero.
|
||||
if (aLength == 0 || aLength % 8) {
|
||||
mEarlyRv = NS_ERROR_DOM_DATA_ERR;
|
||||
mEarlyRv = NS_ERROR_DOM_OPERATION_ERR;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -2926,7 +2923,7 @@ public:
|
|||
RootedDictionary<EcdhKeyDeriveParams> params(aCx);
|
||||
mEarlyRv = Coerce(aCx, params, aAlgorithm);
|
||||
if (NS_FAILED(mEarlyRv)) {
|
||||
mEarlyRv = NS_ERROR_DOM_SYNTAX_ERR;
|
||||
/* The returned code is installed by Coerce function. */
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -3573,6 +3570,7 @@ WebCryptoTask::CreateUnwrapKeyTask(nsIGlobalObject* aGlobal,
|
|||
if (keyAlgName.EqualsASCII(WEBCRYPTO_ALG_AES_CBC) ||
|
||||
keyAlgName.EqualsASCII(WEBCRYPTO_ALG_AES_CTR) ||
|
||||
keyAlgName.EqualsASCII(WEBCRYPTO_ALG_AES_GCM) ||
|
||||
keyAlgName.EqualsASCII(WEBCRYPTO_ALG_AES_KW) ||
|
||||
keyAlgName.EqualsASCII(WEBCRYPTO_ALG_HKDF) ||
|
||||
keyAlgName.EqualsASCII(WEBCRYPTO_ALG_HMAC)) {
|
||||
importTask = new ImportSymmetricKeyTask(aGlobal, aCx, aFormat,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue