summaryrefslogtreecommitdiffstats
path: root/chrome/browser/importer/importer_list.cc
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-01 01:05:11 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-01 01:05:11 +0000
commitb2448200e68aab938f1c20259c1efe966da397cf (patch)
treea1f91d9db0f02282e13867f109587e901d8420fa /chrome/browser/importer/importer_list.cc
parentfb534c949f92bec8c6312b58ffcc04c5dc488f2d (diff)
downloadchromium_src-b2448200e68aab938f1c20259c1efe966da397cf.zip
chromium_src-b2448200e68aab938f1c20259c1efe966da397cf.tar.gz
chromium_src-b2448200e68aab938f1c20259c1efe966da397cf.tar.bz2
Importer: Add a RemoveObserver method to ImporterList and use this method by
clients when they are destroyed. BUG=67174 TEST=none Review URL: http://codereview.chromium.org/6409028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73233 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/importer/importer_list.cc')
-rw-r--r--chrome/browser/importer/importer_list.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/chrome/browser/importer/importer_list.cc b/chrome/browser/importer/importer_list.cc
index a6c85d1..80b1e84 100644
--- a/chrome/browser/importer/importer_list.cc
+++ b/chrome/browser/importer/importer_list.cc
@@ -164,6 +164,10 @@ void ImporterList::DetectSourceProfiles(Observer* observer) {
NewRunnableMethod(this, &ImporterList::DetectSourceProfilesWorker));
}
+void ImporterList::SetObserver(Observer* observer) {
+ observer_ = observer;
+}
+
void ImporterList::DetectSourceProfilesHack() {
DetectSourceProfilesWorker();
}
@@ -258,7 +262,10 @@ void ImporterList::SourceProfilesLoaded(
source_profiles_->assign(profiles.begin(), profiles.end());
source_profiles_loaded_ = true;
- observer_->SourceProfilesLoaded();
- observer_ = NULL;
source_thread_id_ = BrowserThread::UI;
+
+ if (observer_) {
+ observer_->SourceProfilesLoaded();
+ observer_ = NULL;
+ }
}