Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / public / platform / WebCredentialManager.h
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 WebCredentialManager_h
6 #define WebCredentialManager_h
7
8 #include "public/platform/WebCallbacks.h"
9 #include "public/platform/WebCredentialManagerError.h"
10 #include "public/platform/WebString.h"
11 #include "public/platform/WebVector.h"
12
13 namespace blink {
14
15 // WebCredentialManager provides an interface for asking Blink's embedder to
16 // respond to `navigator.credentials.*` calls.
17 class WebCredentialManager {
18 public:
19     typedef WebCallbacks<WebCredential, WebCredentialManagerError> RequestCallbacks;
20     typedef WebCallbacks<void, WebCredentialManagerError> NotificationCallbacks;
21
22     WebCredentialManager() { }
23     virtual ~WebCredentialManager() { }
24
25     // Ownership of the callback is transferred to the callee for each of the following methods.
26     virtual void dispatchFailedSignIn(const WebCredential&, NotificationCallbacks*) { }
27     virtual void dispatchSignedIn(const WebCredential&, NotificationCallbacks*) { }
28     virtual void dispatchSignedOut(NotificationCallbacks*) { }
29     virtual void dispatchRequest(bool zeroClickOnly, const WebVector<WebURL>& federations, RequestCallbacks*) { }
30 };
31
32 } // namespace blink
33
34 #endif // WebCredentialManager_h