Index: chrome/browser/ui/webui/options2/import_data_handler2.cc |
diff --git a/chrome/browser/ui/webui/options2/import_data_handler2.cc b/chrome/browser/ui/webui/options2/import_data_handler2.cc |
index 7a1ffe35ed4489a8b4b32620910d27e998800742..e8a0fbfd945218c2f82558527426d56a4e10cb8a 100644 |
--- a/chrome/browser/ui/webui/options2/import_data_handler2.cc |
+++ b/chrome/browser/ui/webui/options2/import_data_handler2.cc |
@@ -28,7 +28,8 @@ |
namespace options2 { |
ImportDataHandler::ImportDataHandler() : importer_host_(NULL), |
- import_did_succeed_(false) { |
+ import_did_succeed_(false), |
+ profiles_loaded_(false) { |
} |
ImportDataHandler::~ImportDataHandler() { |
@@ -64,6 +65,7 @@ void ImportDataHandler::GetLocalizedValues(DictionaryValue* localized_strings) { |
void ImportDataHandler::Initialize() { |
Profile* profile = Profile::FromWebUI(web_ui()); |
importer_list_ = new ImporterList(profile->GetRequestContext()); |
+ profiles_loaded_ = false; |
importer_list_->DetectSourceProfiles(this); |
} |
@@ -128,6 +130,14 @@ void ImportDataHandler::ImportData(const ListValue* args) { |
} |
void ImportDataHandler::OnSourceProfilesLoaded() { |
+ profiles_loaded_ = true; |
+ SendPageValues(); |
+} |
+ |
+void ImportDataHandler::SendPageValues() { |
+ if (!profiles_loaded_) |
+ return; |
+ |
ListValue browser_profiles; |
for (size_t i = 0; i < importer_list_->count(); ++i) { |
const importer::SourceProfile& source_profile = |