Home | History | Annotate | Download | only in password_manager
      1 // Copyright 2013 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_PASSWORD_MANAGER_PASSWORD_MANAGER_UTIL_H_
      6 #define CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_MANAGER_UTIL_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "ui/gfx/native_widget_types.h"
     10 
     11 namespace password_manager_util {
     12 
     13 enum OsPasswordStatus {
     14   PASSWORD_STATUS_UNKNOWN = 0,
     15   PASSWORD_STATUS_UNSUPPORTED,
     16   PASSWORD_STATUS_BLANK,
     17   PASSWORD_STATUS_NONBLANK,
     18   PASSWORD_STATUS_WIN_DOMAIN,
     19   // NOTE: Add new status types only immediately above this line. Also,
     20   // make sure the enum list in tools/histogram/histograms.xml is
     21   // updated with any change in here.
     22   MAX_PASSWORD_STATUS
     23 };
     24 
     25 // Attempts to (re-)authenticate the user of the OS account. Returns true if
     26 // the user was successfully authenticated, or if authentication was not
     27 // possible. On platforms where reauthentication is not possible or does not
     28 // make sense, the default implementation always returns true.
     29 bool AuthenticateUser(gfx::NativeWindow window);
     30 
     31 // Query the system to determine whether the current logged on user has a
     32 // password set on their OS account.  Returns one of the OsPasswordStatus
     33 // enum values.
     34 OsPasswordStatus GetOsPasswordStatus();
     35 
     36 }  // namespace password_manager_util
     37 
     38 #endif  // CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_MANAGER_UTIL_H_
     39