summaryrefslogtreecommitdiffstats
path: root/chrome/browser/importer/importer_host.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/importer/importer_host.cc')
-rw-r--r--chrome/browser/importer/importer_host.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/chrome/browser/importer/importer_host.cc b/chrome/browser/importer/importer_host.cc
index 4003c76..1485dca 100644
--- a/chrome/browser/importer/importer_host.cc
+++ b/chrome/browser/importer/importer_host.cc
@@ -20,7 +20,6 @@
#include "chrome/browser/search_engines/template_url.h"
#include "chrome/browser/search_engines/template_url_service.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
-#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/simple_message_box.h"
#include "chrome/common/chrome_notification_types.h"
@@ -40,7 +39,9 @@ ImporterHost::ImporterHost()
importer_(NULL),
headless_(false),
parent_window_(NULL),
+ browser_(NULL),
observer_(NULL) {
+ BrowserList::AddObserver(this);
}
void ImporterHost::ShowWarningDialog() {
@@ -163,10 +164,8 @@ void ImporterHost::OnGoogleGAIACookieChecked(bool result) {
chrome::MESSAGE_BOX_TYPE_INFORMATION);
GURL url("https://accounts.google.com/ServiceLogin");
- DCHECK(profile_);
- Browser* browser = browser::FindLastActiveWithProfile(profile_);
- if (browser)
- chrome::AddSelectedTabWithURL(browser, url,
+ if (browser_)
+ chrome::AddSelectedTabWithURL(browser_, url,
content::PAGE_TRANSITION_TYPED);
MessageLoop::current()->PostTask(FROM_HERE, base::Bind(
@@ -184,6 +183,7 @@ void ImporterHost::Cancel() {
}
ImporterHost::~ImporterHost() {
+ BrowserList::RemoveObserver(this);
if (NULL != importer_)
importer_->Release();
@@ -266,3 +266,8 @@ void ImporterHost::Observe(int type,
registrar_.RemoveAll();
InvokeTaskIfDone();
}
+
+void ImporterHost::OnBrowserRemoved(Browser* browser) {
+ if (browser_ == browser)
+ browser_ = NULL;
+}