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 |