Commit 6c488f79 authored by Adam Langley's avatar Adam Langley Committed by Commit Bot

third_party/blink: simplify CredentialsContainer::store.

The logic here is easier if the unsupported cases are rejected first.

Change-Id: I231935618dea789972934e7cd09ec3616744b9e7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1725209Reviewed-by: default avatarKen Buchanan <kenrb@chromium.org>
Commit-Queue: Adam Langley <agl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#682392}
parent a3b4039f
......@@ -320,10 +320,10 @@ void Abort(ScriptState* script_state) {
authenticator->Cancel();
}
void OnStoreComplete(std::unique_ptr<ScopedPromiseResolver> scoped_resolver,
RequiredOriginType required_origin_type) {
void OnStoreComplete(std::unique_ptr<ScopedPromiseResolver> scoped_resolver) {
auto* resolver = scoped_resolver->Release();
AssertSecurityRequirementsBeforeResponse(resolver, required_origin_type);
AssertSecurityRequirementsBeforeResponse(
resolver, RequiredOriginType::kSecureAndSameWithAncestors);
resolver->Resolve();
}
......@@ -616,13 +616,6 @@ ScriptPromise CredentialsContainer::store(ScriptState* script_state,
auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(script_state);
ScriptPromise promise = resolver->Promise();
auto required_origin_type =
credential->IsFederatedCredential() || credential->IsPasswordCredential()
? RequiredOriginType::kSecureAndSameWithAncestors
: RequiredOriginType::kSecure;
if (!CheckSecurityRequirementsBeforeRequest(resolver, required_origin_type))
return promise;
if (!(credential->IsFederatedCredential() ||
credential->IsPasswordCredential())) {
resolver->Reject(MakeGarbageCollected<DOMException>(
......@@ -631,8 +624,11 @@ ScriptPromise CredentialsContainer::store(ScriptState* script_state,
return promise;
}
DCHECK(credential->IsFederatedCredential() ||
credential->IsPasswordCredential());
if (!CheckSecurityRequirementsBeforeRequest(
resolver, RequiredOriginType::kSecureAndSameWithAncestors)) {
return promise;
}
const KURL& url =
credential->IsFederatedCredential()
? static_cast<const FederatedCredential*>(credential)->iconURL()
......@@ -647,9 +643,9 @@ ScriptPromise CredentialsContainer::store(ScriptState* script_state,
CredentialManagerProxy::From(script_state)->CredentialManager();
credential_manager->Store(
CredentialInfo::From(credential),
WTF::Bind(&OnStoreComplete,
WTF::Passed(std::make_unique<ScopedPromiseResolver>(resolver)),
required_origin_type));
WTF::Bind(
&OnStoreComplete,
WTF::Passed(std::make_unique<ScopedPromiseResolver>(resolver))));
return promise;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment