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 12 namespace content { 13 class WebContents; 14 } 15 16 // Manager for authenticating the use of stored passwords. 17 class 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