| Index: chrome/browser/dom_ui/options/certificate_manager_handler.h
|
| diff --git a/chrome/browser/dom_ui/options/certificate_manager_handler.h b/chrome/browser/dom_ui/options/certificate_manager_handler.h
|
| index 3ac3898bb888e50253148961466b7760c69291da..33a93a8f632ad846a8a337badfb8863f526e9e08 100644
|
| --- a/chrome/browser/dom_ui/options/certificate_manager_handler.h
|
| +++ b/chrome/browser/dom_ui/options/certificate_manager_handler.h
|
| @@ -6,6 +6,8 @@
|
| #define CHROME_BROWSER_DOM_UI_OPTIONS_CERTIFICATE_MANAGER_HANDLER_H_
|
| #pragma once
|
|
|
| +#include <string>
|
| +
|
| #include "base/scoped_ptr.h"
|
| #include "chrome/browser/cancelable_request.h"
|
| #include "chrome/browser/certificate_manager_model.h"
|
| @@ -59,13 +61,15 @@ class CertificateManagerHandler : public OptionsPageUIHandler,
|
| // selector
|
| // 2. user selects file -> ExportPersonalFileSelected -> launches password
|
| // dialog
|
| - // 3. user enters password -> ExportPersonalPasswordSelected -> exports to
|
| - // memory buffer -> starts async write operation
|
| - // 4. write finishes (or fails) -> ExportPersonalFileWritten
|
| + // 3. user enters password -> ExportPersonalPasswordSelected -> unlock slots
|
| + // 4. slots unlocked -> ExportPersonalSlotsUnlocked -> exports to memory
|
| + // buffer -> starts async write operation
|
| + // 5. write finishes (or fails) -> ExportPersonalFileWritten
|
| void ExportPersonal(const ListValue* args);
|
| void ExportAllPersonal(const ListValue* args);
|
| void ExportPersonalFileSelected(const FilePath& path);
|
| void ExportPersonalPasswordSelected(const ListValue* args);
|
| + void ExportPersonalSlotsUnlocked();
|
| void ExportPersonalFileWritten(int write_errno, int bytes_written);
|
|
|
| // Import from PKCS #12 file. The sequence goes like:
|
| @@ -75,15 +79,17 @@ class CertificateManagerHandler : public OptionsPageUIHandler,
|
| // dialog
|
| // 3. user enters password -> ImportPersonalPasswordSelected -> starts async
|
| // read operation
|
| - // 4. read operation completes -> ImportPersonalFileRead -> attempts to
|
| + // 4. read operation completes -> ImportPersonalFileRead -> unlock slot
|
| + // 5. slot unlocked -> ImportPersonalSlotUnlocked attempts to
|
| // import with previously entered password
|
| - // 5a. if import succeeds -> ImportExportCleanup
|
| - // 5b. if import fails -> show error, ImportExportCleanup
|
| + // 6a. if import succeeds -> ImportExportCleanup
|
| + // 6b. if import fails -> show error, ImportExportCleanup
|
| // TODO(mattm): allow retrying with different password
|
| void StartImportPersonal(const ListValue* args);
|
| void ImportPersonalFileSelected(const FilePath& path);
|
| void ImportPersonalPasswordSelected(const ListValue* args);
|
| void ImportPersonalFileRead(int read_errno, std::string data);
|
| + void ImportPersonalSlotUnlocked();
|
|
|
| // Import Server certificates from file. Sequence goes like:
|
| // 1. user clicks on import button -> ImportServer -> launches file selector
|
| @@ -140,8 +146,10 @@ class CertificateManagerHandler : public OptionsPageUIHandler,
|
| // wait for file to be read, etc.
|
| FilePath file_path_;
|
| string16 password_;
|
| + std::string file_data_;
|
| net::CertificateList selected_cert_list_;
|
| scoped_refptr<SelectFileDialog> select_file_dialog_;
|
| + scoped_refptr<net::CryptoModule> module_;
|
|
|
| // Used in reading and writing certificate files.
|
| CancelableRequestConsumer consumer_;
|
|
|