summaryrefslogtreecommitdiffstats
path: root/chrome/browser/importer
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-11-18 18:32:45 +0000
committerBen Murdoch <benm@google.com>2010-11-18 18:38:07 +0000
commit513209b27ff55e2841eac0e4120199c23acce758 (patch)
treeaeba30bb08c5f47c57003544e378a377c297eee6 /chrome/browser/importer
parent164f7496de0fbee436b385a79ead9e3cb81a50c1 (diff)
downloadexternal_chromium-513209b27ff55e2841eac0e4120199c23acce758.zip
external_chromium-513209b27ff55e2841eac0e4120199c23acce758.tar.gz
external_chromium-513209b27ff55e2841eac0e4120199c23acce758.tar.bz2
Merge Chromium at r65505: Initial merge by git.
Change-Id: I31d8f1d8cd33caaf7f47ffa7350aef42d5fbdb45
Diffstat (limited to 'chrome/browser/importer')
-rw-r--r--chrome/browser/importer/firefox2_importer.cc2
-rw-r--r--chrome/browser/importer/firefox2_importer.h2
-rw-r--r--chrome/browser/importer/firefox3_importer.cc2
-rw-r--r--chrome/browser/importer/firefox3_importer.h2
-rw-r--r--chrome/browser/importer/firefox_importer_unittest_utils_mac.cc4
-rw-r--r--chrome/browser/importer/firefox_importer_utils.cc6
-rw-r--r--chrome/browser/importer/ie_importer.cc33
-rw-r--r--chrome/browser/importer/ie_importer.h2
-rw-r--r--chrome/browser/importer/importer.cc11
-rw-r--r--chrome/browser/importer/importer.h4
-rw-r--r--chrome/browser/importer/importer_list.cc15
-rw-r--r--chrome/browser/importer/importer_unittest.cc22
-rw-r--r--chrome/browser/importer/nss_decryptor.h7
-rw-r--r--chrome/browser/importer/nss_decryptor_null.h40
-rw-r--r--chrome/browser/importer/safari_importer.h2
-rw-r--r--chrome/browser/importer/safari_importer.mm2
-rw-r--r--chrome/browser/importer/toolbar_importer.cc2
-rw-r--r--chrome/browser/importer/toolbar_importer.h2
18 files changed, 110 insertions, 50 deletions
diff --git a/chrome/browser/importer/firefox2_importer.cc b/chrome/browser/importer/firefox2_importer.cc
index a6b6534..7783a7c 100644
--- a/chrome/browser/importer/firefox2_importer.cc
+++ b/chrome/browser/importer/firefox2_importer.cc
@@ -50,7 +50,7 @@ Firefox2Importer::Firefox2Importer() : parsing_bookmarks_html_file_(false) {
Firefox2Importer::~Firefox2Importer() {
}
-void Firefox2Importer::StartImport(importer::ProfileInfo profile_info,
+void Firefox2Importer::StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge) {
bridge_ = bridge;
diff --git a/chrome/browser/importer/firefox2_importer.h b/chrome/browser/importer/firefox2_importer.h
index 07a5567..5264c55 100644
--- a/chrome/browser/importer/firefox2_importer.h
+++ b/chrome/browser/importer/firefox2_importer.h
@@ -21,7 +21,7 @@ class Firefox2Importer : public Importer {
Firefox2Importer();
// Importer methods.
- virtual void StartImport(importer::ProfileInfo profile_info,
+ virtual void StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge);
diff --git a/chrome/browser/importer/firefox3_importer.cc b/chrome/browser/importer/firefox3_importer.cc
index 92637d0..6442c87 100644
--- a/chrome/browser/importer/firefox3_importer.cc
+++ b/chrome/browser/importer/firefox3_importer.cc
@@ -56,7 +56,7 @@ Firefox3Importer::Firefox3Importer() {
Firefox3Importer::~Firefox3Importer() {
}
-void Firefox3Importer::StartImport(importer::ProfileInfo profile_info,
+void Firefox3Importer::StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge) {
#if defined(OS_LINUX)
diff --git a/chrome/browser/importer/firefox3_importer.h b/chrome/browser/importer/firefox3_importer.h
index 362f710..fe3deb7 100644
--- a/chrome/browser/importer/firefox3_importer.h
+++ b/chrome/browser/importer/firefox3_importer.h
@@ -27,7 +27,7 @@ class Firefox3Importer : public Importer {
Firefox3Importer();
// Importer methods.
- virtual void StartImport(importer::ProfileInfo profile_info,
+ virtual void StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge);
diff --git a/chrome/browser/importer/firefox_importer_unittest_utils_mac.cc b/chrome/browser/importer/firefox_importer_unittest_utils_mac.cc
index e35f7a7..fbe3d3d 100644
--- a/chrome/browser/importer/firefox_importer_unittest_utils_mac.cc
+++ b/chrome/browser/importer/firefox_importer_unittest_utils_mac.cc
@@ -178,8 +178,8 @@ bool FFUnitTestDecryptorProxy::WaitForClientResponse() {
// the future and cancel it if an RPC message comes back earlier.
// This relies on the IPC listener class to quit the message loop itself when
// a message comes in.
- scoped_refptr<CancellableQuitMsgLoop> quit_task =
- new CancellableQuitMsgLoop();
+ scoped_refptr<CancellableQuitMsgLoop> quit_task(
+ new CancellableQuitMsgLoop());
MessageLoop::current()->PostDelayedTask(
FROM_HERE,
NewRunnableMethod(quit_task.get(), &CancellableQuitMsgLoop::QuitNow),
diff --git a/chrome/browser/importer/firefox_importer_utils.cc b/chrome/browser/importer/firefox_importer_utils.cc
index e223491..be606ff 100644
--- a/chrome/browser/importer/firefox_importer_utils.cc
+++ b/chrome/browser/importer/firefox_importer_utils.cc
@@ -18,6 +18,7 @@
#include "chrome/browser/search_engines/template_url.h"
#include "chrome/browser/search_engines/template_url_model.h"
#include "chrome/browser/search_engines/template_url_parser.h"
+#include "chrome/browser/search_engines/template_url_prepopulate_data.h"
#include "googleurl/src/gurl.h"
namespace {
@@ -214,8 +215,11 @@ void ParseSearchEnginesFromXMLFiles(const std::vector<FilePath>& xml_files,
search_engine_for_url.erase(iter);
}
// Give this a keyword to facilitate tab-to-search, if possible.
+ GURL gurl = GURL(url);
template_url->set_keyword(
- TemplateURLModel::GenerateKeyword(GURL(url), false));
+ TemplateURLModel::GenerateKeyword(gurl, false));
+ template_url->set_logo_id(
+ TemplateURLPrepopulateData::GetSearchEngineLogo(gurl));
template_url->set_show_in_default_list(true);
search_engine_for_url[url] = template_url;
if (!default_turl)
diff --git a/chrome/browser/importer/ie_importer.cc b/chrome/browser/importer/ie_importer.cc
index f2905dd..efa2a0a 100644
--- a/chrome/browser/importer/ie_importer.cc
+++ b/chrome/browser/importer/ie_importer.cc
@@ -33,6 +33,7 @@
#include "chrome/browser/password_manager/ie7_password.h"
#include "chrome/browser/search_engines/template_url.h"
#include "chrome/browser/search_engines/template_url_model.h"
+#include "chrome/browser/search_engines/template_url_prepopulate_data.h"
#include "chrome/common/time_format.h"
#include "chrome/common/url_constants.h"
#include "googleurl/src/gurl.h"
@@ -40,8 +41,6 @@
#include "webkit/glue/password_form.h"
using base::Time;
-using base::win::RegKey;
-using base::win::RegistryValueIterator;
using webkit_glue::PasswordForm;
namespace {
@@ -70,7 +69,7 @@ const GUID IEImporter::kPStoreAutocompleteGUID = {0xe161255a, 0x37c3, 0x11d2,
const GUID IEImporter::kUnittestGUID = { 0xa79029d6, 0x753e, 0x4e27,
{0xb8, 0x7, 0x3d, 0x46, 0xab, 0x15, 0x45, 0xdf}};
-void IEImporter::StartImport(ProfileInfo profile_info,
+void IEImporter::StartImport(const ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge) {
bridge_ = bridge;
@@ -259,8 +258,9 @@ void IEImporter::ImportPasswordsIE7() {
const wchar_t kStorage2Path[] =
L"Software\\Microsoft\\Internet Explorer\\IntelliForms\\Storage2";
- RegKey key(HKEY_CURRENT_USER, kStorage2Path, KEY_READ);
- RegistryValueIterator reg_iterator(HKEY_CURRENT_USER, kStorage2Path);
+ base::win::RegKey key(HKEY_CURRENT_USER, kStorage2Path, KEY_READ);
+ base::win::RegistryValueIterator reg_iterator(HKEY_CURRENT_USER,
+ kStorage2Path);
while (reg_iterator.Valid() && !cancelled()) {
// Get the size of the encrypted data.
DWORD value_len = 0;
@@ -351,7 +351,7 @@ void IEImporter::ImportSearchEngines() {
const wchar_t kSearchScopePath[] =
L"Software\\Microsoft\\Internet Explorer\\SearchScopes";
- RegKey key(HKEY_CURRENT_USER, kSearchScopePath, KEY_READ);
+ base::win::RegKey key(HKEY_CURRENT_USER, kSearchScopePath, KEY_READ);
std::wstring default_search_engine_name;
const TemplateURL* default_search_engine = NULL;
std::map<std::string, TemplateURL*> search_engines_map;
@@ -361,7 +361,8 @@ void IEImporter::ImportSearchEngines() {
while (key_iterator.Valid()) {
std::wstring sub_key_name = kSearchScopePath;
sub_key_name.append(L"\\").append(key_iterator.Name());
- RegKey sub_key(HKEY_CURRENT_USER, sub_key_name.c_str(), KEY_READ);
+ base::win::RegKey sub_key(HKEY_CURRENT_USER, sub_key_name.c_str(),
+ KEY_READ);
std::wstring wide_url;
if (!sub_key.ReadValue(L"URL", &wide_url) || wide_url.empty()) {
VLOG(1) << "No URL for IE search engine at " << key_iterator.Name();
@@ -392,8 +393,11 @@ void IEImporter::ImportSearchEngines() {
template_url->set_short_name(name);
template_url->SetURL(url, 0, 0);
// Give this a keyword to facilitate tab-to-search, if possible.
- template_url->set_keyword(TemplateURLModel::GenerateKeyword(GURL(url),
+ GURL gurl = GURL(url);
+ template_url->set_keyword(TemplateURLModel::GenerateKeyword(gurl,
false));
+ template_url->set_logo_id(
+ TemplateURLPrepopulateData::GetSearchEngineLogo(gurl));
template_url->set_show_in_default_list(true);
search_engines_map[url] = template_url;
}
@@ -425,7 +429,7 @@ void IEImporter::ImportHomepage() {
const wchar_t kIEHomepage[] = L"Start Page";
const wchar_t kIEDefaultHomepage[] = L"Default_Page_URL";
- RegKey key(HKEY_CURRENT_USER, kIESettingsMain, KEY_READ);
+ base::win::RegKey key(HKEY_CURRENT_USER, kIESettingsMain, KEY_READ);
std::wstring homepage_url;
if (!key.ReadValue(kIEHomepage, &homepage_url) || homepage_url.empty())
return;
@@ -435,7 +439,7 @@ void IEImporter::ImportHomepage() {
return;
// Check to see if this is the default website and skip import.
- RegKey keyDefault(HKEY_LOCAL_MACHINE, kIESettingsMain, KEY_READ);
+ base::win::RegKey keyDefault(HKEY_LOCAL_MACHINE, kIESettingsMain, KEY_READ);
std::wstring default_homepage_url;
if (keyDefault.ReadValue(kIEDefaultHomepage, &default_homepage_url) &&
!default_homepage_url.empty()) {
@@ -469,9 +473,8 @@ bool IEImporter::GetFavoritesInfo(IEImporter::FavoritesInfo *info) {
if (base::win::GetVersion() < base::win::VERSION_VISTA) {
// The Link folder name is stored in the registry.
DWORD buffer_length = sizeof(buffer);
- RegKey reg_key(HKEY_CURRENT_USER,
- L"Software\\Microsoft\\Internet Explorer\\Toolbar",
- KEY_READ);
+ base::win::RegKey reg_key(HKEY_CURRENT_USER,
+ L"Software\\Microsoft\\Internet Explorer\\Toolbar", KEY_READ);
if (!reg_key.ReadValue(L"LinksFolderName", buffer, &buffer_length, NULL))
return false;
info->links_folder = buffer;
@@ -579,8 +582,8 @@ int IEImporter::CurrentIEVersion() const {
if (version < 0) {
wchar_t buffer[128];
DWORD buffer_length = sizeof(buffer);
- RegKey reg_key(HKEY_LOCAL_MACHINE,
- L"Software\\Microsoft\\Internet Explorer", KEY_READ);
+ base::win::RegKey reg_key(HKEY_LOCAL_MACHINE,
+ L"Software\\Microsoft\\Internet Explorer", KEY_READ);
bool result = reg_key.ReadValue(L"Version", buffer, &buffer_length, NULL);
version = (result ? _wtoi(buffer) : 0);
}
diff --git a/chrome/browser/importer/ie_importer.h b/chrome/browser/importer/ie_importer.h
index 1acd27b..68b7c23 100644
--- a/chrome/browser/importer/ie_importer.h
+++ b/chrome/browser/importer/ie_importer.h
@@ -14,7 +14,7 @@ class IEImporter : public Importer {
IEImporter() {}
// Importer methods.
- virtual void StartImport(ProfileInfo browser_info,
+ virtual void StartImport(const ProfileInfo& browser_info,
uint16 items,
ImporterBridge* bridge);
diff --git a/chrome/browser/importer/importer.cc b/chrome/browser/importer/importer.cc
index 9a40471..32f48d3 100644
--- a/chrome/browser/importer/importer.cc
+++ b/chrome/browser/importer/importer.cc
@@ -9,6 +9,7 @@
#include "base/values.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/browser_list.h"
+#include "chrome/browser/browser_navigator.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_thread.h"
#include "chrome/browser/browsing_instance.h"
@@ -200,15 +201,11 @@ void ImporterHost::StartImportSettings(
MB_OK | MB_TOPMOST);
GURL url("https://www.google.com/accounts/ServiceLogin");
- Browser* browser = BrowserList::GetLastActive();
- Browser::AddTabWithURLParams params(url, PageTransition::TYPED);
- // BrowsingInstance is refcounted.
- BrowsingInstance* instance = new BrowsingInstance(writer_->profile());
- params.instance = instance->GetSiteInstanceForURL(url);
- browser->AddTabWithURL(&params);
+ BrowserList::GetLastActive()->AddSelectedTabWithURL(
+ url, PageTransition::TYPED);
MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod(
- this, &ImporterHost::OnLockViewEnd, false));
+ this, &ImporterHost::OnLockViewEnd, false));
is_source_readable_ = false;
}
diff --git a/chrome/browser/importer/importer.h b/chrome/browser/importer/importer.h
index 4887138..1cb9db7 100644
--- a/chrome/browser/importer/importer.h
+++ b/chrome/browser/importer/importer.h
@@ -442,7 +442,7 @@ class Importer : public base::RefCountedThreadSafe<Importer> {
// Since we do async import, the importer should invoke
// ImporterHost::Finished() to notify its host that import
// stuff have been finished.
- virtual void StartImport(importer::ProfileInfo profile_info,
+ virtual void StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge) = 0;
@@ -514,7 +514,7 @@ class ImportObserver {
// if there's nothing to parent to. first_run is true if it's invoked in the
// first run UI.
void StartImportingWithUI(gfx::NativeWindow parent_window,
- int16 items,
+ uint16 items,
ImporterHost* coordinator,
const importer::ProfileInfo& source_profile,
Profile* target_profile,
diff --git a/chrome/browser/importer/importer_list.cc b/chrome/browser/importer/importer_list.cc
index f529284..6ac6517 100644
--- a/chrome/browser/importer/importer_list.cc
+++ b/chrome/browser/importer/importer_list.cc
@@ -35,9 +35,9 @@ ImporterList::~ImporterList() {
}
void ImporterList::DetectSourceProfiles() {
+// The first run import will automatically take settings from the first
+// profile detected, which should be the user's current default.
#if defined(OS_WIN)
- // The order in which detect is called determines the order
- // in which the options appear in the dropdown combo-box
if (ShellIntegration::IsFirefoxDefaultBrowser()) {
DetectFirefoxProfiles();
DetectIEProfiles();
@@ -47,10 +47,15 @@ void ImporterList::DetectSourceProfiles() {
}
// TODO(brg) : Current UI requires win_util.
DetectGoogleToolbarProfiles();
+#elif defined(OS_MACOSX)
+ if (ShellIntegration::IsFirefoxDefaultBrowser()) {
+ DetectFirefoxProfiles();
+ DetectSafariProfiles();
+ } else {
+ DetectSafariProfiles();
+ DetectFirefoxProfiles();
+ }
#else
-#if defined(OS_MACOSX)
- DetectSafariProfiles();
-#endif
DetectFirefoxProfiles();
#endif
}
diff --git a/chrome/browser/importer/importer_unittest.cc b/chrome/browser/importer/importer_unittest.cc
index 2bad8ee..214f056 100644
--- a/chrome/browser/importer/importer_unittest.cc
+++ b/chrome/browser/importer/importer_unittest.cc
@@ -115,14 +115,14 @@ class ImporterTest : public testing::Test {
profile_info.browser_type = FIREFOX3;
profile_info.app_path = app_path_;
profile_info.source_path = profile_path_;
- scoped_refptr<ImporterHost> host = new ImporterHost();
+ scoped_refptr<ImporterHost> host(new ImporterHost());
host->SetObserver(observer);
int items = HISTORY | PASSWORDS | FAVORITES;
if (import_search_plugins)
items = items | SEARCH_ENGINES;
loop->PostTask(FROM_HERE, NewRunnableMethod(host.get(),
&ImporterHost::StartImportSettings, profile_info,
- static_cast<Profile*>(NULL), items, writer, true));
+ static_cast<Profile*>(NULL), items, make_scoped_refptr(writer), true));
loop->Run();
}
@@ -697,7 +697,7 @@ TEST_F(ImporterTest, MAYBE(Firefox2Importer)) {
ASSERT_TRUE(file_util::CopyDirectory(data_path, search_engine_path, false));
MessageLoop* loop = MessageLoop::current();
- scoped_refptr<ImporterHost> host = new ImporterHost();
+ scoped_refptr<ImporterHost> host(new ImporterHost());
FirefoxObserver* observer = new FirefoxObserver();
host->SetObserver(observer);
ProfileInfo profile_info;
@@ -705,10 +705,14 @@ TEST_F(ImporterTest, MAYBE(Firefox2Importer)) {
profile_info.app_path = app_path_;
profile_info.source_path = profile_path_;
- loop->PostTask(FROM_HERE, NewRunnableMethod(host.get(),
- &ImporterHost::StartImportSettings, profile_info,
+ loop->PostTask(FROM_HERE, NewRunnableMethod(
+ host.get(),
+ &ImporterHost::StartImportSettings,
+ profile_info,
static_cast<Profile*>(NULL),
- HISTORY | PASSWORDS | FAVORITES | SEARCH_ENGINES, observer, true));
+ HISTORY | PASSWORDS | FAVORITES | SEARCH_ENGINES,
+ make_scoped_refptr(observer),
+ true));
loop->Run();
}
@@ -880,15 +884,15 @@ class Firefox3Observer : public ProfileWriter,
};
TEST_F(ImporterTest, MAYBE(Firefox30Importer)) {
- scoped_refptr<Firefox3Observer> observer = new Firefox3Observer();
+ scoped_refptr<Firefox3Observer> observer(new Firefox3Observer());
Firefox3xImporterTest("firefox3_profile", observer.get(), observer.get(),
true);
}
TEST_F(ImporterTest, MAYBE(Firefox35Importer)) {
bool import_search_engines = false;
- scoped_refptr<Firefox3Observer> observer =
- new Firefox3Observer(import_search_engines);
+ scoped_refptr<Firefox3Observer> observer(
+ new Firefox3Observer(import_search_engines));
Firefox3xImporterTest("firefox35_profile", observer.get(), observer.get(),
import_search_engines);
}
diff --git a/chrome/browser/importer/nss_decryptor.h b/chrome/browser/importer/nss_decryptor.h
index 8361d17..9896a14 100644
--- a/chrome/browser/importer/nss_decryptor.h
+++ b/chrome/browser/importer/nss_decryptor.h
@@ -12,6 +12,13 @@
#include "chrome/browser/importer/nss_decryptor_mac.h"
#elif defined(OS_WIN)
#include "chrome/browser/importer/nss_decryptor_win.h"
+#elif defined(USE_OPENSSL)
+// TODO(joth): It should be an error to include this file with USE_OPENSSL
+// defined. (Unless there is a way to do nss decrypt with OpenSSL). Ideally
+// we remove the importers that depend on NSS when doing USE_OPENSSL builds, but
+// that is going to take some non-trivial refactoring so in the meantime we're
+// just falling back to a no-op implementation.
+#include "chrome/browser/importer/nss_decryptor_null.h"
#elif defined(USE_NSS)
#include "chrome/browser/importer/nss_decryptor_system_nss.h"
#endif
diff --git a/chrome/browser/importer/nss_decryptor_null.h b/chrome/browser/importer/nss_decryptor_null.h
new file mode 100644
index 0000000..155f1e0
--- /dev/null
+++ b/chrome/browser/importer/nss_decryptor_null.h
@@ -0,0 +1,40 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_IMPORTER_NSS_DECRYPTOR_NULL_H_
+#define CHROME_BROWSER_IMPORTER_NSS_DECRYPTOR_NULL_H_
+#pragma once
+
+#include <string>
+#include <vector>
+
+#include "base/basictypes.h"
+#include "base/string16.h"
+
+class FilePath;
+
+namespace webkit_glue {
+struct PasswordForm;
+}
+
+// A NULL wrapper for Firefox NSS decrypt component, for use in builds where
+// we do not have the NSS library.
+class NSSDecryptor {
+ public:
+ NSSDecryptor() {}
+ bool Init(const std::wstring& /* dll_path */,
+ const std::wstring& db_path) { return false; }
+ string16 Decrypt(const std::string& crypt) const { return string16(); }
+ void ParseSignons(const std::string& content,
+ std::vector<webkit_glue::PasswordForm>* forms) {}
+ bool ReadAndParseSignons(const FilePath& sqlite_file,
+ std::vector<webkit_glue::PasswordForm>* forms) {
+ return false;
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(NSSDecryptor);
+};
+
+#endif // CHROME_BROWSER_IMPORTER_NSS_DECRYPTOR_NULL_H_
diff --git a/chrome/browser/importer/safari_importer.h b/chrome/browser/importer/safari_importer.h
index e723146..7e234f5 100644
--- a/chrome/browser/importer/safari_importer.h
+++ b/chrome/browser/importer/safari_importer.h
@@ -33,7 +33,7 @@ class SafariImporter : public Importer {
explicit SafariImporter(const FilePath& library_dir);
// Importer methods.
- virtual void StartImport(importer::ProfileInfo profile_info,
+ virtual void StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge);
diff --git a/chrome/browser/importer/safari_importer.mm b/chrome/browser/importer/safari_importer.mm
index 3ff4676..de40655 100644
--- a/chrome/browser/importer/safari_importer.mm
+++ b/chrome/browser/importer/safari_importer.mm
@@ -76,7 +76,7 @@ bool SafariImporter::CanImport(const FilePath& library_dir,
return *services_supported != importer::NONE;
}
-void SafariImporter::StartImport(importer::ProfileInfo profile_info,
+void SafariImporter::StartImport(const importer::ProfileInfo& profile_info,
uint16 services_supported,
ImporterBridge* bridge) {
bridge_ = bridge;
diff --git a/chrome/browser/importer/toolbar_importer.cc b/chrome/browser/importer/toolbar_importer.cc
index 0aabcc6..da367f8 100644
--- a/chrome/browser/importer/toolbar_importer.cc
+++ b/chrome/browser/importer/toolbar_importer.cc
@@ -99,7 +99,7 @@ Toolbar5Importer::~Toolbar5Importer() {
DCHECK(!data_fetcher_);
}
-void Toolbar5Importer::StartImport(importer::ProfileInfo profile_info,
+void Toolbar5Importer::StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge) {
DCHECK(bridge);
diff --git a/chrome/browser/importer/toolbar_importer.h b/chrome/browser/importer/toolbar_importer.h
index 1def25d..f83135a 100644
--- a/chrome/browser/importer/toolbar_importer.h
+++ b/chrome/browser/importer/toolbar_importer.h
@@ -42,7 +42,7 @@ class Toolbar5Importer : public URLFetcher::Delegate, public Importer {
// should only either be NONE or FAVORITES, since as of right now these are
// the only items this importer supports. This method provides implementation
// of Importer::StartImport.
- virtual void StartImport(importer::ProfileInfo profile_info,
+ virtual void StartImport(const importer::ProfileInfo& profile_info,
uint16 items,
ImporterBridge* bridge);