| Index: chrome/browser/dom_ui/import_data_handler.cc
|
| diff --git a/chrome/browser/dom_ui/import_data_handler.cc b/chrome/browser/dom_ui/import_data_handler.cc
|
| index 08332df2f84a69f3c1ec05f9172e8bd9711819be..f771abae33cd93b56e5bde3ae3a2fec429451d15 100644
|
| --- a/chrome/browser/dom_ui/import_data_handler.cc
|
| +++ b/chrome/browser/dom_ui/import_data_handler.cc
|
| @@ -22,11 +22,13 @@ ImportDataHandler::ImportDataHandler() {
|
| }
|
|
|
| ImportDataHandler::~ImportDataHandler() {
|
| + if (importer_host_ != NULL) {
|
| + importer_host_->SetObserver(NULL);
|
| + importer_host_ = NULL;
|
| + }
|
| }
|
|
|
| void ImportDataHandler::Initialize() {
|
| - importer_host_ = new ImporterHost();
|
| - DetectSupportedBrowsers();
|
| }
|
|
|
| void ImportDataHandler::GetLocalizedValues(
|
| @@ -54,9 +56,16 @@ void ImportDataHandler::GetLocalizedValues(
|
|
|
| void ImportDataHandler::RegisterMessages() {
|
| dom_ui_->RegisterMessageCallback(
|
| + "loadImporter", NewCallback(this, &ImportDataHandler::LoadImporter));
|
| + dom_ui_->RegisterMessageCallback(
|
| "importData", NewCallback(this, &ImportDataHandler::ImportData));
|
| }
|
|
|
| +void ImportDataHandler::LoadImporter(const ListValue* args) {
|
| + importer_host_ = new ImporterHost();
|
| + DetectSupportedBrowsers();
|
| +}
|
| +
|
| void ImportDataHandler::DetectSupportedBrowsers() {
|
| ListValue supported_browsers;
|
| int profiles_count = importer_host_->GetAvailableProfileCount();
|
| @@ -120,4 +129,5 @@ void ImportDataHandler::ImportItemEnded(importer::ImportItem item) {
|
|
|
| void ImportDataHandler::ImportEnded() {
|
| dom_ui_->CallJavascriptFunction(L"ImportDataOverlay.dismiss");
|
| + importer_host_ = NULL;
|
| }
|
|
|