Chromium Code Reviews| Index: chrome/browser/ui/pk11_password_dialog.h |
| diff --git a/chrome/browser/ui/pk11_password_dialog.h b/chrome/browser/ui/pk11_password_dialog.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..46f6cd11e86d4c91545add1f75ed9e87b921ac9a |
| --- /dev/null |
| +++ b/chrome/browser/ui/pk11_password_dialog.h |
| @@ -0,0 +1,69 @@ |
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_UI_PK11_PASSWORD_DIALOG_H_ |
| +#define CHROME_BROWSER_UI_PK11_PASSWORD_DIALOG_H_ |
| +#pragma once |
| + |
| +#include <string> |
| + |
| +#include "base/callback.h" |
| + |
| +namespace base { |
| +class PK11BlockingPasswordDelegate; |
| +} |
| + |
| +namespace net { |
| +class X509Certificate; |
| +class PK11Slot; |
| +} |
| + |
| +namespace browser { |
| + |
| +// An enum to describe the reason for the password request. |
| +enum PK11PasswordReason { |
| + kPK11PasswordKeygen, |
| + kPK11PasswordCertEnrollment, |
| + kPK11PasswordClientAuth, |
| + kPK11PasswordCertImport, |
| + kPK11PasswordCertExport, |
| +}; |
| + |
| +typedef Callback1<const char*>::Type PK11PasswordCallback; |
| + |
| +// Display a dialog, prompting the user to authenticate to unlock |
| +// |slot|. |reason| describes the purpose of the authentication and |
| +// affects the message displayed in the dialog. |url| is the address |
| +// of the page which requested the access. |
| +void ShowPK11PasswordDialog(const std::string& slot_name, |
| + bool retry, |
| + PK11PasswordReason reason, |
| + const std::string& host, |
|
wtc
2010/12/15 20:54:36
You can avoid the issue of whether this string can
mattm
2011/01/12 01:22:07
Done.
|
| + PK11PasswordCallback* callback); |
| + |
| +// Returns a PK11BlockingPasswordDelegate to open a dialog and block |
| +// until returning. Should only be used on a worker thread. |
| +base::PK11BlockingPasswordDelegate* NewPK11BlockingDialogDelegate( |
| + PK11PasswordReason reason, |
| + const std::string& host); |
| + |
| +// Asynchronously unlock |slot|, if necessary. |callback| is called when done |
| +// (regardless if slot was successfully unlocked or not). Should only be called |
| +// on UI thread. |
| +void UnlockSlotIfNecessary(net::PK11Slot* slot, |
| + browser::PK11PasswordReason reason, |
| + const std::string& host, |
| + Callback0::Type* callback); |
| + |
| +// Asynchronously unlock the |cert|'s slot, if necessary. |callback| is called |
| +// when done (regardless if slot was successfully unlocked or not). Should only |
| +// be called on UI thread. |
| +void UnlockCertSlotIfNecessary(net::X509Certificate* cert, |
| + browser::PK11PasswordReason reason, |
| + const std::string& host, |
| + Callback0::Type* callback); |
| + |
| +} // namespace browser |
| + |
| +#endif // CHROME_BROWSER_UI_PK11_PASSWORD_DIALOG_H_ |