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 CHROME_BROWSER_ANDROID_PASSWORD_AUTHENTICATION_MANAGER_H_
6#define CHROME_BROWSER_ANDROID_PASSWORD_AUTHENTICATION_MANAGER_H_
7
8#include "base/android/jni_android.h"
9#include "base/callback.h"
10#include "components/autofill/core/common/password_form_fill_data.h"
11
12namespace content {
13class WebContents;
14}
15
16// Manager for authenticating the use of stored passwords.
17class PasswordAuthenticationManager {
18 public:
19  // JNI registration
20  static bool RegisterPasswordAuthenticationManager(JNIEnv* env);
21
22  // Request an authentication challenge for the specified webcontents to allow
23  // password autofill.  If the authentication is successful, run the
24  // |success_callback|.
25  static void AuthenticatePasswordAutofill(
26      content::WebContents* web_contents,
27      const base::Closure& success_callback);
28
29 private:
30  PasswordAuthenticationManager();
31  ~PasswordAuthenticationManager();
32
33  DISALLOW_COPY_AND_ASSIGN(PasswordAuthenticationManager);
34};
35
36#endif  // CHROME_BROWSER_ANDROID_PASSWORD_AUTHENTICATION_MANAGER_H_
37