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