| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/importer/importer_host.h" | 5 #include "chrome/browser/importer/importer_host.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 firefox_lock_.reset(); // Release the Firefox profile lock. | 100 firefox_lock_.reset(); // Release the Firefox profile lock. |
| 101 if (observer_) | 101 if (observer_) |
| 102 observer_->ImportEnded(); | 102 observer_->ImportEnded(); |
| 103 Release(); | 103 Release(); |
| 104 } | 104 } |
| 105 | 105 |
| 106 void ImporterHost::StartImportSettings( | 106 void ImporterHost::StartImportSettings( |
| 107 const importer::SourceProfile& source_profile, | 107 const importer::SourceProfile& source_profile, |
| 108 Profile* target_profile, | 108 Profile* target_profile, |
| 109 uint16 items, | 109 uint16 items, |
| 110 ProfileWriter* writer, | 110 ProfileWriter* writer) { |
| 111 bool first_run) { | |
| 112 // We really only support importing from one host at a time. | 111 // We really only support importing from one host at a time. |
| 113 DCHECK(!profile_); | 112 DCHECK(!profile_); |
| 114 DCHECK(target_profile); | 113 DCHECK(target_profile); |
| 115 | 114 |
| 116 profile_ = target_profile; | 115 profile_ = target_profile; |
| 117 PrefService* user_prefs = profile_->GetPrefs(); | 116 PrefService* user_prefs = profile_->GetPrefs(); |
| 118 | 117 |
| 119 // Make sure only items that were not disabled by policy are imported. | 118 // Make sure only items that were not disabled by policy are imported. |
| 120 if (!user_prefs->GetBoolean(prefs::kImportHistory)) | 119 if (!user_prefs->GetBoolean(prefs::kImportHistory)) |
| 121 items &= ~importer::HISTORY; | 120 items &= ~importer::HISTORY; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 137 return; | 136 return; |
| 138 } | 137 } |
| 139 | 138 |
| 140 importer_->AddRef(); | 139 importer_->AddRef(); |
| 141 | 140 |
| 142 scoped_refptr<InProcessImporterBridge> bridge( | 141 scoped_refptr<InProcessImporterBridge> bridge( |
| 143 new InProcessImporterBridge(writer_.get(), this)); | 142 new InProcessImporterBridge(writer_.get(), this)); |
| 144 task_ = base::Bind( | 143 task_ = base::Bind( |
| 145 &Importer::StartImport, importer_, source_profile, items, bridge); | 144 &Importer::StartImport, importer_, source_profile, items, bridge); |
| 146 | 145 |
| 147 CheckForFirefoxLock(source_profile, items, first_run); | 146 CheckForFirefoxLock(source_profile, items); |
| 148 | 147 |
| 149 #if defined(OS_WIN) | 148 #if defined(OS_WIN) |
| 150 // For google toolbar import, we need the user to log in and store their GAIA | 149 // For google toolbar import, we need the user to log in and store their GAIA |
| 151 // credentials. | 150 // credentials. |
| 152 if (source_profile.importer_type == importer::TYPE_GOOGLE_TOOLBAR5) { | 151 if (source_profile.importer_type == importer::TYPE_GOOGLE_TOOLBAR5) { |
| 153 toolbar_importer_utils::IsGoogleGAIACookieInstalled( | 152 toolbar_importer_utils::IsGoogleGAIACookieInstalled( |
| 154 base::Bind(&ImporterHost::OnGoogleGAIACookieChecked, this), profile_); | 153 base::Bind(&ImporterHost::OnGoogleGAIACookieChecked, this), profile_); |
| 155 is_source_readable_ = false; | 154 is_source_readable_ = false; |
| 156 } | 155 } |
| 157 #endif | 156 #endif |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 importer_->Release(); | 194 importer_->Release(); |
| 196 | 195 |
| 197 if (installed_bookmark_observer_) { | 196 if (installed_bookmark_observer_) { |
| 198 DCHECK(profile_); | 197 DCHECK(profile_); |
| 199 BookmarkModelFactory::GetForProfile(profile_)->RemoveObserver(this); | 198 BookmarkModelFactory::GetForProfile(profile_)->RemoveObserver(this); |
| 200 } | 199 } |
| 201 } | 200 } |
| 202 | 201 |
| 203 void ImporterHost::CheckForFirefoxLock( | 202 void ImporterHost::CheckForFirefoxLock( |
| 204 const importer::SourceProfile& source_profile, | 203 const importer::SourceProfile& source_profile, |
| 205 uint16 items, | 204 uint16 items) { |
| 206 bool first_run) { | |
| 207 if (source_profile.importer_type == importer::TYPE_FIREFOX2 || | 205 if (source_profile.importer_type == importer::TYPE_FIREFOX2 || |
| 208 source_profile.importer_type == importer::TYPE_FIREFOX3) { | 206 source_profile.importer_type == importer::TYPE_FIREFOX3) { |
| 209 DCHECK(!firefox_lock_.get()); | 207 DCHECK(!firefox_lock_.get()); |
| 210 firefox_lock_.reset(new FirefoxProfileLock(source_profile.source_path)); | 208 firefox_lock_.reset(new FirefoxProfileLock(source_profile.source_path)); |
| 211 if (!firefox_lock_->HasAcquired()) { | 209 if (!firefox_lock_->HasAcquired()) { |
| 212 // If fail to acquire the lock, we set the source unreadable and | 210 // If fail to acquire the lock, we set the source unreadable and |
| 213 // show a warning dialog, unless running without UI. | 211 // show a warning dialog, unless running without UI. |
| 214 is_source_readable_ = false; | 212 is_source_readable_ = false; |
| 215 ShowWarningDialog(); | 213 ShowWarningDialog(); |
| 216 } | 214 } |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 const content::NotificationDetails& details) { | 269 const content::NotificationDetails& details) { |
| 272 DCHECK(type == chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED); | 270 DCHECK(type == chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED); |
| 273 registrar_.RemoveAll(); | 271 registrar_.RemoveAll(); |
| 274 InvokeTaskIfDone(); | 272 InvokeTaskIfDone(); |
| 275 } | 273 } |
| 276 | 274 |
| 277 void ImporterHost::OnBrowserRemoved(Browser* browser) { | 275 void ImporterHost::OnBrowserRemoved(Browser* browser) { |
| 278 if (browser_ == browser) | 276 if (browser_ == browser) |
| 279 browser_ = NULL; | 277 browser_ = NULL; |
| 280 } | 278 } |
| OLD | NEW |