| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/credentialmanager/CredentialsContainer.h" | 5 #include "modules/credentialmanager/CredentialsContainer.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/Dictionary.h" | 7 #include "bindings/core/v8/Dictionary.h" |
| 8 #include "bindings/core/v8/ScriptPromise.h" | 8 #include "bindings/core/v8/ScriptPromise.h" |
| 9 #include "bindings/core/v8/ScriptPromiseResolver.h" | 9 #include "bindings/core/v8/ScriptPromiseResolver.h" |
| 10 #include "core/dom/DOMException.h" | 10 #include "core/dom/DOMException.h" |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 private: | 68 private: |
| 69 const Persistent<ScriptPromiseResolver> m_resolver; | 69 const Persistent<ScriptPromiseResolver> m_resolver; |
| 70 }; | 70 }; |
| 71 | 71 |
| 72 class RequestCallbacks : public WebCredentialManagerClient::RequestCallbacks { | 72 class RequestCallbacks : public WebCredentialManagerClient::RequestCallbacks { |
| 73 WTF_MAKE_NONCOPYABLE(RequestCallbacks); | 73 WTF_MAKE_NONCOPYABLE(RequestCallbacks); |
| 74 public: | 74 public: |
| 75 explicit RequestCallbacks(ScriptPromiseResolver* resolver) : m_resolver(reso
lver) { } | 75 explicit RequestCallbacks(ScriptPromiseResolver* resolver) : m_resolver(reso
lver) { } |
| 76 ~RequestCallbacks() override { } | 76 ~RequestCallbacks() override { } |
| 77 | 77 |
| 78 void onSuccess(WebPassOwnPtr<WebCredential> webCredential) override | 78 void onSuccess(std::unique_ptr<WebCredential> webCredential) override |
| 79 { | 79 { |
| 80 Frame* frame = toDocument(m_resolver->getScriptState()->getExecutionCont
ext())->frame(); | 80 Frame* frame = toDocument(m_resolver->getScriptState()->getExecutionCont
ext())->frame(); |
| 81 SECURITY_CHECK(!frame || frame == frame->tree().top()); | 81 SECURITY_CHECK(!frame || frame == frame->tree().top()); |
| 82 | 82 |
| 83 OwnPtr<WebCredential> credential = webCredential.release(); | 83 OwnPtr<WebCredential> credential = adoptPtr(webCredential.release()); |
| 84 if (!credential || !frame) { | 84 if (!credential || !frame) { |
| 85 m_resolver->resolve(); | 85 m_resolver->resolve(); |
| 86 return; | 86 return; |
| 87 } | 87 } |
| 88 | 88 |
| 89 ASSERT(credential->isPasswordCredential() || credential->isFederatedCred
ential()); | 89 ASSERT(credential->isPasswordCredential() || credential->isFederatedCred
ential()); |
| 90 if (credential->isPasswordCredential()) | 90 if (credential->isPasswordCredential()) |
| 91 m_resolver->resolve(PasswordCredential::create(static_cast<WebPasswo
rdCredential*>(credential.get()))); | 91 m_resolver->resolve(PasswordCredential::create(static_cast<WebPasswo
rdCredential*>(credential.get()))); |
| 92 else | 92 else |
| 93 m_resolver->resolve(FederatedCredential::create(static_cast<WebFeder
atedCredential*>(credential.get()))); | 93 m_resolver->resolve(FederatedCredential::create(static_cast<WebFeder
atedCredential*>(credential.get()))); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState)
; | 179 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState)
; |
| 180 ScriptPromise promise = resolver->promise(); | 180 ScriptPromise promise = resolver->promise(); |
| 181 if (!checkBoilerplate(resolver)) | 181 if (!checkBoilerplate(resolver)) |
| 182 return promise; | 182 return promise; |
| 183 | 183 |
| 184 CredentialManagerClient::from(scriptState->getExecutionContext())->dispatchR
equireUserMediation(new NotificationCallbacks(resolver)); | 184 CredentialManagerClient::from(scriptState->getExecutionContext())->dispatchR
equireUserMediation(new NotificationCallbacks(resolver)); |
| 185 return promise; | 185 return promise; |
| 186 } | 186 } |
| 187 | 187 |
| 188 } // namespace blink | 188 } // namespace blink |
| OLD | NEW |