diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 04:43:45 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 04:43:45 +0000 |
commit | 5cbb809a7203d91c05021aae74e16fdcefff9352 (patch) | |
tree | 0627479ed7960568638b118d8e01c0aac41d5a25 /chrome/browser/extensions/extensions_ui.cc | |
parent | b00e86cf9afb44beb3f8fd51e85318505cabaa89 (diff) | |
download | chromium_src-5cbb809a7203d91c05021aae74e16fdcefff9352.zip chromium_src-5cbb809a7203d91c05021aae74e16fdcefff9352.tar.gz chromium_src-5cbb809a7203d91c05021aae74e16fdcefff9352.tar.bz2 |
This reverts: HTML Pack Extension Dialog / Linux & Mac Packaging Support.
original issue: http://codereview.chromium.org/207062/
TBR=sky
Review URL: http://codereview.chromium.org/270001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28234 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extensions_ui.cc')
-rw-r--r-- | chrome/browser/extensions/extensions_ui.cc | 138 |
1 files changed, 10 insertions, 128 deletions
diff --git a/chrome/browser/extensions/extensions_ui.cc b/chrome/browser/extensions/extensions_ui.cc index 96de8e3..db10a9a 100644 --- a/chrome/browser/extensions/extensions_ui.cc +++ b/chrome/browser/extensions/extensions_ui.cc @@ -9,7 +9,6 @@ #include "base/string_util.h" #include "base/thread.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chrome_thread.h" #include "chrome/browser/debugger/devtools_manager.h" #include "chrome/browser/extensions/extension_message_service.h" #include "chrome/browser/extensions/extensions_service.h" @@ -48,14 +47,6 @@ void ExtensionsUIHTMLSource::StartDataRequest(const std::string& path, DictionaryValue localized_strings; localized_strings.SetString(L"title", l10n_util::GetString(IDS_EXTENSIONS_TITLE)); - localized_strings.SetString(L"packDialogHeading", - l10n_util::GetString(IDS_EXTENSION_PACK_DIALOG_HEADING)); - localized_strings.SetString(L"rootDirectoryLabel", - l10n_util::GetString(IDS_EXTENSION_PACK_DIALOG_ROOT_DIRECTORY_LABEL)); - localized_strings.SetString(L"packDialogBrowse", - l10n_util::GetString(IDS_EXTENSION_PACK_DIALOG_BROWSE)); - localized_strings.SetString(L"privateKeyLabel", - l10n_util::GetString(IDS_EXTENSION_PACK_DIALOG_PRIVATE_KEY_LABEL)); static const base::StringPiece extensions_html( ResourceBundle::GetSharedInstance().GetRawDataResource( @@ -100,8 +91,6 @@ void ExtensionsDOMHandler::RegisterMessages() { NewCallback(this, &ExtensionsDOMHandler::HandlePackMessage)); dom_ui_->RegisterMessageCallback("autoupdate", NewCallback(this, &ExtensionsDOMHandler::HandleAutoUpdateMessage)); - dom_ui_->RegisterMessageCallback("selectFilePath", - NewCallback(this, &ExtensionsDOMHandler::HandleSelectFilePathMessage)); } void ExtensionsDOMHandler::HandleRequestExtensionsData(const Value* value) { @@ -198,77 +187,18 @@ void ExtensionsDOMHandler::HandleUninstallMessage(const Value* value) { } void ExtensionsDOMHandler::HandleLoadMessage(const Value* value) { - std::string string_path; - CHECK(value->IsType(Value::TYPE_LIST)); - const ListValue* list = static_cast<const ListValue*>(value); - CHECK(list->GetSize() == 1) << list->GetSize(); - CHECK(list->GetString(0, &string_path)); - FilePath file_path = FilePath::FromWStringHack(ASCIIToWide(string_path)); - extensions_service_->LoadExtension(file_path); -} - -void ExtensionsDOMHandler::ShowAlert(const std::string& message) { - ListValue arguments; - arguments.Append(Value::CreateStringValue(message)); - dom_ui_->CallJavascriptFunction(L"alert", arguments); + load_extension_dialog_ = SelectFileDialog::Create(this); + load_extension_dialog_->SelectFile( + SelectFileDialog::SELECT_FOLDER, + l10n_util::GetStringUTF16(IDS_EXTENSION_LOAD_FROM_DIRECTORY), + FilePath(), NULL, 0, FILE_PATH_LITERAL(""), + dom_ui_->tab_contents()->view()->GetTopLevelNativeWindow(), NULL); } void ExtensionsDOMHandler::HandlePackMessage(const Value* value) { - std::string extension_path; - std::string private_key_path; - CHECK(value->IsType(Value::TYPE_LIST)); - const ListValue* list = static_cast<const ListValue*>(value); - CHECK(list->GetSize() == 2); - CHECK(list->GetString(0, &extension_path)); - CHECK(list->GetString(1, &private_key_path)); - - FilePath root_directory = FilePath::FromWStringHack(ASCIIToWide( - extension_path)); - FilePath key_file = FilePath::FromWStringHack(ASCIIToWide(private_key_path)); - - if (root_directory.empty()) { - if (extension_path.empty()) { - ShowAlert(l10n_util::GetStringUTF8( - IDS_EXTENSION_PACK_DIALOG_ERROR_ROOT_REQUIRED)); - } else { - ShowAlert(l10n_util::GetStringUTF8( - IDS_EXTENSION_PACK_DIALOG_ERROR_ROOT_INVALID)); - } - - return; - } - - if (!private_key_path.empty() && key_file.empty()) { - ShowAlert(l10n_util::GetStringUTF8( - IDS_EXTENSION_PACK_DIALOG_ERROR_KEY_INVALID)); - return; - } - - pack_job_ = new PackExtensionJob(this, root_directory, key_file, - ChromeThread::GetMessageLoop(ChromeThread::FILE)); -} - -void ExtensionsDOMHandler::OnPackSuccess(const FilePath& crx_file, - const FilePath& pem_file) { - std::string message; - if (!pem_file.empty()) { - message = WideToASCII(l10n_util::GetStringF( - IDS_EXTENSION_PACK_DIALOG_SUCCESS_BODY_NEW, - crx_file.ToWStringHack(), - pem_file.ToWStringHack())); - } else { - message = WideToASCII(l10n_util::GetStringF( - IDS_EXTENSION_PACK_DIALOG_SUCCESS_BODY_UPDATE, - crx_file.ToWStringHack())); - } - ShowAlert(message); - - ListValue results; - dom_ui_->CallJavascriptFunction(L"hidePackDialog", results); -} - -void ExtensionsDOMHandler::OnPackFailure(const std::wstring& error) { - ShowAlert(WideToASCII(error)); +#if defined(OS_WIN) + ShowPackDialog(); +#endif } void ExtensionsDOMHandler::HandleAutoUpdateMessage(const Value* value) { @@ -278,55 +208,9 @@ void ExtensionsDOMHandler::HandleAutoUpdateMessage(const Value* value) { } } -void ExtensionsDOMHandler::HandleSelectFilePathMessage(const Value* value) { - std::string select_type; - std::string operation; - CHECK(value->IsType(Value::TYPE_LIST)); - const ListValue* list = static_cast<const ListValue*>(value); - CHECK(list->GetSize() == 2); - CHECK(list->GetString(0, &select_type)); - CHECK(list->GetString(1, &operation)); - - SelectFileDialog::Type type = SelectFileDialog::SELECT_FOLDER; - static SelectFileDialog::FileTypeInfo info; - int file_type_index = 0; - if (select_type == "file") - type = SelectFileDialog::SELECT_OPEN_FILE; - - string16 select_title; - if (operation == "load") - select_title = l10n_util::GetStringUTF16(IDS_EXTENSION_LOAD_FROM_DIRECTORY); - else if (operation == "packRoot") - select_title = l10n_util::GetStringUTF16( - IDS_EXTENSION_PACK_DIALOG_SELECT_ROOT); - else if (operation == "pem") { - select_title = l10n_util::GetStringUTF16( - IDS_EXTENSION_PACK_DIALOG_SELECT_KEY); - info.extensions.push_back(std::vector<FilePath::StringType>()); - info.extensions.front().push_back(FILE_PATH_LITERAL("pem")); - info.extension_description_overrides.push_back(WideToUTF16( - l10n_util::GetString( - IDS_EXTENSION_PACK_DIALOG_KEY_FILE_TYPE_DESCRIPTION))); - info.include_all_files = true; - file_type_index = 1; - } else { - NOTREACHED(); - return; - } - - load_extension_dialog_ = SelectFileDialog::Create(this); - load_extension_dialog_->SelectFile(type, select_title, FilePath(), &info, - file_type_index, FILE_PATH_LITERAL(""), - dom_ui_->tab_contents()->view()->GetTopLevelNativeWindow(), NULL); -} - - void ExtensionsDOMHandler::FileSelected(const FilePath& path, int index, void* params) { - // Add the extensions to the results structure. - ListValue results; - results.Append(Value::CreateStringValue(path.value())); - dom_ui_->CallJavascriptFunction(L"window.handleFilePathSelected", results); + extensions_service_->LoadExtension(path); } void ExtensionsDOMHandler::Observe(NotificationType type, @@ -459,8 +343,6 @@ std::vector<ExtensionPage> ExtensionsDOMHandler::GetActivePagesForExtension( } ExtensionsDOMHandler::~ExtensionsDOMHandler() { - if (pack_job_.get()) - pack_job_->ClearClient(); } // ExtensionsDOMHandler, public: ----------------------------------------------- |