Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webauth/WebAuthentication.h |
| diff --git a/third_party/WebKit/Source/modules/webauth/WebAuthentication.h b/third_party/WebKit/Source/modules/webauth/WebAuthentication.h |
| index abffd5f248c8977d2475a2932c655bfebab51705..43b9dd5a3e7066636e0f154ea8bf7a4da3e3136d 100644 |
| --- a/third_party/WebKit/Source/modules/webauth/WebAuthentication.h |
| +++ b/third_party/WebKit/Source/modules/webauth/WebAuthentication.h |
| @@ -8,27 +8,28 @@ |
| #include "bindings/core/v8/ArrayBufferOrArrayBufferView.h" |
| #include "bindings/core/v8/ScriptPromise.h" |
| #include "bindings/core/v8/ScriptWrappable.h" |
| +#include "components/webauth/authenticator.mojom-blink.h" |
| +#include "core/dom/ContextLifecycleObserver.h" |
| #include "core/dom/DOMArrayBuffer.h" |
| #include "modules/webauth/AuthenticationAssertionOptions.h" |
| -#include "modules/webauth/RelyingPartyAccount.h" |
| -#include "modules/webauth/ScopedCredentialOptions.h" |
| -#include "modules/webauth/ScopedCredentialParameters.h" |
| +#include "modules/webauth/ScopedCredentialInfo.h" |
| namespace blink { |
| -class LocalFrame; |
| -class ScriptState; |
| class RelyingPartyAccount; |
| class AuthenticationAssertionOptions; |
| -class ScopedCredentialParameters; |
| class ScopedCredentialOptions; |
| +class ScopedCredentialParameters; |
| +class ScriptPromiseResolver; |
| typedef ArrayBufferOrArrayBufferView BufferSource; |
| class WebAuthentication final |
| : public GarbageCollectedFinalized<WebAuthentication>, |
| - public ScriptWrappable { |
| + public ScriptWrappable, |
| + public ContextLifecycleObserver { |
| DEFINE_WRAPPERTYPEINFO(); |
| + USING_GARBAGE_COLLECTED_MIXIN(WebAuthentication); |
| public: |
| static WebAuthentication* create(LocalFrame& frame) { |
| @@ -39,6 +40,7 @@ class WebAuthentication final |
| void dispose(); |
| + // WebAuthentication.idl |
| ScriptPromise makeCredential(ScriptState*, |
| const RelyingPartyAccount&, |
| const HeapVector<ScopedCredentialParameters>, |
| @@ -48,12 +50,29 @@ class WebAuthentication final |
| const BufferSource&, |
| const AuthenticationAssertionOptions&); |
| - DEFINE_INLINE_TRACE() {} |
| + // ContextLifecycleObserver overrides. |
| + void contextDestroyed(ExecutionContext*) override; |
| + |
| + webauth::mojom::blink::Authenticator* authenticator() const { |
| + return m_authenticator.get(); |
| + } |
| + |
| + void onMakeCredential(ScriptPromiseResolver*, |
| + Vector<webauth::mojom::blink::ScopedCredentialInfoPtr>); |
| + bool markRequestComplete(ScriptPromiseResolver*); |
| + |
| + void onAuthenticatorConnectionError(); |
| + |
| + DECLARE_VIRTUAL_TRACE(); |
| private: |
| explicit WebAuthentication(LocalFrame&); |
| -}; |
| + webauth::mojom::blink::AuthenticatorPtr m_authenticator; |
| + HeapHashSet<Member<ScriptPromiseResolver>> |
| + m_authenticatorRequests; // to use to keep track of requests. See |
|
dcheng
2017/02/28 07:25:56
Nit: consider moving the comment above the field d
kpaulhamus
2017/03/01 01:56:35
Eh, I don't think the comment needs to stay anyway
|
| + // barcodedetector / usbdevice |
| +}; |
| } // namespace blink |
| #endif // WebAuthentication_h |