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 3// found in the LICENSE file. 4 5#ifndef WebCredentialManagerClient_h 6#define WebCredentialManagerClient_h 7 8#include "public/platform/WebCallbacks.h" 9#include "public/platform/WebCredentialManagerError.h" 10#include "public/platform/WebVector.h" 11 12namespace blink { 13 14class WebCredential; 15class WebURL; 16 17// WebCredentialManagerClient is an interface which allows an embedder to 18// implement 'navigator.credential.*' calls which are defined in the 19// 'credentialmanager' module. 20class WebCredentialManagerClient { 21public: 22 typedef WebCallbacks<WebCredential, WebCredentialManagerError> RequestCallbacks; 23 typedef WebCallbacks<void, WebCredentialManagerError> NotificationCallbacks; 24 25 // Ownership of the callback is transferred to the callee for each of 26 // the following methods. 27 virtual void dispatchFailedSignIn(const WebCredential&, NotificationCallbacks*) { } 28 virtual void dispatchSignedIn(const WebCredential&, NotificationCallbacks*) { } 29 virtual void dispatchSignedOut(NotificationCallbacks*) { } 30 virtual void dispatchRequest(bool zeroClickOnly, const WebVector<WebURL>& federations, RequestCallbacks*) { } 31}; 32 33} // namespace blink 34 35#endif // WebCredentialManager_h 36