Index: chrome/browser/first_run/first_run_posix.cc |
diff --git a/chrome/browser/first_run/first_run_posix.cc b/chrome/browser/first_run/first_run_posix.cc |
index f71cf8170dc9cf5a1cef080a978363c3a9543540..eb9beccf92a328e06a6a480520bc01b8ee8db9c1 100644 |
--- a/chrome/browser/first_run/first_run_posix.cc |
+++ b/chrome/browser/first_run/first_run_posix.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/first_run/first_run.h" |
+#include "base/message_loop.h" |
#include "base/path_service.h" |
#include "base/prefs/pref_service.h" |
#include "base/utf_string_conversions.h" |
@@ -11,8 +12,6 @@ |
#include "chrome/browser/first_run/first_run_internal.h" |
#include "chrome/browser/importer/importer_host.h" |
#include "chrome/browser/importer/importer_list.h" |
-#include "chrome/browser/importer/importer_progress_dialog.h" |
-#include "chrome/browser/importer/importer_progress_observer.h" |
#include "chrome/browser/profiles/profile_manager.h" |
#include "chrome/common/chrome_constants.h" |
#include "chrome/common/chrome_paths.h" |
@@ -21,47 +20,6 @@ |
#include "chrome/installer/util/master_preferences.h" |
#include "chrome/installer/util/master_preferences_constants.h" |
-namespace { |
- |
-// This class acts as an observer for the ImporterProgressObserver::ImportEnded |
-// callback. When the import process is started, certain errors may cause |
-// ImportEnded() to be called synchronously, but the typical case is that |
-// ImportEnded() is called asynchronously. Thus we have to handle both cases. |
-class ImportEndedObserver : public importer::ImporterProgressObserver { |
- public: |
- ImportEndedObserver() : ended_(false), |
- should_quit_message_loop_(false) {} |
- virtual ~ImportEndedObserver() {} |
- |
- // importer::ImporterProgressObserver: |
- virtual void ImportStarted() OVERRIDE {} |
- virtual void ImportItemStarted(importer::ImportItem item) OVERRIDE {} |
- virtual void ImportItemEnded(importer::ImportItem item) OVERRIDE {} |
- virtual void ImportEnded() OVERRIDE { |
- ended_ = true; |
- if (should_quit_message_loop_) |
- MessageLoop::current()->Quit(); |
- } |
- |
- void set_should_quit_message_loop() { |
- should_quit_message_loop_ = true; |
- } |
- |
- bool ended() { |
- return ended_; |
- } |
- |
- private: |
- // Set if the import has ended. |
- bool ended_; |
- |
- // Set by the client (via set_should_quit_message_loop) if, when the import |
- // ends, this class should quit the message loop. |
- bool should_quit_message_loop_; |
-}; |
- |
-} // namespace |
- |
namespace first_run { |
namespace internal { |
@@ -100,16 +58,16 @@ bool ImportSettings(Profile* profile, |
if (items_to_import == 0) |
return true; |
- scoped_ptr<ImportEndedObserver> observer(new ImportEndedObserver); |
- importer_host->SetObserver(observer.get()); |
+ ImportEndedObserver observer; |
+ importer_host->SetObserver(&observer); |
importer_host->StartImportSettings(source_profile, |
profile, |
items_to_import, |
new ProfileWriter(profile), |
true); |
// If the import process has not errored out, block on it. |
- if (!observer->ended()) { |
- observer->set_should_quit_message_loop(); |
+ if (!observer.ended()) { |
+ observer.set_should_quit_message_loop(); |
MessageLoop::current()->Run(); |
} |