Index: chrome/browser/gtk/pk11_password_dialog.h |
diff --git a/chrome/browser/gtk/pk11_password_dialog.h b/chrome/browser/gtk/pk11_password_dialog.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3b0c1680b27fa98d1eb5d996235b110604923627 |
--- /dev/null |
+++ b/chrome/browser/gtk/pk11_password_dialog.h |
@@ -0,0 +1,47 @@ |
+// 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_GTK_PK11_PASSWORD_DIALOG_H_ |
+#define CHROME_BROWSER_GTK_PK11_PASSWORD_DIALOG_H_ |
+#pragma once |
+ |
+#include "base/callback.h" |
+ |
+class GURL; |
+typedef struct PK11SlotInfoStr PK11SlotInfo; |
+ |
+namespace base { |
+class PK11BlockingPasswordDelegate; |
+} |
+ |
+namespace browser { |
+ |
+// An enum to describe the reason for the password request. |
+enum PK11PasswordReason { |
+ kPK11PasswordKeygen, |
+ kPK11PasswordCertEnrollment, |
+ kPK11PasswordClientAuth, |
+}; |
+ |
+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(PK11SlotInfo* slot, |
+ bool retry, |
+ PK11PasswordReason reason, |
+ const GURL& url, |
+ 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 GURL& url); |
+ |
+} // namespace browser |
+ |
+#endif // CHROME_BROWSER_GTK_PK11_PASSWORD_DIALOG_H_ |