Home | History | Annotate | Download | only in ui
      1 // Copyright (c) 2012 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_UI_CRYPTO_MODULE_PASSWORD_DIALOG_H_
      6 #define CHROME_BROWSER_UI_CRYPTO_MODULE_PASSWORD_DIALOG_H_
      7 
      8 #include <string>
      9 
     10 #include "base/callback.h"
     11 #include "ui/gfx/native_widget_types.h"
     12 
     13 namespace chrome {
     14 
     15 // An enum to describe the reason for the password request.
     16 enum CryptoModulePasswordReason {
     17   kCryptoModulePasswordKeygen,
     18   kCryptoModulePasswordCertEnrollment,
     19   kCryptoModulePasswordClientAuth,
     20   kCryptoModulePasswordListCerts,
     21   kCryptoModulePasswordCertImport,
     22   kCryptoModulePasswordCertExport,
     23 };
     24 
     25 typedef base::Callback<void(const std::string&)> CryptoModulePasswordCallback;
     26 
     27 // Display a dialog, prompting the user to authenticate to unlock
     28 // |module|. |reason| describes the purpose of the authentication and
     29 // affects the message displayed in the dialog. |hostname| is the hostname
     30 // of the server which requested the access.
     31 void ShowCryptoModulePasswordDialog(
     32     const std::string& module_name,
     33     bool retry,
     34     CryptoModulePasswordReason reason,
     35     const std::string& hostname,
     36     gfx::NativeWindow parent,
     37     const CryptoModulePasswordCallback& callback);
     38 
     39 }  // namespace chrome
     40 
     41 #endif  // CHROME_BROWSER_UI_CRYPTO_MODULE_PASSWORD_DIALOG_H_
     42