Add base:: to string16s in chrome/.

[email protected]
BUG=329295

Review URL: https://codereview.chromium.org/94013004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242048 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/android/testshell/testshell_tab.cc b/chrome/android/testshell/testshell_tab.cc
index 94065d2..285ba37 100644
--- a/chrome/android/testshell/testshell_tab.cc
+++ b/chrome/android/testshell/testshell_tab.cc
@@ -36,13 +36,13 @@
 }
 
 void TestShellTab::OnReceivedHttpAuthRequest(jobject auth_handler,
-                                             const string16& host,
-                                             const string16& realm) {
+                                             const base::string16& host,
+                                             const base::string16& realm) {
   NOTIMPLEMENTED();
 }
 
 void TestShellTab::AddShortcutToBookmark(
-    const GURL& url, const string16& title, const SkBitmap& skbitmap,
+    const GURL& url, const base::string16& title, const SkBitmap& skbitmap,
     int r_value, int g_value, int b_value) {
   NOTIMPLEMENTED();
 }
diff --git a/chrome/android/testshell/testshell_tab.h b/chrome/android/testshell/testshell_tab.h
index 38bebac4..7a9e3d2 100644
--- a/chrome/android/testshell/testshell_tab.h
+++ b/chrome/android/testshell/testshell_tab.h
@@ -42,11 +42,11 @@
   // TabAndroid Methods
   // --------------------------------------------------------------------------
   virtual void OnReceivedHttpAuthRequest(jobject auth_handler,
-                                         const string16& host,
-                                         const string16& realm) OVERRIDE;
+                                         const base::string16& host,
+                                         const base::string16& realm) OVERRIDE;
 
   virtual void AddShortcutToBookmark(const GURL& url,
-                                     const string16& title,
+                                     const base::string16& title,
                                      const SkBitmap& skbitmap,
                                      int r_value,
                                      int g_value,
diff --git a/chrome/app/app_mode_loader_mac.mm b/chrome/app/app_mode_loader_mac.mm
index 6ca8308e..32d54025 100644
--- a/chrome/app/app_mode_loader_mac.mm
+++ b/chrome/app/app_mode_loader_mac.mm
@@ -63,7 +63,7 @@
   }
 
   // ** 2: Read information from the Chrome bundle.
-  string16 raw_version_str;
+  base::string16 raw_version_str;
   base::FilePath version_path;
   base::FilePath framework_shlib_path;
   if (!app_mode::GetChromeBundleInfo(cr_bundle_path, &raw_version_str,
diff --git a/chrome/app/chrome_breakpad_client.cc b/chrome/app/chrome_breakpad_client.cc
index 267584b..479ff20 100644
--- a/chrome/app/chrome_breakpad_client.cc
+++ b/chrome/app/chrome_breakpad_client.cc
@@ -267,7 +267,7 @@
 // point, we read the corresponding registry key directly. The return status
 // indicates whether policy data was successfully read. If it is true,
 // |breakpad_enabled| contains the value set by policy.
-  string16 key_name = UTF8ToUTF16(policy::key::kMetricsReportingEnabled);
+  base::string16 key_name = UTF8ToUTF16(policy::key::kMetricsReportingEnabled);
   DWORD value = 0;
   base::win::RegKey hklm_policy_key(HKEY_LOCAL_MACHINE,
                                     policy::kRegistryChromePolicyKey, KEY_READ);
diff --git a/chrome/app/client_util.cc b/chrome/app/client_util.cc
index 02583716..3d5ba1b 100644
--- a/chrome/app/client_util.cc
+++ b/chrome/app/client_util.cc
@@ -114,7 +114,7 @@
 
   // We limit experiment populations to 1% of the Stable and 10% of each of
   // the other channels.
-  const string16 channel(GoogleUpdateSettings::GetChromeChannel(
+  const base::string16 channel(GoogleUpdateSettings::GetChromeChannel(
       GoogleUpdateSettings::IsSystemInstall()));
   double threshold = (channel == installer::kChromeChannelStable) ? 0.01 : 0.10;
 
@@ -148,7 +148,7 @@
 // Expects that |dir| has a trailing backslash. |dir| is modified so it
 // contains the full path that was tried. Caller must check for the return
 // value not being null to determine if this path contains a valid dll.
-HMODULE LoadChromeWithDirectory(string16* dir) {
+HMODULE LoadChromeWithDirectory(base::string16* dir) {
   ::SetCurrentDirectoryW(dir->c_str());
   const CommandLine& cmd_line = *CommandLine::ForCurrentProcess();
 #if !defined(CHROME_MULTIPLE_DLL)
@@ -176,36 +176,36 @@
                           LOAD_WITH_ALTERED_SEARCH_PATH);
 }
 
-void RecordDidRun(const string16& dll_path) {
+void RecordDidRun(const base::string16& dll_path) {
   bool system_level = !InstallUtil::IsPerUserInstall(dll_path.c_str());
   GoogleUpdateSettings::UpdateDidRunState(true, system_level);
 }
 
-void ClearDidRun(const string16& dll_path) {
+void ClearDidRun(const base::string16& dll_path) {
   bool system_level = !InstallUtil::IsPerUserInstall(dll_path.c_str());
   GoogleUpdateSettings::UpdateDidRunState(false, system_level);
 }
 
 }  // namespace
 
-string16 GetExecutablePath() {
+base::string16 GetExecutablePath() {
   wchar_t path[MAX_PATH];
   ::GetModuleFileNameW(NULL, path, MAX_PATH);
   if (!::PathRemoveFileSpecW(path))
-    return string16();
-  string16 exe_path(path);
+    return base::string16();
+  base::string16 exe_path(path);
   return exe_path.append(1, L'\\');
 }
 
-string16 GetCurrentModuleVersion() {
+base::string16 GetCurrentModuleVersion() {
   scoped_ptr<FileVersionInfo> file_version_info(
       FileVersionInfo::CreateFileVersionInfoForCurrentModule());
   if (file_version_info.get()) {
-    string16 version_string(file_version_info->file_version());
+    base::string16 version_string(file_version_info->file_version());
     if (Version(WideToASCII(version_string)).IsValid())
       return version_string;
   }
-  return string16();
+  return base::string16();
 }
 
 //=============================================================================
@@ -225,14 +225,15 @@
 // If that fails then finally we look at the version resource in the current
 // module. This is the expected path for chrome.exe browser instances in an
 // installed build.
-HMODULE MainDllLoader::Load(string16* out_version, string16* out_file) {
+HMODULE MainDllLoader::Load(base::string16* out_version,
+                            base::string16* out_file) {
   const CommandLine& cmd_line = *CommandLine::ForCurrentProcess();
-  const string16 dir(GetExecutablePath());
+  const base::string16 dir(GetExecutablePath());
   *out_file = dir;
   HMODULE dll = LoadChromeWithDirectory(out_file);
   if (!dll) {
     // Loading from same directory (for developers) failed.
-    string16 version_string;
+    base::string16 version_string;
     if (cmd_line.HasSwitch(switches::kChromeVersion)) {
       // This is used to support Chrome Frame, see http://crbug.com/88589.
       version_string = cmd_line.GetSwitchValueNative(switches::kChromeVersion);
@@ -274,8 +275,8 @@
 // add custom code in the OnBeforeLaunch callback.
 int MainDllLoader::Launch(HINSTANCE instance,
                           sandbox::SandboxInterfaceInfo* sbox_info) {
-  string16 version;
-  string16 file;
+  base::string16 version;
+  base::string16 file;
   dll_ = Load(&version, &file);
   if (!dll_)
     return chrome::RESULT_CODE_MISSING_DATA;
@@ -318,18 +319,18 @@
 
 class ChromeDllLoader : public MainDllLoader {
  public:
-  virtual string16 GetRegistryPath() {
-    string16 key(google_update::kRegPathClients);
+  virtual base::string16 GetRegistryPath() {
+    base::string16 key(google_update::kRegPathClients);
     BrowserDistribution* dist = BrowserDistribution::GetDistribution();
     key.append(L"\\").append(dist->GetAppGuid());
     return key;
   }
 
-  virtual void OnBeforeLaunch(const string16& dll_path) {
+  virtual void OnBeforeLaunch(const base::string16& dll_path) {
     RecordDidRun(dll_path);
   }
 
-  virtual int OnBeforeExit(int return_code, const string16& dll_path) {
+  virtual int OnBeforeExit(int return_code, const base::string16& dll_path) {
     // NORMAL_EXIT_CANCEL is used for experiments when the user cancels
     // so we need to reset the did_run signal so omaha does not count
     // this run as active usage.
@@ -344,7 +345,7 @@
 
 class ChromiumDllLoader : public MainDllLoader {
  public:
-  virtual string16 GetRegistryPath() {
+  virtual base::string16 GetRegistryPath() {
     BrowserDistribution* dist = BrowserDistribution::GetDistribution();
     return dist->GetVersionKey();
   }
diff --git a/chrome/app/client_util.h b/chrome/app/client_util.h
index faefc0d..5b8ebf6d 100644
--- a/chrome/app/client_util.h
+++ b/chrome/app/client_util.h
@@ -17,11 +17,11 @@
 }
 
 // Gets the path of the current exe with a trailing backslash.
-string16 GetExecutablePath();
+base::string16 GetExecutablePath();
 
 // Returns the version in the current module's version resource or the empty
 // string if none found.
-string16 GetCurrentModuleVersion();
+base::string16 GetCurrentModuleVersion();
 
 // Implements the common aspects of loading chrome.dll for both chrome and
 // chromium scenarios, which are in charge of implementing two abstract
@@ -45,21 +45,21 @@
   // Called after chrome.dll has been loaded but before the entry point
   // is invoked. Derived classes can implement custom actions here.
   // |dll_path| refers to the path of the Chrome dll being loaded.
-  virtual void OnBeforeLaunch(const string16& dll_path) {}
+  virtual void OnBeforeLaunch(const base::string16& dll_path) {}
 
   // Called after the chrome.dll entry point returns and before terminating
   // this process. The return value will be used as the process return code.
   // |dll_path| refers to the path of the Chrome dll being loaded.
-  virtual int OnBeforeExit(int return_code, const string16& dll_path) {
+  virtual int OnBeforeExit(int return_code, const base::string16& dll_path) {
     return return_code;
   }
 
  protected:
   // Derived classes must return the relative registry path that holds the
   // most current version of chrome.dll.
-  virtual string16 GetRegistryPath() = 0;
+  virtual base::string16 GetRegistryPath() = 0;
 
-  HMODULE Load(string16* out_version, string16* out_file);
+  HMODULE Load(base::string16* out_version, base::string16* out_file);
 
  private:
   // Chrome.dll handle.
diff --git a/chrome/app/metro_driver_win.cc b/chrome/app/metro_driver_win.cc
index a562711..faaff88 100644
--- a/chrome/app/metro_driver_win.cc
+++ b/chrome/app/metro_driver_win.cc
@@ -46,7 +46,7 @@
     // It is not next to the build output, so this must be an actual deployment
     // and in that case we need the mainloader to find the current version
     // directory.
-    string16 version(GetCurrentModuleVersion());
+    base::string16 version(GetCurrentModuleVersion());
     if (!version.empty()) {
       std::wstring exe_path(GetExecutablePath());
       exe_path.append(version).append(L"\\").append(chrome::kMetroDriverDll);
diff --git a/chrome/installer/gcapi/gcapi_last_run_test.cc b/chrome/installer/gcapi/gcapi_last_run_test.cc
index ba57e59..02a1974 100644
--- a/chrome/installer/gcapi/gcapi_last_run_test.cc
+++ b/chrome/installer/gcapi/gcapi_last_run_test.cc
@@ -55,7 +55,7 @@
     return SetLastRunTimeString(base::Int64ToString16(last_run_time));
   }
 
-  bool SetLastRunTimeString(const string16& last_run_time_string) {
+  bool SetLastRunTimeString(const base::string16& last_run_time_string) {
     const wchar_t* base_path = google_update::kRegPathClientState;
     std::wstring path(base_path);
     path += L"\\";
diff --git a/chrome/installer/gcapi/gcapi_omaha_experiment.cc b/chrome/installer/gcapi/gcapi_omaha_experiment.cc
index 35f2b31..4b64a779 100644
--- a/chrome/installer/gcapi/gcapi_omaha_experiment.cc
+++ b/chrome/installer/gcapi/gcapi_omaha_experiment.cc
@@ -27,7 +27,7 @@
 }
 
 bool SetExperimentLabel(const wchar_t* brand_code,
-                        const string16& label,
+                        const base::string16& label,
                         int shell_mode) {
   if (!brand_code) {
     return false;
@@ -35,22 +35,22 @@
 
   const bool system_level = shell_mode == GCAPI_INVOKED_UAC_ELEVATION;
 
-  string16 original_labels;
+  base::string16 original_labels;
   if (!GoogleUpdateSettings::ReadExperimentLabels(system_level,
                                                   &original_labels)) {
     return false;
   }
 
   // Split the original labels by the label separator.
-  std::vector<string16> entries;
+  std::vector<base::string16> entries;
   base::SplitStringUsingSubstr(
       original_labels,
       ASCIIToUTF16(google_update::kExperimentLabelSep),
       &entries);
 
   // Keep all labels, but the one we want to add/replace.
-  string16 new_labels;
-  for (std::vector<string16>::const_iterator it = entries.begin();
+  base::string16 new_labels;
+  for (std::vector<base::string16>::const_iterator it = entries.begin();
        it != entries.end(); ++it) {
     if (!it->empty() && !StartsWith(*it, label + L"=", true)) {
       new_labels += *it;
@@ -72,8 +72,8 @@
 const wchar_t kReactivationLabel[] = L"reacbrand";
 const wchar_t kRelaunchLabel[] = L"relaunchbrand";
 
-string16 GetGCAPIExperimentLabel(const wchar_t* brand_code,
-                                 const string16& label) {
+base::string16 GetGCAPIExperimentLabel(const wchar_t* brand_code,
+                                       const base::string16& label) {
   // Keeps a fixed time state for this GCAPI instance; this makes tests reliable
   // when crossing time boundaries on the system clock and doesn't otherwise
   // affect results of this short lived binary.
@@ -83,7 +83,7 @@
 
   base::Time instance_time = base::Time::FromTimeT(instance_time_value);
 
-  string16 gcapi_experiment_label;
+  base::string16 gcapi_experiment_label;
   base::SStringPrintf(&gcapi_experiment_label,
                       L"%ls=%ls_%d|%ls",
                       label.c_str(),
diff --git a/chrome/installer/gcapi/gcapi_omaha_experiment.h b/chrome/installer/gcapi/gcapi_omaha_experiment.h
index d64bc4b..8e5d79f0 100644
--- a/chrome/installer/gcapi/gcapi_omaha_experiment.h
+++ b/chrome/installer/gcapi/gcapi_omaha_experiment.h
@@ -14,8 +14,8 @@
 
 // Returns the full experiment label to be used by |label| (which is one of the
 // labels declared above) for |brand_code|.
-string16 GetGCAPIExperimentLabel(const wchar_t* brand_code,
-                                 const string16& label);
+base::string16 GetGCAPIExperimentLabel(const wchar_t* brand_code,
+                                       const base::string16& label);
 
 }  // namespace gcapi_internals
 
diff --git a/chrome/installer/gcapi/gcapi_omaha_experiment_test.cc b/chrome/installer/gcapi/gcapi_omaha_experiment_test.cc
index 50b4a80..a464141 100644
--- a/chrome/installer/gcapi/gcapi_omaha_experiment_test.cc
+++ b/chrome/installer/gcapi/gcapi_omaha_experiment_test.cc
@@ -31,16 +31,16 @@
             kBrand, gcapi_internals::kRelaunchLabel)) {
   }
 
-  void VerifyExperimentLabels(const string16& expected_labels) {
-    string16 actual_labels;
+  void VerifyExperimentLabels(const base::string16& expected_labels) {
+    base::string16 actual_labels;
     EXPECT_TRUE(GoogleUpdateSettings::ReadExperimentLabels(false,
                                                            &actual_labels));
     EXPECT_EQ(expected_labels, actual_labels);
   }
 
-  string16 brand_;
-  string16 reactivation_label_;
-  string16 relaunch_label_;
+  base::string16 brand_;
+  base::string16 reactivation_label_;
+  base::string16 relaunch_label_;
 
   const GCAPITestRegistryOverrider gcapi_test_registry_overrider_;
 };
@@ -63,7 +63,7 @@
 
   ASSERT_TRUE(SetReactivationExperimentLabels(kBrand, kUserLevel));
 
-  string16 expected_labels(kSomeExperiments);
+  base::string16 expected_labels(kSomeExperiments);
   expected_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   expected_labels.append(reactivation_label_);
   VerifyExperimentLabels(expected_labels);
@@ -71,7 +71,7 @@
 
 TEST_F(GCAPIOmahaExperimentTest,
        SetReactivationLabelWithExistingIdenticalExperiment) {
-  string16 previous_labels(kSomeExperiments);
+  base::string16 previous_labels(kSomeExperiments);
   previous_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   previous_labels.append(reactivation_label_);
   previous_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
@@ -80,7 +80,7 @@
 
   ASSERT_TRUE(SetReactivationExperimentLabels(kBrand, kUserLevel));
 
-  string16 expected_labels(kSomeExperiments);
+  base::string16 expected_labels(kSomeExperiments);
   expected_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   expected_labels.append(kSomeOtherExperiments);
   expected_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
@@ -90,14 +90,14 @@
 
 TEST_F(GCAPIOmahaExperimentTest,
        SetReactivationLabelWithExistingIdenticalAtBeginning) {
-  string16 previous_labels(reactivation_label_);
+  base::string16 previous_labels(reactivation_label_);
   previous_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   previous_labels.append(kSomeExperiments);
   GoogleUpdateSettings::SetExperimentLabels(false, previous_labels);
 
   ASSERT_TRUE(SetReactivationExperimentLabels(kBrand, kUserLevel));
 
-  string16 expected_labels(kSomeExperiments);
+  base::string16 expected_labels(kSomeExperiments);
   expected_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   expected_labels.append(reactivation_label_);
   VerifyExperimentLabels(expected_labels);
@@ -105,7 +105,7 @@
 
 TEST_F(GCAPIOmahaExperimentTest,
        SetReactivationLabelWithFakeMatchInAnExperiment) {
-  string16 previous_labels(kSomeExperiments);
+  base::string16 previous_labels(kSomeExperiments);
   previous_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   previous_labels.append(L"blah_");
   // Shouldn't match deletion criteria.
@@ -121,7 +121,7 @@
 
   ASSERT_TRUE(SetReactivationExperimentLabels(kBrand, kUserLevel));
 
-  string16 expected_labels(kSomeExperiments);
+  base::string16 expected_labels(kSomeExperiments);
   expected_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   expected_labels.append(L"blah_");
   expected_labels.append(reactivation_label_);
@@ -136,7 +136,7 @@
 
 TEST_F(GCAPIOmahaExperimentTest,
        SetReactivationLabelWithFakeMatchInAnExperimentAndNoRealMatch) {
-  string16 previous_labels(kSomeExperiments);
+  base::string16 previous_labels(kSomeExperiments);
   previous_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   previous_labels.append(L"blah_");
   // Shouldn't match deletion criteria.
@@ -147,7 +147,7 @@
 
   ASSERT_TRUE(SetReactivationExperimentLabels(kBrand, kUserLevel));
 
-  string16 expected_labels(kSomeExperiments);
+  base::string16 expected_labels(kSomeExperiments);
   expected_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   expected_labels.append(L"blah_");
   expected_labels.append(reactivation_label_);
@@ -160,7 +160,7 @@
 
 TEST_F(GCAPIOmahaExperimentTest,
        SetReactivationLabelWithExistingEntryWithLabelAsPrefix) {
-  string16 previous_labels(kSomeExperiments);
+  base::string16 previous_labels(kSomeExperiments);
   previous_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   // Append prefix matching the label, but not followed by '='.
   previous_labels.append(gcapi_internals::kReactivationLabel);
@@ -170,7 +170,7 @@
 
   ASSERT_TRUE(SetReactivationExperimentLabels(kBrand, kUserLevel));
 
-  string16 expected_labels(kSomeExperiments);
+  base::string16 expected_labels(kSomeExperiments);
   expected_labels.append(ASCIIToUTF16(google_update::kExperimentLabelSep));
   expected_labels.append(gcapi_internals::kReactivationLabel);
   expected_labels.append(kSomeOtherExperiments);
diff --git a/chrome/installer/gcapi/gcapi_reactivation_test.cc b/chrome/installer/gcapi/gcapi_reactivation_test.cc
index 0928fd7f..144e616 100644
--- a/chrome/installer/gcapi/gcapi_reactivation_test.cc
+++ b/chrome/installer/gcapi/gcapi_reactivation_test.cc
@@ -41,7 +41,8 @@
     return SetLastRunTimeString(hive, base::Int64ToString16(last_run_time));
   }
 
-  bool SetLastRunTimeString(HKEY hive, const string16& last_run_time_string) {
+  bool SetLastRunTimeString(HKEY hive,
+                            const base::string16& last_run_time_string) {
     const wchar_t* base_path =
         (hive == HKEY_LOCAL_MACHINE) ?
             google_update::kRegPathClientStateMedium :
@@ -58,7 +59,7 @@
   }
 
   bool HasExperimentLabels(HKEY hive) {
-    string16 client_state_path(google_update::kRegPathClientState);
+    base::string16 client_state_path(google_update::kRegPathClientState);
     client_state_path.push_back(L'\\');
     client_state_path.append(google_update::kChromeUpgradeCode);
 
diff --git a/chrome/installer/launcher_support/chrome_launcher_support.cc b/chrome/installer/launcher_support/chrome_launcher_support.cc
index 5705e24..c28bf99 100644
--- a/chrome/installer/launcher_support/chrome_launcher_support.cc
+++ b/chrome/installer/launcher_support/chrome_launcher_support.cc
@@ -50,10 +50,10 @@
 bool GetClientStateValue(InstallationLevel level,
                          const wchar_t* app_guid,
                          const wchar_t* value_name,
-                         string16* value) {
+                         base::string16* value) {
   HKEY root_key = (level == USER_LEVEL_INSTALLATION) ?
       HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE;
-  string16 subkey(kGoogleRegClientStateKey);
+  base::string16 subkey(kGoogleRegClientStateKey);
   subkey.append(1, L'\\').append(app_guid);
   base::win::RegKey reg_key;
   // Google Update always uses 32bit hive.
@@ -71,7 +71,7 @@
 bool IsProductInstalled(InstallationLevel level, const wchar_t* app_guid) {
   HKEY root_key = (level == USER_LEVEL_INSTALLATION) ?
       HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE;
-  string16 subkey(kGoogleRegClientsKey);
+  base::string16 subkey(kGoogleRegClientsKey);
   subkey.append(1, L'\\').append(app_guid);
   base::win::RegKey reg_key;
   // Google Update always uses 32bit hive.
@@ -81,7 +81,7 @@
 }
 
 bool IsAppLauncherEnabledAtLevel(InstallationLevel level) {
-  string16 uninstall_arguments;
+  base::string16 uninstall_arguments;
   if (GetClientStateValue(level,
                           kAppHostAppId,
                           kUninstallArgumentsField,
@@ -98,7 +98,7 @@
 // an error occurs or the product is not installed at the specified level.
 base::FilePath GetSetupExeFromRegistry(InstallationLevel level,
                                        const wchar_t* app_guid) {
-  string16 uninstall;
+  base::string16 uninstall;
   if (GetClientStateValue(level, app_guid, kUninstallStringField, &uninstall)) {
     base::FilePath setup_exe_path(uninstall);
     if (base::PathExists(setup_exe_path))
@@ -135,7 +135,7 @@
   base::FilePath setup_exe(GetSetupExeFromRegistry(level, kAppHostAppId));
   if (setup_exe.empty())
     return;
-  string16 uninstall_arguments;
+  base::string16 uninstall_arguments;
   if (GetClientStateValue(level,
                           kAppHostAppId,
                           kUninstallArgumentsField,
diff --git a/chrome/installer/setup/archive_patch_helper.cc b/chrome/installer/setup/archive_patch_helper.cc
index c45189d..4ef6bc4 100644
--- a/chrome/installer/setup/archive_patch_helper.cc
+++ b/chrome/installer/setup/archive_patch_helper.cc
@@ -40,7 +40,7 @@
   DCHECK(!base::PathExists(target_));
 
   // UnPackArchive takes care of logging.
-  string16 output_file;
+  base::string16 output_file;
   int32 lzma_result = LzmaUtil::UnPackArchive(compressed_archive_.value(),
                                               working_directory_.value(),
                                               &output_file);
diff --git a/chrome/installer/setup/install.cc b/chrome/installer/setup/install.cc
index c8b071c..66c081a 100644
--- a/chrome/installer/setup/install.cc
+++ b/chrome/installer/setup/install.cc
@@ -131,7 +131,7 @@
 }
 
 void AddChromeToMediaPlayerList() {
-  string16 reg_path(installer::kMediaPlayerRegPath);
+  base::string16 reg_path(installer::kMediaPlayerRegPath);
   // registry paths can also be appended like file system path
   reg_path.push_back(base::FilePath::kSeparators[0]);
   reg_path.append(installer::kChromeExe);
@@ -297,7 +297,7 @@
 
 namespace installer {
 
-void EscapeXmlAttributeValueInSingleQuotes(string16* att_value) {
+void EscapeXmlAttributeValueInSingleQuotes(base::string16* att_value) {
   base::ReplaceChars(*att_value, L"&", L"&amp;", att_value);
   base::ReplaceChars(*att_value, L"'", L"&apos;", att_value);
   base::ReplaceChars(*att_value, L"<", L"&lt;", att_value);
@@ -306,7 +306,7 @@
 bool CreateVisualElementsManifest(const base::FilePath& src_path,
                                   const Version& version) {
   // Construct the relative path to the versioned VisualElements directory.
-  string16 elements_dir(ASCIIToUTF16(version.GetString()));
+  base::string16 elements_dir(ASCIIToUTF16(version.GetString()));
   elements_dir.push_back(base::FilePath::kSeparators[0]);
   elements_dir.append(installer::kVisualElements);
 
@@ -334,19 +334,18 @@
         "  </VisualElements>\r\n"
         "</Application>";
 
-    const string16 manifest_template(ASCIIToUTF16(kManifestTemplate));
+    const base::string16 manifest_template(ASCIIToUTF16(kManifestTemplate));
 
     BrowserDistribution* dist = BrowserDistribution::GetSpecificDistribution(
         BrowserDistribution::CHROME_BROWSER);
     // TODO(grt): http://crbug.com/75152 Write a reference to a localized
     // resource for |display_name|.
-    string16 display_name(dist->GetDisplayName());
+    base::string16 display_name(dist->GetDisplayName());
     EscapeXmlAttributeValueInSingleQuotes(&display_name);
 
     // Fill the manifest with the desired values.
-    string16 manifest16(base::StringPrintf(manifest_template.c_str(),
-                                           display_name.c_str(),
-                                           elements_dir.c_str()));
+    base::string16 manifest16(base::StringPrintf(
+        manifest_template.c_str(), display_name.c_str(), elements_dir.c_str()));
 
     // Write the manifest to |src_path|.
     const std::string manifest(UTF16ToUTF8(manifest16));
@@ -484,7 +483,7 @@
   // Make Chrome the default browser if desired when possible. Otherwise, only
   // register it with Windows.
   BrowserDistribution* dist = product.distribution();
-  const string16 chrome_exe(
+  const base::string16 chrome_exe(
       installer_state.target_path().Append(installer::kChromeExe).value());
   VLOG(1) << "Registering Chrome as browser: " << chrome_exe;
   if (make_chrome_default && ShellUtil::CanMakeChromeDefaultUnattended()) {
@@ -493,7 +492,7 @@
       level = level | ShellUtil::SYSTEM_LEVEL;
     ShellUtil::MakeChromeDefault(dist, level, chrome_exe, true);
   } else {
-    ShellUtil::RegisterChromeBrowser(dist, chrome_exe, string16(), false);
+    ShellUtil::RegisterChromeBrowser(dist, chrome_exe, base::string16(), false);
   }
 }
 
diff --git a/chrome/installer/setup/install.h b/chrome/installer/setup/install.h
index 22cb8d9..a700b3c8 100644
--- a/chrome/installer/setup/install.h
+++ b/chrome/installer/setup/install.h
@@ -52,7 +52,7 @@
 // Escape |att_value| as per the XML AttValue production
 // (http://www.w3.org/TR/2008/REC-xml-20081126/#NT-AttValue) for a value in
 // single quotes.
-void EscapeXmlAttributeValueInSingleQuotes(string16* att_value);
+void EscapeXmlAttributeValueInSingleQuotes(base::string16* att_value);
 
 // Creates VisualElementsManifest.xml beside chrome.exe in |src_path| if
 // |src_path|\VisualElements exists.
diff --git a/chrome/installer/setup/install_unittest.cc b/chrome/installer/setup/install_unittest.cc
index b3eccf63..99337d0 100644
--- a/chrome/installer/setup/install_unittest.cc
+++ b/chrome/installer/setup/install_unittest.cc
@@ -117,10 +117,10 @@
         new base::ScopedPathOverride(base::DIR_COMMON_START_MENU,
                                      fake_common_start_menu_.path()));
 
-    string16 shortcut_name(
+    base::string16 shortcut_name(
         dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
         installer::kLnkExt);
-    string16 alternate_shortcut_name(
+    base::string16 alternate_shortcut_name(
         dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME_ALTERNATE) +
         installer::kLnkExt);
 
@@ -426,7 +426,7 @@
 }
 
 TEST(EscapeXmlAttributeValueTest, EscapeCrazyValue) {
-  string16 val(L"This has 'crazy' \"chars\" && < and > signs.");
+  base::string16 val(L"This has 'crazy' \"chars\" && < and > signs.");
   static const wchar_t kExpectedEscapedVal[] =
       L"This has &apos;crazy&apos; \"chars\" &amp;&amp; &lt; and > signs.";
   installer::EscapeXmlAttributeValueInSingleQuotes(&val);
@@ -434,7 +434,7 @@
 }
 
 TEST(EscapeXmlAttributeValueTest, DontEscapeNormalValue) {
-  string16 val(L"Google Chrome");
+  base::string16 val(L"Google Chrome");
   static const wchar_t kExpectedEscapedVal[] = L"Google Chrome";
   installer::EscapeXmlAttributeValueInSingleQuotes(&val);
   ASSERT_STREQ(kExpectedEscapedVal, val.c_str());
diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc
index 94b5fbef..4dc5dee 100644
--- a/chrome/installer/setup/install_worker.cc
+++ b/chrome/installer/setup/install_worker.cc
@@ -89,7 +89,7 @@
     L"SOFTWARE\\Microsoft\\Internet Explorer\\Low Rights\\ElevationPolicy\\";
 
 void GetIELowRightsElevationPolicyKeyPath(ElevationPolicyId policy,
-                                          string16* key_path) {
+                                          base::string16* key_path) {
   DCHECK(policy == CURRENT_ELEVATION_POLICY || policy == OLD_ELEVATION_POLICY);
   key_path->assign(kElevationPolicyKeyPath,
                    arraysize(kElevationPolicyKeyPath) - 1);
@@ -211,9 +211,9 @@
   }
 }
 
-string16 GetRegCommandKey(BrowserDistribution* dist,
-                          const wchar_t* name) {
-  string16 cmd_key(dist->GetVersionKey());
+base::string16 GetRegCommandKey(BrowserDistribution* dist,
+                                const wchar_t* name) {
+  base::string16 cmd_key(dist->GetVersionKey());
   cmd_key.append(1, base::FilePath::kSeparators[0])
       .append(google_update::kRegCommandsKey)
       .append(1, base::FilePath::kSeparators[0])
@@ -240,7 +240,8 @@
   DCHECK(command_with_parameter);
   DCHECK(work_item_list);
 
-  string16 full_cmd_key(GetRegCommandKey(product.distribution(), command_key));
+  base::string16 full_cmd_key(
+      GetRegCommandKey(product.distribution(), command_key));
 
   if (installer_state.operation() == InstallerState::UNINSTALL) {
     work_item_list->AddDeleteRegKeyWorkItem(
@@ -352,8 +353,8 @@
   // always at user-level).  So we do not try to remove the command, i.e., it
   // will always be installed if the Chrome Binaries are installed.
   if (will_have_chrome_binaries) {
-    string16 cmd_key(GetRegCommandKey(
-                         BrowserDistribution::GetSpecificDistribution(
+    base::string16 cmd_key(
+        GetRegCommandKey(BrowserDistribution::GetSpecificDistribution(
                              BrowserDistribution::CHROME_BINARIES),
                          kCmdQuickEnableApplicationHost));
     CommandLine cmd_line(GetGenericQuickEnableCommand(installer_state,
@@ -415,7 +416,7 @@
 
   // First attempt to delete the old installation's ARP dialog entry.
   HKEY reg_root = installer_state.root_key();
-  string16 uninstall_reg(product.distribution()->GetUninstallRegPath());
+  base::string16 uninstall_reg(product.distribution()->GetUninstallRegPath());
 
   WorkItem* delete_reg_key = work_item_list->AddDeleteRegKeyWorkItem(
       reg_root, uninstall_reg);
@@ -568,7 +569,7 @@
 // the path to the binary, which changes on updates.  This callback
 // unconditionally returns true since an install should not be aborted if the
 // probe fails.
-bool ProbeCommandExecuteCallback(const string16& command_execute_id,
+bool ProbeCommandExecuteCallback(const base::string16& command_execute_id,
                                  const CallbackWorkItem& work_item) {
   // Noop on rollback.
   if (work_item.IsRollback())
@@ -593,9 +594,10 @@
   return true;
 }
 
-void AddUninstallDelegateExecuteWorkItems(HKEY root,
-                                          const string16& delegate_execute_path,
-                                          WorkItemList* list) {
+void AddUninstallDelegateExecuteWorkItems(
+    HKEY root,
+    const base::string16& delegate_execute_path,
+    WorkItemList* list) {
   VLOG(1) << "Adding unregistration items for DelegateExecute verb handler in "
           << root;
   list->AddDeleteRegKeyWorkItem(root, delegate_execute_path);
@@ -627,13 +629,13 @@
 void CleanupBadCanaryDelegateExecuteRegistration(
     const base::FilePath& target_path,
     WorkItemList* list) {
-  string16 google_chrome_delegate_execute_path(
+  base::string16 google_chrome_delegate_execute_path(
       L"Software\\Classes\\CLSID\\{5C65F4B0-3651-4514-B207-D10CB699B14B}");
-  string16 google_chrome_local_server_32(
+  base::string16 google_chrome_local_server_32(
       google_chrome_delegate_execute_path + L"\\LocalServer32");
 
   RegKey local_server_32_key;
-  string16 registered_server;
+  base::string16 registered_server;
   if (local_server_32_key.Open(HKEY_CURRENT_USER,
                                google_chrome_local_server_32.c_str(),
                                KEY_QUERY_VALUE) == ERROR_SUCCESS &&
@@ -681,7 +683,7 @@
   AppendUninstallCommandLineFlags(installer_state, product,
                                   &uninstall_arguments);
 
-  string16 update_state_key(browser_dist->GetStateKey());
+  base::string16 update_state_key(browser_dist->GetStateKey());
   install_list->AddCreateRegKeyWorkItem(reg_root, update_state_key);
   install_list->AddSetRegValueWorkItem(reg_root, update_state_key,
       installer::kUninstallStringField, installer_path.value(), true);
@@ -696,7 +698,7 @@
     DCHECK_EQ(quoted_uninstall_cmd.GetCommandLineString()[0], '"');
     quoted_uninstall_cmd.AppendArguments(uninstall_arguments, false);
 
-    string16 uninstall_reg = browser_dist->GetUninstallRegPath();
+    base::string16 uninstall_reg = browser_dist->GetUninstallRegPath();
     install_list->AddCreateRegKeyWorkItem(reg_root, uninstall_reg);
     install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg,
         installer::kUninstallDisplayNameField, browser_dist->GetDisplayName(),
@@ -711,7 +713,7 @@
                                          true);
 
     BrowserDistribution* dist = product.distribution();
-    string16 chrome_icon = ShellUtil::FormatIconLocation(
+    base::string16 chrome_icon = ShellUtil::FormatIconLocation(
         install_path.Append(dist->GetIconFilename()).value(),
         dist->GetIconIndex(BrowserDistribution::SHORTCUT_CHROME));
     install_list->AddSetRegValueWorkItem(reg_root, uninstall_reg,
@@ -760,10 +762,10 @@
                             WorkItemList* list) {
   // Create Version key for each distribution (if not already present) and set
   // the new product version as the last step.
-  string16 version_key(dist->GetVersionKey());
+  base::string16 version_key(dist->GetVersionKey());
   list->AddCreateRegKeyWorkItem(root, version_key);
 
-  string16 product_name(dist->GetDisplayName());
+  base::string16 product_name(dist->GetDisplayName());
   list->AddSetRegValueWorkItem(root, version_key, google_update::kRegNameField,
                                product_name, true);  // overwrite name also
   list->AddSetRegValueWorkItem(root, version_key,
@@ -774,7 +776,7 @@
     // Write the language identifier of the current translation.  Omaha's set of
     // languages is a superset of Chrome's set of translations with this one
     // exception: what Chrome calls "en-us", Omaha calls "en".  sigh.
-    string16 language(GetCurrentTranslation());
+    base::string16 language(GetCurrentTranslation());
     if (LowerCaseEqualsASCII(language, "en-us"))
       language.resize(2);
     list->AddSetRegValueWorkItem(root, version_key,
@@ -799,7 +801,7 @@
   if (!original_state.GetProductState(system_install,
                                       BrowserDistribution::CHROME_BINARIES)) {
     const HKEY root_key = installer_state.root_key();
-    string16 multi_key(
+    base::string16 multi_key(
         installer_state.multi_package_binaries_distribution()->GetStateKey());
 
     // Copy the value from Chrome unless Chrome isn't installed or being
@@ -818,7 +820,7 @@
     const ProductState* source_product =
         original_state.GetNonVersionedProductState(system_install, source_type);
 
-    string16 oem_install;
+    base::string16 oem_install;
     if (source_product->GetOemInstall(&oem_install)) {
       VLOG(1) << "Mirroring oeminstall=\"" << oem_install << "\" from "
               << BrowserDistribution::GetSpecificDistribution(source_type)->
@@ -848,7 +850,7 @@
   if (!original_state.GetProductState(system_install,
                                       BrowserDistribution::CHROME_BINARIES)) {
     const HKEY root_key = installer_state.root_key();
-    string16 multi_key(
+    base::string16 multi_key(
         installer_state.multi_package_binaries_distribution()->GetStateKey());
 
     // Copy the value from the product with the greatest value.
@@ -903,7 +905,7 @@
 
   const bool system_install = installer_state.system_install();
   const HKEY root_key = installer_state.root_key();
-  string16 multi_key(
+  base::string16 multi_key(
       installer_state.multi_package_binaries_distribution()->GetStateKey());
 
   // For system-level installs, make sure the ClientStateMedium key for the
@@ -923,7 +925,7 @@
         original_state.GetNonVersionedProductState(
             system_install, BrowserDistribution::CHROME_BROWSER);
 
-    const string16& brand(chrome_product_state->brand());
+    const base::string16& brand(chrome_product_state->brand());
     if (!brand.empty()) {
       install_list->AddCreateRegKeyWorkItem(root_key, multi_key);
       // Write Chrome's brand code to the multi key. Never overwrite the value
@@ -970,7 +972,7 @@
   // If a value was found, write it in the appropriate location for the
   // binaries and remove all values from the products.
   if (value_found) {
-    string16 state_key(
+    base::string16 state_key(
         installer_state.multi_package_binaries_distribution()->GetStateKey());
     install_list->AddCreateRegKeyWorkItem(root_key, state_key);
     // Overwrite any existing value so that overinstalls (where Omaha writes a
@@ -1039,7 +1041,7 @@
     if (installer_state.verbose_logging())
       rename.AppendSwitch(switches::kVerboseLogging);
 
-    string16 version_key;
+    base::string16 version_key;
     for (size_t i = 0; i < products.size(); ++i) {
       BrowserDistribution* dist = products[i]->distribution();
       version_key = dist->GetVersionKey();
@@ -1090,7 +1092,7 @@
     // Since this was not an in-use-update, delete 'opv', 'cpv', and 'cmd' keys.
     for (size_t i = 0; i < products.size(); ++i) {
       BrowserDistribution* dist = products[i]->distribution();
-      string16 version_key(dist->GetVersionKey());
+      base::string16 version_key(dist->GetVersionKey());
       regular_update_work_items->AddDeleteRegValueWorkItem(root, version_key,
           google_update::kRegOldVersionField);
       regular_update_work_items->AddDeleteRegValueWorkItem(root, version_key,
@@ -1272,7 +1274,7 @@
                                  const Version& new_version,
                                  const Product& product,
                                  WorkItemList* list) {
-  string16 handler_class_uuid;
+  base::string16 handler_class_uuid;
   BrowserDistribution* dist = product.distribution();
   if (!dist->GetCommandExecuteImplClsid(&handler_class_uuid)) {
     if (InstallUtil::IsChromeSxSProcess()) {
@@ -1285,7 +1287,7 @@
   }
 
   HKEY root = installer_state.root_key();
-  string16 delegate_execute_path(L"Software\\Classes\\CLSID\\");
+  base::string16 delegate_execute_path(L"Software\\Classes\\CLSID\\");
   delegate_execute_path.append(handler_class_uuid);
 
   // Unconditionally remove registration regardless of whether or not it is
@@ -1310,14 +1312,14 @@
     delegate_execute = delegate_execute.Append(kDelegateExecuteExe);
 
     // Command-line featuring the quoted path to the exe.
-    string16 command(1, L'"');
+    base::string16 command(1, L'"');
     command.append(delegate_execute.value()).append(1, L'"');
 
     // Register the CommandExecuteImpl class in Software\Classes\CLSID\...
     list->AddCreateRegKeyWorkItem(root, delegate_execute_path);
     list->AddSetRegValueWorkItem(root, delegate_execute_path, L"",
                                  L"CommandExecuteImpl Class", true);
-    string16 subkey(delegate_execute_path);
+    base::string16 subkey(delegate_execute_path);
     subkey.append(L"\\LocalServer32");
     list->AddCreateRegKeyWorkItem(root, subkey);
     list->AddSetRegValueWorkItem(root, subkey, L"", command, true);
@@ -1347,7 +1349,7 @@
   DCHECK(installer_state.RequiresActiveSetup());
 
   const HKEY root = HKEY_LOCAL_MACHINE;
-  const string16 active_setup_path(InstallUtil::GetActiveSetupPath(dist));
+  const base::string16 active_setup_path(InstallUtil::GetActiveSetupPath(dist));
 
   VLOG(1) << "Adding registration items for Active Setup.";
   list->AddCreateRegKeyWorkItem(root, active_setup_path);
@@ -1381,7 +1383,7 @@
     WorkItemList* install_list) {
   DCHECK(install_list);
 
-  string16 key_path;
+  base::string16 key_path;
   GetIELowRightsElevationPolicyKeyPath(OLD_ELEVATION_POLICY, &key_path);
   install_list->AddDeleteRegKeyWorkItem(installer_state.root_key(), key_path);
 }
@@ -1395,8 +1397,8 @@
                                        WorkItemList* install_list) {
   DCHECK(install_list);
 
-  string16 current_key_path;
-  string16 old_key_path;
+  base::string16 current_key_path;
+  base::string16 old_key_path;
 
   GetIELowRightsElevationPolicyKeyPath(CURRENT_ELEVATION_POLICY,
                                        &current_key_path);
@@ -1457,7 +1459,8 @@
                            const Product& product,
                            WorkItemList* install_list) {
   const HKEY root_key = installer_state.root_key();
-  string16 cmd_key(GetRegCommandKey(product.distribution(), kCmdOnOsUpgrade));
+  base::string16 cmd_key(
+      GetRegCommandKey(product.distribution(), kCmdOnOsUpgrade));
 
   if (installer_state.operation() == InstallerState::UNINSTALL) {
     install_list->AddDeleteRegKeyWorkItem(root_key, cmd_key)->
@@ -1489,8 +1492,8 @@
                                      const Product& product,
                                      WorkItemList* work_item_list) {
   const HKEY root_key = installer_state.root_key();
-  string16 cmd_key(GetRegCommandKey(product.distribution(),
-                                    kCmdQueryEULAAcceptance));
+  base::string16 cmd_key(
+      GetRegCommandKey(product.distribution(), kCmdQueryEULAAcceptance));
   if (installer_state.operation() == InstallerState::UNINSTALL) {
     work_item_list->AddDeleteRegKeyWorkItem(root_key, cmd_key)->
         set_log_message("Removing query EULA acceptance command");
@@ -1514,8 +1517,8 @@
                                         WorkItemList* work_item_list) {
   DCHECK(work_item_list);
 
-  string16 cmd_key(GetRegCommandKey(
-                       BrowserDistribution::GetSpecificDistribution(
+  base::string16 cmd_key(
+      GetRegCommandKey(BrowserDistribution::GetSpecificDistribution(
                            BrowserDistribution::CHROME_BINARIES),
                        kCmdQuickEnableCf));
 
diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc
index 0f8084c..6f78cfe 100644
--- a/chrome/installer/setup/setup_main.cc
+++ b/chrome/installer/setup/setup_main.cc
@@ -264,7 +264,7 @@
   // products we're operating on (which including the multi-install binaries).
   const Products& products = installer_state->products();
   HKEY reg_root = installer_state->root_key();
-  string16 version_key;
+  base::string16 version_key;
   for (Products::const_iterator it = products.begin(); it < products.end();
        ++it) {
     version_key = (*it)->distribution()->GetVersionKey();
@@ -861,9 +861,9 @@
   return install_status;
 }
 
-installer::InstallStatus ShowEULADialog(const string16& inner_frame) {
+installer::InstallStatus ShowEULADialog(const base::string16& inner_frame) {
   VLOG(1) << "About to show EULA";
-  string16 eula_path = installer::GetLocalizedEulaResource();
+  base::string16 eula_path = installer::GetLocalizedEulaResource();
   if (eula_path.empty()) {
     LOG(ERROR) << "No EULA path available";
     return installer::EULA_REJECTED;
@@ -904,9 +904,8 @@
   GetModuleFileName(NULL, exe_path, arraysize(exe_path));
   bool is_per_user_install = InstallUtil::IsPerUserInstall(exe_path);
 
-  string16 app_model_id =
-      ShellUtil::GetBrowserModelId(BrowserDistribution::GetDistribution(),
-                                   is_per_user_install);
+  base::string16 app_model_id = ShellUtil::GetBrowserModelId(
+      BrowserDistribution::GetDistribution(), is_per_user_install);
 
   base::win::ScopedComPtr<IApplicationActivationManager> activator;
   HRESULT hr = activator.CreateInstance(CLSID_ApplicationActivationManager);
@@ -941,9 +940,9 @@
     static const wchar_t kPleaseUninstallYourChromeMessage[] =
         L"You already have a full-installation (non-dev) of %1ls, please "
         L"uninstall it first using Add/Remove Programs in the control panel.";
-    string16 name(chrome_dist->GetDisplayName());
-    string16 message(base::StringPrintf(kPleaseUninstallYourChromeMessage,
-                                        name.c_str()));
+    base::string16 name(chrome_dist->GetDisplayName());
+    base::string16 message(
+        base::StringPrintf(kPleaseUninstallYourChromeMessage, name.c_str()));
 
     LOG(ERROR) << "Aborting operation: another installation of " << name
                << " was found, as a last resort (if the product is not present "
@@ -1048,7 +1047,7 @@
   } else if (cmd_line.HasSwitch(installer::switches::kShowEula)) {
     // Check if we need to show the EULA. If it is passed as a command line
     // then the dialog is shown and regardless of the outcome setup exits here.
-    string16 inner_frame =
+    base::string16 inner_frame =
         cmd_line.GetSwitchValueNative(installer::switches::kShowEula);
     *exit_code = ShowEULADialog(inner_frame);
 
@@ -1104,16 +1103,16 @@
       // These options should only be used when setup.exe is launched with admin
       // rights. We do not make any user specific changes with this option.
       DCHECK(IsUserAnAdmin());
-      string16 chrome_exe(cmd_line.GetSwitchValueNative(
+      base::string16 chrome_exe(cmd_line.GetSwitchValueNative(
           installer::switches::kRegisterChromeBrowser));
-      string16 suffix;
+      base::string16 suffix;
       if (cmd_line.HasSwitch(
           installer::switches::kRegisterChromeBrowserSuffix)) {
         suffix = cmd_line.GetSwitchValueNative(
             installer::switches::kRegisterChromeBrowserSuffix);
       }
       if (cmd_line.HasSwitch(installer::switches::kRegisterURLProtocol)) {
-        string16 protocol = cmd_line.GetSwitchValueNative(
+        base::string16 protocol = cmd_line.GetSwitchValueNative(
             installer::switches::kRegisterURLProtocol);
         // ShellUtil::RegisterChromeForProtocol performs all registration
         // done by ShellUtil::RegisterChromeBrowser, as well as registering
@@ -1141,7 +1140,7 @@
     // Here we delete Chrome browser registration. This option should only
     // be used when setup.exe is launched with admin rights. We do not
     // make any user specific changes in this option.
-    string16 suffix;
+    base::string16 suffix;
     if (cmd_line.HasSwitch(
             installer::switches::kRegisterChromeBrowserSuffix)) {
       suffix = cmd_line.GetSwitchValueNative(
@@ -1278,8 +1277,8 @@
 // Returns the Custom information for the client identified by the exe path
 // passed in. This information is used for crash reporting.
 google_breakpad::CustomClientInfo* GetCustomInfo(const wchar_t* exe_path) {
-  string16 product;
-  string16 version;
+  base::string16 product;
+  base::string16 version;
   scoped_ptr<FileVersionInfo> version_info(
       FileVersionInfo::CreateFileVersionInfo(base::FilePath(exe_path)));
   if (version_info.get()) {
@@ -1324,7 +1323,7 @@
   // Build the pipe name. It can be either:
   // System-wide install: "NamedPipe\GoogleCrashServices\S-1-5-18"
   // Per-user install: "NamedPipe\GoogleCrashServices\<user SID>"
-  string16 user_sid = kSystemPrincipalSid;
+  base::string16 user_sid = kSystemPrincipalSid;
 
   if (!system_install) {
     if (!base::win::GetUserSidString(&user_sid)) {
@@ -1332,7 +1331,7 @@
     }
   }
 
-  string16 pipe_name = kGoogleUpdatePipeName;
+  base::string16 pipe_name = kGoogleUpdatePipeName;
   pipe_name += user_sid;
 
   google_breakpad::ExceptionHandler* breakpad =
@@ -1599,8 +1598,8 @@
           prefs, *installer_version);
 
       int install_msg_base = IDS_INSTALL_FAILED_BASE;
-      string16 chrome_exe;
-      string16 quoted_chrome_exe;
+      base::string16 chrome_exe;
+      base::string16 quoted_chrome_exe;
       if (install_status == SAME_VERSION_REPAIR_FAILED) {
         if (installer_state.FindProduct(BrowserDistribution::CHROME_FRAME)) {
           install_msg_base = IDS_SAME_VERSION_REPAIR_FAILED_CF_BASE;
@@ -1659,7 +1658,7 @@
         const Product* chrome = installer_state.FindProduct(
             BrowserDistribution::CHROME_BROWSER);
         if (chrome != NULL) {
-          DCHECK_NE(chrome_exe, string16());
+          DCHECK_NE(chrome_exe, base::string16());
           RemoveChromeLegacyRegistryKeys(chrome->distribution(), chrome_exe);
         }
       }
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc
index cb5409b..6e17a99 100644
--- a/chrome/installer/setup/uninstall.cc
+++ b/chrome/installer/setup/uninstall.cc
@@ -176,7 +176,7 @@
   rlz_lib::ClearProductState(rlz_lib::CHROME, points);
 
   // If chrome has been reactivated, clear all events for this brand as well.
-  string16 reactivation_brand_wide;
+  base::string16 reactivation_brand_wide;
   if (GoogleUpdateSettings::GetReactivationBrand(&reactivation_brand_wide)) {
     std::string reactivation_brand(WideToASCII(reactivation_brand_wide));
     rlz_lib::SupplementaryBranding branding(reactivation_brand.c_str());
@@ -673,12 +673,12 @@
 // uninstallation if we don't.
 void RemoveFiletypeRegistration(const InstallerState& installer_state,
                                 HKEY root,
-                                const string16& browser_entry_suffix) {
-  string16 classes_path(ShellUtil::kRegClasses);
+                                const base::string16& browser_entry_suffix) {
+  base::string16 classes_path(ShellUtil::kRegClasses);
   classes_path.push_back(base::FilePath::kSeparators[0]);
 
   BrowserDistribution* distribution = BrowserDistribution::GetDistribution();
-  const string16 prog_id(
+  const base::string16 prog_id(
       distribution->GetBrowserProgIdPrefix() + browser_entry_suffix);
 
   // Delete each filetype association if it references this Chrome.  Take care
@@ -707,7 +707,7 @@
   // what handlers are the most appropriate, so we use a fixed mapping based on
   // the default values for a fresh install of Windows.
   if (root == HKEY_LOCAL_MACHINE) {
-    string16 assoc;
+    base::string16 assoc;
     base::win::RegKey key;
 
     for (size_t i = 0; i < cleared_assocs.size(); ++i) {
@@ -741,7 +741,7 @@
 bool DeleteChromeRegistrationKeys(const InstallerState& installer_state,
                                   BrowserDistribution* dist,
                                   HKEY root,
-                                  const string16& browser_entry_suffix,
+                                  const base::string16& browser_entry_suffix,
                                   InstallStatus* exit_code) {
   DCHECK(exit_code);
   if (dist->GetDefaultBrowserControlPolicy() ==
@@ -753,15 +753,15 @@
   base::FilePath chrome_exe(installer_state.target_path().Append(kChromeExe));
 
   // Delete Software\Classes\ChromeHTML.
-  const string16 prog_id(
+  const base::string16 prog_id(
       dist->GetBrowserProgIdPrefix() + browser_entry_suffix);
-  string16 reg_prog_id(ShellUtil::kRegClasses);
+  base::string16 reg_prog_id(ShellUtil::kRegClasses);
   reg_prog_id.push_back(base::FilePath::kSeparators[0]);
   reg_prog_id.append(prog_id);
   InstallUtil::DeleteRegistryKey(root, reg_prog_id);
 
   // Delete Software\Classes\Chrome.
-  string16 reg_app_id(ShellUtil::kRegClasses);
+  base::string16 reg_app_id(ShellUtil::kRegClasses);
   reg_app_id.push_back(base::FilePath::kSeparators[0]);
   // Append the requested suffix manually here (as ShellUtil::GetBrowserModelId
   // would otherwise try to figure out the currently installed suffix).
@@ -772,9 +772,9 @@
   {
     using base::win::RegistryKeyIterator;
     InstallUtil::ProgramCompare open_command_pred(chrome_exe);
-    string16 client_name;
-    string16 client_key;
-    string16 open_key;
+    base::string16 client_name;
+    base::string16 client_key;
+    base::string16 open_key;
     for (RegistryKeyIterator iter(root, ShellUtil::kRegStartMenuInternet);
          iter.Valid(); ++iter) {
       client_name.assign(iter.Name());
@@ -794,7 +794,7 @@
         if (root == HKEY_LOCAL_MACHINE) {
           InstallUtil::DeleteRegistryValueIf(
               HKEY_USERS,
-              string16(L".DEFAULT\\").append(
+              base::string16(L".DEFAULT\\").append(
                   ShellUtil::kRegStartMenuInternet).c_str(),
               NULL, InstallUtil::ValueEquals(client_name));
         }
@@ -809,23 +809,23 @@
 
   // Delete the App Paths and Applications keys that let Explorer find Chrome:
   // http://msdn.microsoft.com/en-us/library/windows/desktop/ee872121
-  string16 app_key(ShellUtil::kRegClasses);
+  base::string16 app_key(ShellUtil::kRegClasses);
   app_key.push_back(base::FilePath::kSeparators[0]);
   app_key.append(L"Applications");
   app_key.push_back(base::FilePath::kSeparators[0]);
   app_key.append(installer::kChromeExe);
   InstallUtil::DeleteRegistryKey(root, app_key);
 
-  string16 app_path_key(ShellUtil::kAppPathsRegistryKey);
+  base::string16 app_path_key(ShellUtil::kAppPathsRegistryKey);
   app_path_key.push_back(base::FilePath::kSeparators[0]);
   app_path_key.append(installer::kChromeExe);
   InstallUtil::DeleteRegistryKey(root, app_path_key);
 
   // Cleanup OpenWithList and OpenWithProgids:
   // http://msdn.microsoft.com/en-us/library/bb166549
-  string16 file_assoc_key;
-  string16 open_with_list_key;
-  string16 open_with_progids_key;
+  base::string16 file_assoc_key;
+  base::string16 open_with_list_key;
+  base::string16 open_with_progids_key;
   for (int i = 0; ShellUtil::kPotentialFileAssociations[i] != NULL; ++i) {
     file_assoc_key.assign(ShellUtil::kRegClasses);
     file_assoc_key.push_back(base::FilePath::kSeparators[0]);
@@ -855,10 +855,10 @@
 
   // Delete each protocol association if it references this Chrome.
   InstallUtil::ProgramCompare open_command_pred(chrome_exe);
-  string16 parent_key(ShellUtil::kRegClasses);
+  base::string16 parent_key(ShellUtil::kRegClasses);
   parent_key.push_back(base::FilePath::kSeparators[0]);
-  const string16::size_type base_length = parent_key.size();
-  string16 child_key;
+  const base::string16::size_type base_length = parent_key.size();
+  base::string16 child_key;
   for (const wchar_t* const* proto =
            &ShellUtil::kPotentialProtocolAssociations[0];
        *proto != NULL;
@@ -877,7 +877,7 @@
 }
 
 void RemoveChromeLegacyRegistryKeys(BrowserDistribution* dist,
-                                    const string16& chrome_exe) {
+                                    const base::string16& chrome_exe) {
   // We used to register Chrome to handle crx files, but this turned out
   // to be not worth the hassle. Remove these old registry entries if
   // they exist. See: http://codereview.chromium.org/210007
@@ -890,19 +890,19 @@
 
   HKEY roots[] = { HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER };
   for (size_t i = 0; i < arraysize(roots); ++i) {
-    string16 suffix;
+    base::string16 suffix;
     if (roots[i] == HKEY_LOCAL_MACHINE)
       suffix = ShellUtil::GetCurrentInstallationSuffix(dist, chrome_exe);
 
     // Delete Software\Classes\ChromeExt,
-    string16 ext_prog_id(ShellUtil::kRegClasses);
+    base::string16 ext_prog_id(ShellUtil::kRegClasses);
     ext_prog_id.push_back(base::FilePath::kSeparators[0]);
     ext_prog_id.append(kChromeExtProgId);
     ext_prog_id.append(suffix);
     InstallUtil::DeleteRegistryKey(roots[i], ext_prog_id);
 
     // Delete Software\Classes\.crx,
-    string16 ext_association(ShellUtil::kRegClasses);
+    base::string16 ext_association(ShellUtil::kRegClasses);
     ext_association.append(L"\\");
     ext_association.append(extensions::kExtensionFileExtension);
     InstallUtil::DeleteRegistryKey(roots[i], ext_association);
@@ -939,7 +939,7 @@
     return;
   }
 
-  const string16 active_setup_path(
+  const base::string16 active_setup_path(
       InstallUtil::GetActiveSetupPath(distribution));
   InstallUtil::DeleteRegistryKey(HKEY_LOCAL_MACHINE, active_setup_path);
 
@@ -967,7 +967,7 @@
   // Windows automatically adds Wow6432Node when creating/deleting the HKLM key,
   // but doesn't seem to do so when manually deleting the user-level keys it
   // created.
-  string16 alternate_active_setup_path(active_setup_path);
+  base::string16 alternate_active_setup_path(active_setup_path);
   alternate_active_setup_path.insert(arraysize("Software\\") - 1,
                                      L"Wow6432Node\\");
 
@@ -995,12 +995,12 @@
     if (!user_reg_root_probe.Valid()) {
       VLOG(1) << "Attempting to load registry hive for " << profile_sid;
 
-      string16 reg_profile_info_path(kProfileList);
+      base::string16 reg_profile_info_path(kProfileList);
       reg_profile_info_path.append(profile_sid);
       base::win::RegKey reg_profile_info_key(
           HKEY_LOCAL_MACHINE, reg_profile_info_path.c_str(), KEY_READ);
 
-      string16 profile_path;
+      base::string16 profile_path;
       LONG result = reg_profile_info_key.ReadValue(L"ProfileImagePath",
                                                    &profile_path);
       if (result != ERROR_SUCCESS) {
@@ -1053,7 +1053,7 @@
                                const CommandLine& cmd_line) {
   InstallStatus status = installer::UNINSTALL_CONFIRMED;
   BrowserDistribution* browser_dist = product.distribution();
-  const string16 chrome_exe(
+  const base::string16 chrome_exe(
       installer_state.target_path().Append(installer::kChromeExe).value());
 
   bool is_chrome = product.is_chrome();
@@ -1073,8 +1073,8 @@
         status != installer::UNINSTALL_DELETE_PROFILE)
       return status;
 
-    const string16 suffix(ShellUtil::GetCurrentInstallationSuffix(browser_dist,
-                                                                  chrome_exe));
+    const base::string16 suffix(
+        ShellUtil::GetCurrentInstallationSuffix(browser_dist, chrome_exe));
 
     // Check if we need admin rights to cleanup HKLM (the conditions for
     // requiring a cleanup are the same as the conditions to do the actual
@@ -1144,7 +1144,7 @@
 
   // Note that we must retrieve the distribution-specific data before deleting
   // product.GetVersionKey().
-  string16 distribution_data(browser_dist->GetDistributionData(reg_root));
+  base::string16 distribution_data(browser_dist->GetDistributionData(reg_root));
 
   // Remove Control Panel uninstall link.
   if (product.ShouldCreateUninstallEntry()) {
@@ -1164,8 +1164,8 @@
   InstallStatus ret = installer::UNKNOWN_STATUS;
 
   if (is_chrome) {
-    const string16 suffix(ShellUtil::GetCurrentInstallationSuffix(browser_dist,
-                                                                  chrome_exe));
+    const base::string16 suffix(
+        ShellUtil::GetCurrentInstallationSuffix(browser_dist, chrome_exe));
 
     // Remove all Chrome registration keys.
     // Registration data is put in HKCU for both system level and user level
@@ -1182,12 +1182,12 @@
     // Remove remaining HKCU entries with no suffix if any.
     if (!suffix.empty()) {
       DeleteChromeRegistrationKeys(installer_state, browser_dist,
-                                   HKEY_CURRENT_USER, string16(), &ret);
+                                   HKEY_CURRENT_USER, base::string16(), &ret);
 
       // For similar reasons it is possible in very few installs (from
       // 21.0.1180.0 and fixed shortly after) to be installed with the new-style
       // suffix, but have some old-style suffix registrations left behind.
-      string16 old_style_suffix;
+      base::string16 old_style_suffix;
       if (ShellUtil::GetOldUserSpecificRegistrySuffix(&old_style_suffix) &&
           suffix != old_style_suffix) {
         DeleteChromeRegistrationKeys(installer_state, browser_dist,
@@ -1264,7 +1264,7 @@
       // Delete media player registry key that exists only in HKLM.
       // We don't delete this key in SxS uninstall or Chrome Frame uninstall
       // as we never set the key for those products.
-      string16 reg_path(installer::kMediaPlayerRegPath);
+      base::string16 reg_path(installer::kMediaPlayerRegPath);
       reg_path.push_back(base::FilePath::kSeparators[0]);
       reg_path.append(installer::kChromeExe);
       InstallUtil::DeleteRegistryKey(HKEY_LOCAL_MACHINE, reg_path);
diff --git a/chrome/installer/setup/uninstall.h b/chrome/installer/setup/uninstall.h
index 7df2bf0..6b6311c 100644
--- a/chrome/installer/setup/uninstall.h
+++ b/chrome/installer/setup/uninstall.h
@@ -46,14 +46,14 @@
 bool DeleteChromeRegistrationKeys(const InstallerState& installer_state,
                                   BrowserDistribution* dist,
                                   HKEY root,
-                                  const string16& browser_entry_suffix,
+                                  const base::string16& browser_entry_suffix,
                                   InstallStatus* exit_code);
 
 // Removes any legacy registry keys from earlier versions of Chrome that are no
 // longer needed. This is used during autoupdate since we don't do full
 // uninstalls/reinstalls to update.
 void RemoveChromeLegacyRegistryKeys(BrowserDistribution* dist,
-                                    const string16& chrome_exe);
+                                    const base::string16& chrome_exe);
 
 // This function uninstalls a product.  Hence we came up with this awesome
 // name for it.
diff --git a/chrome/installer/util/app_command.cc b/chrome/installer/util/app_command.cc
index d0878d2b0..8f54e72 100644
--- a/chrome/installer/util/app_command.cc
+++ b/chrome/installer/util/app_command.cc
@@ -31,7 +31,7 @@
       is_run_as_user_(false) {
 }
 
-AppCommand::AppCommand(const string16& command_line)
+AppCommand::AppCommand(const base::string16& command_line)
     : command_line_(command_line),
       sends_pings_(false),
       is_web_accessible_(false),
@@ -46,7 +46,7 @@
   }
 
   LONG result = ERROR_SUCCESS;
-  string16 cmd_line;
+  base::string16 cmd_line;
 
   result = key.ReadValue(google_update::kRegCommandLineField, &cmd_line);
   if (result != ERROR_SUCCESS) {
@@ -68,7 +68,7 @@
 }
 
 void AppCommand::AddWorkItems(HKEY predefined_root,
-                              const string16& command_path,
+                              const base::string16& command_path,
                               WorkItemList* item_list) const {
   item_list->AddCreateRegKeyWorkItem(predefined_root, command_path)
       ->set_log_message("creating AppCommand registry key");
diff --git a/chrome/installer/util/app_command.h b/chrome/installer/util/app_command.h
index c0cca9b..2456197 100644
--- a/chrome/installer/util/app_command.h
+++ b/chrome/installer/util/app_command.h
@@ -27,7 +27,7 @@
   AppCommand();
   // Constructs a new command that will execute the given |command_line|.
   // All other properties default to false.
-  explicit AppCommand(const string16& command_line);
+  explicit AppCommand(const base::string16& command_line);
   // The implicit dtor, copy ctor and assignment operator are desired.
 
   // Initializes an instance from the command in |key|.
@@ -36,14 +36,14 @@
   // Adds to |item_list| work items to write this object to the key named
   // |command_path| under |predefined_root|.
   void AddWorkItems(HKEY predefined_root,
-                    const string16& command_path,
+                    const base::string16& command_path,
                     WorkItemList* item_list) const;
 
   // Returns the command-line for the app command as it is represented in the
   // registry.  Use CommandLine::FromString() on this value to check arguments
   // or to launch the command.
-  const string16& command_line() const { return command_line_; }
-  void set_command_line(const string16& command_line) {
+  const base::string16& command_line() const { return command_line_; }
+  void set_command_line(const base::string16& command_line) {
     command_line_ = command_line;
   }
 
@@ -66,7 +66,7 @@
   }
 
  protected:
-  string16 command_line_;
+  base::string16 command_line_;
   bool sends_pings_;
   bool is_web_accessible_;
   bool is_auto_run_on_os_upgrade_;
diff --git a/chrome/installer/util/auto_launch_util.cc b/chrome/installer/util/auto_launch_util.cc
index 1435c08..42c0831 100644
--- a/chrome/installer/util/auto_launch_util.cc
+++ b/chrome/installer/util/auto_launch_util.cc
@@ -38,7 +38,7 @@
 // to/from. It takes into account the name of the profile (so that different
 // installations of Chrome don't conflict, and so the in the future different
 // profiles can be auto-launched (or not) separately).
-string16 ProfileToKeyName(const string16& profile_directory) {
+base::string16 ProfileToKeyName(const base::string16& profile_directory) {
   base::FilePath path;
   const CommandLine& command_line = *CommandLine::ForCurrentProcess();
   if (command_line.HasSwitch(switches::kUserDataDir)) {
@@ -61,8 +61,8 @@
   uint8 hash[16];
   crypto::SHA256HashString(input, hash, sizeof(hash));
   std::string hash_string = base::HexEncode(hash, sizeof(hash));
-  return string16(kAutolaunchKeyValue) +
-      ASCIIToWide("_") + ASCIIToWide(hash_string);
+  return base::string16(kAutolaunchKeyValue) + ASCIIToWide("_") +
+         ASCIIToWide(hash_string);
 }
 
 // Returns whether the Chrome executable specified in |application_path| is set
@@ -75,10 +75,10 @@
 // not blank, must be present for the function to return true. If blank, it acts
 // like a wildcard.
 bool WillLaunchAtLoginWithSwitch(const base::FilePath& application_path,
-                                 const string16& profile_directory,
+                                 const base::string16& profile_directory,
                                  const std::string& command_line_switch) {
-  string16 key_name(ProfileToKeyName(profile_directory));
-  string16 autolaunch;
+  base::string16 key_name(ProfileToKeyName(profile_directory));
+  base::string16 autolaunch;
   if (!base::win::ReadCommandFromAutoRun(
       HKEY_CURRENT_USER, key_name, &autolaunch)) {
     return false;
@@ -93,14 +93,15 @@
   }
   chrome_exe = chrome_exe.Append(installer::kChromeExe);
 
-  if (autolaunch.find(chrome_exe.value()) == string16::npos)
+  if (autolaunch.find(chrome_exe.value()) == base::string16::npos)
     return false;
 
   return command_line_switch.empty() ||
-         autolaunch.find(ASCIIToUTF16(command_line_switch)) != string16::npos;
+         autolaunch.find(ASCIIToUTF16(command_line_switch)) !=
+             base::string16::npos;
 }
 
-bool AutoStartRequested(const string16& profile_directory,
+bool AutoStartRequested(const base::string16& profile_directory,
                         bool window_requested,
                         const base::FilePath& application_path) {
   if (window_requested) {
@@ -121,11 +122,11 @@
   // previously used key "chromium" that the BackgroundMode used to set, as it
   // is incompatible with the new key (can't have two Run keys with
   // conflicting switches).
-  string16 chromium = ASCIIToUTF16("chromium");
-  string16 value;
+  base::string16 chromium = ASCIIToUTF16("chromium");
+  base::string16 value;
   if (base::win::ReadCommandFromAutoRun(HKEY_CURRENT_USER, chromium, &value)) {
     if (value.find(ASCIIToUTF16(switches::kNoStartupWindow)) !=
-        string16::npos) {
+        base::string16::npos) {
       base::win::RemoveCommandFromAutoRun(HKEY_CURRENT_USER, chromium);
       return true;
     }
@@ -135,7 +136,7 @@
 }
 
 void SetWillLaunchAtLogin(const base::FilePath& application_path,
-                          const string16& profile_directory,
+                          const base::string16& profile_directory,
                           FlagSetting foreground_mode,
                           FlagSetting background_mode) {
   if (CheckAndRemoveDeprecatedBackgroundModeSwitch()) {
@@ -155,7 +156,7 @@
       NOTREACHED();
     }
   }
-  string16 key_name(ProfileToKeyName(profile_directory));
+  base::string16 key_name(ProfileToKeyName(profile_directory));
 
   // Check which feature should be enabled.
   bool in_foreground =
@@ -180,7 +181,7 @@
         return;
       }
     }
-    string16 cmd_line = ASCIIToUTF16("\"");
+    base::string16 cmd_line = ASCIIToUTF16("\"");
     cmd_line += path.value();
     cmd_line += ASCIIToUTF16("\\");
     cmd_line += installer::kChromeExe;
@@ -218,18 +219,18 @@
   }
 }
 
-void DisableAllAutoStartFeatures(const string16& profile_directory) {
+void DisableAllAutoStartFeatures(const base::string16& profile_directory) {
   DisableForegroundStartAtLogin(profile_directory);
   DisableBackgroundStartAtLogin();
 }
 
-void EnableForegroundStartAtLogin(const string16& profile_directory,
+void EnableForegroundStartAtLogin(const base::string16& profile_directory,
                                   const base::FilePath& application_path) {
   SetWillLaunchAtLogin(
       application_path, profile_directory, FLAG_ENABLE, FLAG_PRESERVE);
 }
 
-void DisableForegroundStartAtLogin(const string16& profile_directory) {
+void DisableForegroundStartAtLogin(const base::string16& profile_directory) {
   SetWillLaunchAtLogin(
       base::FilePath(), profile_directory, FLAG_DISABLE, FLAG_PRESERVE);
 }
diff --git a/chrome/installer/util/auto_launch_util.h b/chrome/installer/util/auto_launch_util.h
index e5e30c50..65b3ba9 100644
--- a/chrome/installer/util/auto_launch_util.h
+++ b/chrome/installer/util/auto_launch_util.h
@@ -32,14 +32,14 @@
 // words, showing a window trumps not showing a window.
 // ALSO NOTE: |application_path| is optional and should be blank in most cases
 // (as it will default to the application path of the current executable).
-bool AutoStartRequested(const string16& profile_directory,
+bool AutoStartRequested(const base::string16& profile_directory,
                         bool window_requested,
                         const base::FilePath& application_path);
 
 // Disables all auto-start features. |profile_directory| is the name of the
 // directory (leaf, not the full path) that contains the profile that was set
 // to be opened at user login.
-void DisableAllAutoStartFeatures(const string16& profile_directory);
+void DisableAllAutoStartFeatures(const base::string16& profile_directory);
 
 // Configures Chrome to auto-launch at user login and show a window. See also
 // EnableBackgroundStartAtLogin, which does the same, except without a window.
@@ -48,7 +48,7 @@
 // |application_path| is needed when the caller is not the process being set to
 // auto-launch, ie. the installer. This is because |application_path|, if left
 // blank, defaults to the application path of the current executable.
-void EnableForegroundStartAtLogin(const string16& profile_directory,
+void EnableForegroundStartAtLogin(const base::string16& profile_directory,
                                   const base::FilePath& application_path);
 
 // Disables auto-starting Chrome in foreground mode at user login.
@@ -56,7 +56,7 @@
 // that contains the profile that was set to be opened at user login.
 // NOTE: Chrome may still launch if the other auto-start flavor is active
 // (background mode).
-void DisableForegroundStartAtLogin(const string16& profile_directory);
+void DisableForegroundStartAtLogin(const base::string16& profile_directory);
 
 // Requests that Chrome start in Background Mode at user login (without a
 // window being shown, except if EnableForegroundStartAtLogin has also been
diff --git a/chrome/installer/util/browser_distribution.cc b/chrome/installer/util/browser_distribution.cc
index fb38533..399d5240 100644
--- a/chrome/installer/util/browser_distribution.cc
+++ b/chrome/installer/util/browser_distribution.cc
@@ -142,26 +142,27 @@
 
 void BrowserDistribution::DoPostUninstallOperations(
     const Version& version, const base::FilePath& local_data_path,
-    const string16& distribution_data) {
+    const base::string16& distribution_data) {
 }
 
-string16 BrowserDistribution::GetActiveSetupGuid() {
+base::string16 BrowserDistribution::GetActiveSetupGuid() {
   return kChromiumActiveSetupGuid;
 }
 
-string16 BrowserDistribution::GetAppGuid() {
+base::string16 BrowserDistribution::GetAppGuid() {
   return L"";
 }
 
-string16 BrowserDistribution::GetBaseAppName() {
+base::string16 BrowserDistribution::GetBaseAppName() {
   return L"Chromium";
 }
 
-string16 BrowserDistribution::GetDisplayName() {
+base::string16 BrowserDistribution::GetDisplayName() {
   return GetShortcutName(SHORTCUT_CHROME);
 }
 
-string16 BrowserDistribution::GetShortcutName(ShortcutType shortcut_type) {
+base::string16 BrowserDistribution::GetShortcutName(
+    ShortcutType shortcut_type) {
   switch (shortcut_type) {
     case SHORTCUT_CHROME_ALTERNATE:
       // TODO(calamity): Change IDS_OEM_MAIN_SHORTCUT_NAME in
@@ -185,11 +186,11 @@
   return 0;
 }
 
-string16 BrowserDistribution::GetIconFilename() {
+base::string16 BrowserDistribution::GetIconFilename() {
   return installer::kChromeExe;
 }
 
-string16 BrowserDistribution::GetStartMenuShortcutSubfolder(
+base::string16 BrowserDistribution::GetStartMenuShortcutSubfolder(
     Subfolder subfolder_type) {
   switch (subfolder_type) {
     case SUBFOLDER_APPS:
@@ -200,36 +201,36 @@
   }
 }
 
-string16 BrowserDistribution::GetBaseAppId() {
+base::string16 BrowserDistribution::GetBaseAppId() {
   return L"Chromium";
 }
 
-string16 BrowserDistribution::GetBrowserProgIdPrefix() {
+base::string16 BrowserDistribution::GetBrowserProgIdPrefix() {
   // This used to be "ChromiumHTML", but was forced to become "ChromiumHTM"
   // because of http://crbug.com/153349.  See the declaration of this function
   // in the header file for more details.
   return L"ChromiumHTM";
 }
 
-string16 BrowserDistribution::GetBrowserProgIdDesc() {
+base::string16 BrowserDistribution::GetBrowserProgIdDesc() {
   return L"Chromium HTML Document";
 }
 
 
-string16 BrowserDistribution::GetInstallSubDir() {
+base::string16 BrowserDistribution::GetInstallSubDir() {
   return L"Chromium";
 }
 
-string16 BrowserDistribution::GetPublisherName() {
+base::string16 BrowserDistribution::GetPublisherName() {
   return L"Chromium";
 }
 
-string16 BrowserDistribution::GetAppDescription() {
+base::string16 BrowserDistribution::GetAppDescription() {
   return L"Browse the web";
 }
 
-string16 BrowserDistribution::GetLongAppDescription() {
-  const string16& app_description =
+base::string16 BrowserDistribution::GetLongAppDescription() {
+  const base::string16& app_description =
       installer::GetLocalizedString(IDS_PRODUCT_DESCRIPTION_BASE);
   return app_description;
 }
@@ -238,11 +239,11 @@
   return "chromium";
 }
 
-string16 BrowserDistribution::GetStateKey() {
+base::string16 BrowserDistribution::GetStateKey() {
   return L"Software\\Chromium";
 }
 
-string16 BrowserDistribution::GetStateMediumKey() {
+base::string16 BrowserDistribution::GetStateMediumKey() {
   return L"Software\\Chromium";
 }
 
@@ -254,19 +255,19 @@
   return "";
 }
 
-string16 BrowserDistribution::GetDistributionData(HKEY root_key) {
+base::string16 BrowserDistribution::GetDistributionData(HKEY root_key) {
   return L"";
 }
 
-string16 BrowserDistribution::GetUninstallLinkName() {
+base::string16 BrowserDistribution::GetUninstallLinkName() {
   return L"Uninstall Chromium";
 }
 
-string16 BrowserDistribution::GetUninstallRegPath() {
+base::string16 BrowserDistribution::GetUninstallRegPath() {
   return L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Chromium";
 }
 
-string16 BrowserDistribution::GetVersionKey() {
+base::string16 BrowserDistribution::GetVersionKey() {
   return L"Software\\Chromium";
 }
 
@@ -279,12 +280,12 @@
   return true;
 }
 
-bool BrowserDistribution::GetChromeChannel(string16* channel) {
+bool BrowserDistribution::GetChromeChannel(base::string16* channel) {
   return false;
 }
 
 bool BrowserDistribution::GetCommandExecuteImplClsid(
-    string16* handler_class_uuid) {
+    base::string16* handler_class_uuid) {
   if (handler_class_uuid)
     *handler_class_uuid = kCommandExecuteImplUuid;
   return true;
diff --git a/chrome/installer/util/browser_distribution.h b/chrome/installer/util/browser_distribution.h
index 61f249b..16d25009 100644
--- a/chrome/installer/util/browser_distribution.h
+++ b/chrome/installer/util/browser_distribution.h
@@ -54,46 +54,48 @@
 
   Type GetType() const { return type_; }
 
-  virtual void DoPostUninstallOperations(const Version& version,
-                                         const base::FilePath& local_data_path,
-                                         const string16& distribution_data);
+  virtual void DoPostUninstallOperations(
+      const Version& version,
+      const base::FilePath& local_data_path,
+      const base::string16& distribution_data);
 
   // Returns the GUID to be used when registering for Active Setup.
-  virtual string16 GetActiveSetupGuid();
+  virtual base::string16 GetActiveSetupGuid();
 
-  virtual string16 GetAppGuid();
+  virtual base::string16 GetAppGuid();
 
   // Returns the unsuffixed application name of this program.
   // This is the base of the name registered with Default Programs on Windows.
   // IMPORTANT: This should only be called by the installer which needs to make
   // decisions on the suffixing of the upcoming install, not by external callers
   // at run-time.
-  virtual string16 GetBaseAppName();
+  virtual base::string16 GetBaseAppName();
 
   // Returns the localized display name of this distribution.
-  virtual string16 GetDisplayName();
+  virtual base::string16 GetDisplayName();
 
   // Returns the localized name of the shortcut identified by |shortcut_type|
   // for this distribution.
-  virtual string16 GetShortcutName(ShortcutType shortcut_type);
+  virtual base::string16 GetShortcutName(ShortcutType shortcut_type);
 
   // Returns the index of the icon for the product identified by
   // |shortcut_type|, inside the file specified by GetIconFilename().
   virtual int GetIconIndex(ShortcutType shortcut_type);
 
   // Returns the executable filename (not path) that contains the product icon.
-  virtual string16 GetIconFilename();
+  virtual base::string16 GetIconFilename();
 
   // Returns the localized name of the subfolder in the Start Menu identified by
   // |subfolder_type| that this distribution should create shortcuts in. For
   // SUBFOLDER_CHROME this returns GetShortcutName(SHORTCUT_CHROME).
-  virtual string16 GetStartMenuShortcutSubfolder(Subfolder subfolder_type);
+  virtual base::string16 GetStartMenuShortcutSubfolder(
+      Subfolder subfolder_type);
 
   // Returns the unsuffixed appid of this program.
   // The AppUserModelId is a property of Windows programs.
   // IMPORTANT: This should only be called by ShellUtil::GetAppId as the appid
   // should be suffixed in all scenarios.
-  virtual string16 GetBaseAppId();
+  virtual base::string16 GetBaseAppId();
 
   // Returns the Browser ProgId prefix (e.g. ChromeHTML, ChromiumHTM, etc...).
   // The full id is of the form |prefix|.|suffix| and is limited to a maximum
@@ -102,38 +104,38 @@
   // |suffix| as a fixed-length 26-character alphanumeric identifier, therefore
   // the return value of this function must have a maximum length of
   // 39 - 1(null-term) - 26(|suffix|) - 1(dot separator) = 11 characters.
-  virtual string16 GetBrowserProgIdPrefix();
+  virtual base::string16 GetBrowserProgIdPrefix();
 
   // Returns the Browser ProgId description.
-  virtual string16 GetBrowserProgIdDesc();
+  virtual base::string16 GetBrowserProgIdDesc();
 
-  virtual string16 GetInstallSubDir();
+  virtual base::string16 GetInstallSubDir();
 
-  virtual string16 GetPublisherName();
+  virtual base::string16 GetPublisherName();
 
-  virtual string16 GetAppDescription();
+  virtual base::string16 GetAppDescription();
 
-  virtual string16 GetLongAppDescription();
+  virtual base::string16 GetLongAppDescription();
 
   virtual std::string GetSafeBrowsingName();
 
-  virtual string16 GetStateKey();
+  virtual base::string16 GetStateKey();
 
-  virtual string16 GetStateMediumKey();
+  virtual base::string16 GetStateMediumKey();
 
   virtual std::string GetNetworkStatsServer() const;
 
   virtual std::string GetHttpPipeliningTestServer() const;
 
 #if defined(OS_WIN)
-  virtual string16 GetDistributionData(HKEY root_key);
+  virtual base::string16 GetDistributionData(HKEY root_key);
 #endif
 
-  virtual string16 GetUninstallLinkName();
+  virtual base::string16 GetUninstallLinkName();
 
-  virtual string16 GetUninstallRegPath();
+  virtual base::string16 GetUninstallRegPath();
 
-  virtual string16 GetVersionKey();
+  virtual base::string16 GetVersionKey();
 
   // Returns an enum specifying the different ways in which this distribution
   // is allowed to be set as default.
@@ -141,12 +143,12 @@
 
   virtual bool CanCreateDesktopShortcuts();
 
-  virtual bool GetChromeChannel(string16* channel);
+  virtual bool GetChromeChannel(base::string16* channel);
 
   // Returns true if this distribution includes a DelegateExecute verb handler,
   // and provides the CommandExecuteImpl class UUID if |handler_class_uuid| is
   // non-NULL.
-  virtual bool GetCommandExecuteImplClsid(string16* handler_class_uuid);
+  virtual bool GetCommandExecuteImplClsid(base::string16* handler_class_uuid);
 
   // Returns true if this distribution uses app_host.exe to run platform apps.
   virtual bool AppHostIsSupported();
diff --git a/chrome/installer/util/chrome_app_host_distribution.cc b/chrome/installer/util/chrome_app_host_distribution.cc
index 9ecf2ab4..0438a8cf 100644
--- a/chrome/installer/util/chrome_app_host_distribution.cc
+++ b/chrome/installer/util/chrome_app_host_distribution.cc
@@ -30,58 +30,58 @@
     : BrowserDistribution(CHROME_APP_HOST) {
 }
 
-string16 ChromeAppHostDistribution::GetAppGuid() {
+base::string16 ChromeAppHostDistribution::GetAppGuid() {
   return kChromeAppHostGuid;
 }
 
-string16 ChromeAppHostDistribution::GetBaseAppName() {
+base::string16 ChromeAppHostDistribution::GetBaseAppName() {
   return L"Google Chrome App Launcher";
 }
 
-string16 ChromeAppHostDistribution::GetBrowserProgIdPrefix() {
+base::string16 ChromeAppHostDistribution::GetBrowserProgIdPrefix() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromeAppHostDistribution::GetBrowserProgIdDesc() {
+base::string16 ChromeAppHostDistribution::GetBrowserProgIdDesc() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromeAppHostDistribution::GetDisplayName() {
+base::string16 ChromeAppHostDistribution::GetDisplayName() {
   return GetShortcutName(SHORTCUT_APP_LAUNCHER);
 }
 
-string16 ChromeAppHostDistribution::GetShortcutName(
+base::string16 ChromeAppHostDistribution::GetShortcutName(
     ShortcutType shortcut_type) {
   DCHECK_EQ(shortcut_type, SHORTCUT_APP_LAUNCHER);
   return installer::GetLocalizedString(IDS_PRODUCT_APP_LAUNCHER_NAME_BASE);
 }
 
-string16 ChromeAppHostDistribution::GetBaseAppId() {
+base::string16 ChromeAppHostDistribution::GetBaseAppId() {
   // Should be same as AppListController::GetAppModelId().
   return L"ChromeAppList";
 }
 
-string16 ChromeAppHostDistribution::GetInstallSubDir() {
+base::string16 ChromeAppHostDistribution::GetInstallSubDir() {
   return BrowserDistribution::GetSpecificDistribution(
       BrowserDistribution::CHROME_BINARIES)->GetInstallSubDir();
 }
 
-string16 ChromeAppHostDistribution::GetPublisherName() {
-  const string16& publisher_name =
+base::string16 ChromeAppHostDistribution::GetPublisherName() {
+  const base::string16& publisher_name =
       installer::GetLocalizedString(IDS_ABOUT_VERSION_COMPANY_NAME_BASE);
   return publisher_name;
 }
 
-string16 ChromeAppHostDistribution::GetAppDescription() {
-  const string16& app_description =
+base::string16 ChromeAppHostDistribution::GetAppDescription() {
+  const base::string16& app_description =
       installer::GetLocalizedString(IDS_APP_LAUNCHER_SHORTCUT_TOOLTIP_BASE);
   return app_description;
 }
 
-string16 ChromeAppHostDistribution::GetLongAppDescription() {
-  const string16& app_description =
+base::string16 ChromeAppHostDistribution::GetLongAppDescription() {
+  const base::string16& app_description =
       installer::GetLocalizedString(IDS_APP_LAUNCHER_PRODUCT_DESCRIPTION_BASE);
   return app_description;
 }
@@ -90,15 +90,15 @@
   return "googlechromeapphost";
 }
 
-string16 ChromeAppHostDistribution::GetStateKey() {
-  string16 key(google_update::kRegPathClientState);
+base::string16 ChromeAppHostDistribution::GetStateKey() {
+  base::string16 key(google_update::kRegPathClientState);
   key.append(L"\\");
   key.append(kChromeAppHostGuid);
   return key;
 }
 
-string16 ChromeAppHostDistribution::GetStateMediumKey() {
-  string16 key(google_update::kRegPathClientStateMedium);
+base::string16 ChromeAppHostDistribution::GetStateMediumKey() {
+  base::string16 key(google_update::kRegPathClientStateMedium);
   key.append(L"\\");
   key.append(kChromeAppHostGuid);
   return key;
@@ -112,19 +112,19 @@
   return chrome_common_net::kPipelineTestServerBaseUrl;
 }
 
-string16 ChromeAppHostDistribution::GetUninstallLinkName() {
-  const string16& link_name =
+base::string16 ChromeAppHostDistribution::GetUninstallLinkName() {
+  const base::string16& link_name =
       installer::GetLocalizedString(IDS_UNINSTALL_APP_LAUNCHER_BASE);
   return link_name;
 }
 
-string16 ChromeAppHostDistribution::GetUninstallRegPath() {
+base::string16 ChromeAppHostDistribution::GetUninstallRegPath() {
   return L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
          L"Google Chrome App Launcher";
 }
 
-string16 ChromeAppHostDistribution::GetVersionKey() {
-  string16 key(google_update::kRegPathClients);
+base::string16 ChromeAppHostDistribution::GetVersionKey() {
+  base::string16 key(google_update::kRegPathClients);
   key.append(L"\\");
   key.append(kChromeAppHostGuid);
   return key;
@@ -139,12 +139,12 @@
   return true;
 }
 
-string16 ChromeAppHostDistribution::GetIconFilename() {
+base::string16 ChromeAppHostDistribution::GetIconFilename() {
   return installer::kChromeAppHostExe;
 }
 
 bool ChromeAppHostDistribution::GetCommandExecuteImplClsid(
-    string16* handler_class_uuid) {
+    base::string16* handler_class_uuid) {
   return false;
 }
 
diff --git a/chrome/installer/util/chrome_app_host_distribution.h b/chrome/installer/util/chrome_app_host_distribution.h
index 567ede71..d939bfb 100644
--- a/chrome/installer/util/chrome_app_host_distribution.h
+++ b/chrome/installer/util/chrome_app_host_distribution.h
@@ -13,53 +13,53 @@
 
 class ChromeAppHostDistribution : public BrowserDistribution {
  public:
-  virtual string16 GetAppGuid() OVERRIDE;
+  virtual base::string16 GetAppGuid() OVERRIDE;
 
-  virtual string16 GetDisplayName() OVERRIDE;
+  virtual base::string16 GetDisplayName() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdPrefix() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdPrefix() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdDesc() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdDesc() OVERRIDE;
 
   // This can only be called with SHORTCUT_APP_LAUNCHER for |shortcut_type|.
-  virtual string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
+  virtual base::string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
 
-  virtual string16 GetIconFilename() OVERRIDE;
+  virtual base::string16 GetIconFilename() OVERRIDE;
 
-  virtual string16 GetBaseAppName() OVERRIDE;
+  virtual base::string16 GetBaseAppName() OVERRIDE;
 
-  virtual string16 GetBaseAppId() OVERRIDE;
+  virtual base::string16 GetBaseAppId() OVERRIDE;
 
-  virtual string16 GetInstallSubDir() OVERRIDE;
+  virtual base::string16 GetInstallSubDir() OVERRIDE;
 
-  virtual string16 GetPublisherName() OVERRIDE;
+  virtual base::string16 GetPublisherName() OVERRIDE;
 
-  virtual string16 GetAppDescription() OVERRIDE;
+  virtual base::string16 GetAppDescription() OVERRIDE;
 
-  virtual string16 GetLongAppDescription() OVERRIDE;
+  virtual base::string16 GetLongAppDescription() OVERRIDE;
 
   virtual std::string GetSafeBrowsingName() OVERRIDE;
 
-  virtual string16 GetStateKey() OVERRIDE;
+  virtual base::string16 GetStateKey() OVERRIDE;
 
-  virtual string16 GetStateMediumKey() OVERRIDE;
+  virtual base::string16 GetStateMediumKey() OVERRIDE;
 
   virtual std::string GetNetworkStatsServer() const OVERRIDE;
 
   virtual std::string GetHttpPipeliningTestServer() const OVERRIDE;
 
-  virtual string16 GetUninstallLinkName() OVERRIDE;
+  virtual base::string16 GetUninstallLinkName() OVERRIDE;
 
-  virtual string16 GetUninstallRegPath() OVERRIDE;
+  virtual base::string16 GetUninstallRegPath() OVERRIDE;
 
-  virtual string16 GetVersionKey() OVERRIDE;
+  virtual base::string16 GetVersionKey() OVERRIDE;
 
   virtual DefaultBrowserControlPolicy GetDefaultBrowserControlPolicy() OVERRIDE;
 
   virtual bool CanCreateDesktopShortcuts() OVERRIDE;
 
   virtual bool GetCommandExecuteImplClsid(
-      string16* handler_class_uuid) OVERRIDE;
+      base::string16* handler_class_uuid) OVERRIDE;
 
   virtual void UpdateInstallStatus(bool system_install,
       installer::ArchiveType archive_type,
diff --git a/chrome/installer/util/chrome_app_host_operations.cc b/chrome/installer/util/chrome_app_host_operations.cc
index cfd9570..79cfe6b2 100644
--- a/chrome/installer/util/chrome_app_host_operations.cc
+++ b/chrome/installer/util/chrome_app_host_operations.cc
@@ -19,7 +19,8 @@
 namespace installer {
 
 void ChromeAppHostOperations::ReadOptions(const MasterPreferences& prefs,
-                                          std::set<string16>* options) const {
+                                          std::set<base::string16>* options)
+    const {
   DCHECK(options);
 
   bool pref_value;
@@ -30,7 +31,8 @@
 }
 
 void ChromeAppHostOperations::ReadOptions(const CommandLine& uninstall_command,
-                                          std::set<string16>* options) const {
+                                          std::set<base::string16>* options)
+    const {
   DCHECK(options);
 
   if (uninstall_command.HasSwitch(switches::kMultiInstall))
@@ -38,17 +40,17 @@
 }
 
 void ChromeAppHostOperations::AddKeyFiles(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* key_files) const {
 }
 
 void ChromeAppHostOperations::AddComDllList(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* com_dll_list) const {
 }
 
 void ChromeAppHostOperations::AppendProductFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
   bool is_multi_install = options.find(kOptionMultiInstall) != options.end();
@@ -65,7 +67,7 @@
 }
 
 void ChromeAppHostOperations::AppendRenameFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
   bool is_multi_install = options.find(kOptionMultiInstall) != options.end();
@@ -78,9 +80,10 @@
     cmd_line->AppendSwitch(switches::kMultiInstall);
 }
 
-bool ChromeAppHostOperations::SetChannelFlags(const std::set<string16>& options,
-                                              bool set,
-                                              ChannelInfo* channel_info) const {
+bool ChromeAppHostOperations::SetChannelFlags(
+    const std::set<base::string16>& options,
+    bool set,
+    ChannelInfo* channel_info) const {
 #if defined(GOOGLE_CHROME_BUILD)
   DCHECK(channel_info);
   return channel_info->SetAppLauncher(set);
@@ -90,7 +93,7 @@
 }
 
 bool ChromeAppHostOperations::ShouldCreateUninstallEntry(
-    const std::set<string16>& options) const {
+    const std::set<base::string16>& options) const {
   return true;
 }
 
@@ -112,7 +115,7 @@
         dist->GetIconIndex(BrowserDistribution::SHORTCUT_APP_LAUNCHER));
 
   if (!properties->has_app_id()) {
-    std::vector<string16> components;
+    std::vector<base::string16> components;
     components.push_back(dist->GetBaseAppId());
     properties->set_app_id(ShellUtil::BuildAppModelId(components));
   }
@@ -120,7 +123,7 @@
 
 void ChromeAppHostOperations::LaunchUserExperiment(
     const base::FilePath& setup_path,
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     InstallStatus status,
     bool system_level) const {
   // No experiments yet.  If adding some in the future, need to have
diff --git a/chrome/installer/util/chrome_app_host_operations.h b/chrome/installer/util/chrome_app_host_operations.h
index 3406dfc1..cb954a5 100644
--- a/chrome/installer/util/chrome_app_host_operations.h
+++ b/chrome/installer/util/chrome_app_host_operations.h
@@ -18,31 +18,31 @@
   ChromeAppHostOperations() {}
 
   virtual void ReadOptions(const MasterPreferences& prefs,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void ReadOptions(const CommandLine& uninstall_command,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void AddKeyFiles(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* key_files) const OVERRIDE;
 
   virtual void AddComDllList(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* com_dll_list) const OVERRIDE;
 
-  virtual void AppendProductFlags(const std::set<string16>& options,
+  virtual void AppendProductFlags(const std::set<base::string16>& options,
                                   CommandLine* cmd_line) const OVERRIDE;
 
-  virtual void AppendRenameFlags(const std::set<string16>& options,
+  virtual void AppendRenameFlags(const std::set<base::string16>& options,
                                  CommandLine* cmd_line) const OVERRIDE;
 
-  virtual bool SetChannelFlags(const std::set<string16>& options,
+  virtual bool SetChannelFlags(const std::set<base::string16>& options,
                                bool set,
                                ChannelInfo* channel_info) const OVERRIDE;
 
   virtual bool ShouldCreateUninstallEntry(
-      const std::set<string16>& options) const OVERRIDE;
+      const std::set<base::string16>& options) const OVERRIDE;
 
   virtual void AddDefaultShortcutProperties(
       BrowserDistribution* dist,
@@ -50,7 +50,7 @@
       ShellUtil::ShortcutProperties* properties) const OVERRIDE;
 
   virtual void LaunchUserExperiment(const base::FilePath& setup_path,
-                                    const std::set<string16>& options,
+                                    const std::set<base::string16>& options,
                                     InstallStatus status,
                                     bool system_level) const OVERRIDE;
 
diff --git a/chrome/installer/util/chrome_binaries_operations.cc b/chrome/installer/util/chrome_binaries_operations.cc
index b9e4658..85ba7bf 100644
--- a/chrome/installer/util/chrome_binaries_operations.cc
+++ b/chrome/installer/util/chrome_binaries_operations.cc
@@ -16,31 +16,33 @@
 namespace installer {
 
 void ChromeBinariesOperations::ReadOptions(const MasterPreferences& prefs,
-                                           std::set<string16>* options) const {
+                                           std::set<base::string16>* options)
+    const {
   DCHECK(options);
   options->insert(kOptionMultiInstall);
 }
 
 void ChromeBinariesOperations::ReadOptions(const CommandLine& uninstall_command,
-                                           std::set<string16>* options) const {
+                                           std::set<base::string16>* options)
+    const {
   DCHECK(options);
   options->insert(kOptionMultiInstall);
 }
 
 void ChromeBinariesOperations::AddKeyFiles(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* key_files) const {
   DCHECK(key_files);
   key_files->push_back(base::FilePath(installer::kChromeDll));
 }
 
 void ChromeBinariesOperations::AddComDllList(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* com_dll_list) const {
 }
 
 void ChromeBinariesOperations::AppendProductFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
 
@@ -52,7 +54,7 @@
 }
 
 void ChromeBinariesOperations::AppendRenameFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
 
@@ -64,14 +66,14 @@
 }
 
 bool ChromeBinariesOperations::SetChannelFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     bool set,
     ChannelInfo* channel_info) const {
   return false;
 }
 
 bool ChromeBinariesOperations::ShouldCreateUninstallEntry(
-    const std::set<string16>& options) const {
+    const std::set<base::string16>& options) const {
   return false;
 }
 
@@ -84,7 +86,7 @@
 
 void ChromeBinariesOperations::LaunchUserExperiment(
     const base::FilePath& setup_path,
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     InstallStatus status,
     bool system_level) const {
   // Not meaningful to have binaries run experiments.
diff --git a/chrome/installer/util/chrome_binaries_operations.h b/chrome/installer/util/chrome_binaries_operations.h
index 09cf09b3..d1015ed 100644
--- a/chrome/installer/util/chrome_binaries_operations.h
+++ b/chrome/installer/util/chrome_binaries_operations.h
@@ -18,31 +18,31 @@
   ChromeBinariesOperations() {}
 
   virtual void ReadOptions(const MasterPreferences& prefs,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void ReadOptions(const CommandLine& uninstall_command,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void AddKeyFiles(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* key_files) const OVERRIDE;
 
   virtual void AddComDllList(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* com_dll_list) const OVERRIDE;
 
-  virtual void AppendProductFlags(const std::set<string16>& options,
+  virtual void AppendProductFlags(const std::set<base::string16>& options,
                                   CommandLine* cmd_line) const OVERRIDE;
 
-  virtual void AppendRenameFlags(const std::set<string16>& options,
+  virtual void AppendRenameFlags(const std::set<base::string16>& options,
                                  CommandLine* cmd_line) const OVERRIDE;
 
-  virtual bool SetChannelFlags(const std::set<string16>& options,
+  virtual bool SetChannelFlags(const std::set<base::string16>& options,
                                bool set,
                                ChannelInfo* channel_info) const OVERRIDE;
 
   virtual bool ShouldCreateUninstallEntry(
-      const std::set<string16>& options) const OVERRIDE;
+      const std::set<base::string16>& options) const OVERRIDE;
 
   virtual void AddDefaultShortcutProperties(
       BrowserDistribution* dist,
@@ -50,7 +50,7 @@
       ShellUtil::ShortcutProperties* properties) const OVERRIDE;
 
   virtual void LaunchUserExperiment(const base::FilePath& setup_path,
-                                    const std::set<string16>& options,
+                                    const std::set<base::string16>& options,
                                     InstallStatus status,
                                     bool system_level) const OVERRIDE;
 
diff --git a/chrome/installer/util/chrome_browser_operations.cc b/chrome/installer/util/chrome_browser_operations.cc
index c376261..fc34094 100644
--- a/chrome/installer/util/chrome_browser_operations.cc
+++ b/chrome/installer/util/chrome_browser_operations.cc
@@ -22,7 +22,8 @@
 namespace installer {
 
 void ChromeBrowserOperations::ReadOptions(const MasterPreferences& prefs,
-                                          std::set<string16>* options) const {
+                                          std::set<base::string16>* options)
+    const {
   DCHECK(options);
 
   bool pref_value;
@@ -34,7 +35,8 @@
 }
 
 void ChromeBrowserOperations::ReadOptions(const CommandLine& uninstall_command,
-                                          std::set<string16>* options) const {
+                                          std::set<base::string16>* options)
+    const {
   DCHECK(options);
 
   if (uninstall_command.HasSwitch(switches::kMultiInstall))
@@ -42,19 +44,19 @@
 }
 
 void ChromeBrowserOperations::AddKeyFiles(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* key_files) const {
   DCHECK(key_files);
   key_files->push_back(base::FilePath(installer::kChromeDll));
 }
 
 void ChromeBrowserOperations::AddComDllList(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* com_dll_list) const {
 }
 
 void ChromeBrowserOperations::AppendProductFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
 
@@ -69,7 +71,7 @@
 }
 
 void ChromeBrowserOperations::AppendRenameFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
 
@@ -80,9 +82,10 @@
   }
 }
 
-bool ChromeBrowserOperations::SetChannelFlags(const std::set<string16>& options,
-                                              bool set,
-                                              ChannelInfo* channel_info) const {
+bool ChromeBrowserOperations::SetChannelFlags(
+    const std::set<base::string16>& options,
+    bool set,
+    ChannelInfo* channel_info) const {
 #if defined(GOOGLE_CHROME_BUILD)
   DCHECK(channel_info);
   return channel_info->SetChrome(set);
@@ -92,7 +95,7 @@
 }
 
 bool ChromeBrowserOperations::ShouldCreateUninstallEntry(
-    const std::set<string16>& options) const {
+    const std::set<base::string16>& options) const {
   return true;
 }
 
@@ -137,7 +140,7 @@
 
 void ChromeBrowserOperations::LaunchUserExperiment(
     const base::FilePath& setup_path,
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     InstallStatus status,
     bool system_level) const {
   CommandLine base_command(setup_path);
diff --git a/chrome/installer/util/chrome_browser_operations.h b/chrome/installer/util/chrome_browser_operations.h
index 573b39aa..e0e6e4d0 100644
--- a/chrome/installer/util/chrome_browser_operations.h
+++ b/chrome/installer/util/chrome_browser_operations.h
@@ -17,31 +17,31 @@
   ChromeBrowserOperations() {}
 
   virtual void ReadOptions(const MasterPreferences& prefs,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void ReadOptions(const CommandLine& uninstall_command,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void AddKeyFiles(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* key_files) const OVERRIDE;
 
   virtual void AddComDllList(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* com_dll_list) const OVERRIDE;
 
-  virtual void AppendProductFlags(const std::set<string16>& options,
+  virtual void AppendProductFlags(const std::set<base::string16>& options,
                                   CommandLine* cmd_line) const OVERRIDE;
 
-  virtual void AppendRenameFlags(const std::set<string16>& options,
+  virtual void AppendRenameFlags(const std::set<base::string16>& options,
                                  CommandLine* cmd_line) const OVERRIDE;
 
-  virtual bool SetChannelFlags(const std::set<string16>& options,
+  virtual bool SetChannelFlags(const std::set<base::string16>& options,
                                bool set,
                                ChannelInfo* channel_info) const OVERRIDE;
 
   virtual bool ShouldCreateUninstallEntry(
-      const std::set<string16>& options) const OVERRIDE;
+      const std::set<base::string16>& options) const OVERRIDE;
 
   virtual void AddDefaultShortcutProperties(
       BrowserDistribution* dist,
@@ -49,7 +49,7 @@
       ShellUtil::ShortcutProperties* properties) const OVERRIDE;
 
   virtual void LaunchUserExperiment(const base::FilePath& setup_path,
-                                    const std::set<string16>& options,
+                                    const std::set<base::string16>& options,
                                     InstallStatus status,
                                     bool system_level) const OVERRIDE;
 
diff --git a/chrome/installer/util/chrome_browser_sxs_operations.cc b/chrome/installer/util/chrome_browser_sxs_operations.cc
index ad7cc5e7..ef2fe68 100644
--- a/chrome/installer/util/chrome_browser_sxs_operations.cc
+++ b/chrome/installer/util/chrome_browser_sxs_operations.cc
@@ -11,7 +11,7 @@
 namespace installer {
 
 void ChromeBrowserSxSOperations::AppendProductFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
 
@@ -20,7 +20,7 @@
 }
 
 void ChromeBrowserSxSOperations::AppendRenameFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
 
diff --git a/chrome/installer/util/chrome_browser_sxs_operations.h b/chrome/installer/util/chrome_browser_sxs_operations.h
index f4570123..5c82a3c 100644
--- a/chrome/installer/util/chrome_browser_sxs_operations.h
+++ b/chrome/installer/util/chrome_browser_sxs_operations.h
@@ -16,10 +16,10 @@
  public:
   ChromeBrowserSxSOperations() {}
 
-  virtual void AppendProductFlags(const std::set<string16>& options,
+  virtual void AppendProductFlags(const std::set<base::string16>& options,
                                   CommandLine* cmd_line) const OVERRIDE;
 
-  virtual void AppendRenameFlags(const std::set<string16>& options,
+  virtual void AppendRenameFlags(const std::set<base::string16>& options,
                                  CommandLine* cmd_line) const OVERRIDE;
 
  private:
diff --git a/chrome/installer/util/chrome_frame_distribution.cc b/chrome/installer/util/chrome_frame_distribution.cc
index 58f475b..774ccdf 100644
--- a/chrome/installer/util/chrome_frame_distribution.cc
+++ b/chrome/installer/util/chrome_frame_distribution.cc
@@ -28,50 +28,51 @@
     : BrowserDistribution(CHROME_FRAME) {
 }
 
-string16 ChromeFrameDistribution::GetAppGuid() {
+base::string16 ChromeFrameDistribution::GetAppGuid() {
   return kChromeFrameGuid;
 }
 
-string16 ChromeFrameDistribution::GetBaseAppName() {
+base::string16 ChromeFrameDistribution::GetBaseAppName() {
   return L"Google Chrome Frame";
 }
 
-string16 ChromeFrameDistribution::GetBrowserProgIdPrefix() {
+base::string16 ChromeFrameDistribution::GetBrowserProgIdPrefix() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromeFrameDistribution::GetBrowserProgIdDesc() {
+base::string16 ChromeFrameDistribution::GetBrowserProgIdDesc() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromeFrameDistribution::GetShortcutName(ShortcutType shortcut_type) {
+base::string16 ChromeFrameDistribution::GetShortcutName(
+    ShortcutType shortcut_type) {
   switch (shortcut_type) {
     case SHORTCUT_CHROME:
     case SHORTCUT_CHROME_ALTERNATE:
       return installer::GetLocalizedString(IDS_PRODUCT_FRAME_NAME_BASE);
     default:
       NOTREACHED();
-      return string16();
+      return base::string16();
   }
 }
 
-string16 ChromeFrameDistribution::GetInstallSubDir() {
+base::string16 ChromeFrameDistribution::GetInstallSubDir() {
   return L"Google\\Chrome Frame";
 }
 
-string16 ChromeFrameDistribution::GetPublisherName() {
-  const string16& publisher_name =
+base::string16 ChromeFrameDistribution::GetPublisherName() {
+  const base::string16& publisher_name =
       installer::GetLocalizedString(IDS_ABOUT_VERSION_COMPANY_NAME_BASE);
   return publisher_name;
 }
 
-string16 ChromeFrameDistribution::GetAppDescription() {
+base::string16 ChromeFrameDistribution::GetAppDescription() {
   return L"Chrome in a Frame.";
 }
 
-string16 ChromeFrameDistribution::GetLongAppDescription() {
+base::string16 ChromeFrameDistribution::GetLongAppDescription() {
   return L"Chrome in a Frame.";
 }
 
@@ -79,15 +80,15 @@
   return "googlechromeframe";
 }
 
-string16 ChromeFrameDistribution::GetStateKey() {
-  string16 key(google_update::kRegPathClientState);
+base::string16 ChromeFrameDistribution::GetStateKey() {
+  base::string16 key(google_update::kRegPathClientState);
   key.append(L"\\");
   key.append(kChromeFrameGuid);
   return key;
 }
 
-string16 ChromeFrameDistribution::GetStateMediumKey() {
-  string16 key(google_update::kRegPathClientStateMedium);
+base::string16 ChromeFrameDistribution::GetStateMediumKey() {
+  base::string16 key(google_update::kRegPathClientStateMedium);
   key.append(L"\\");
   key.append(kChromeFrameGuid);
   return key;
@@ -101,23 +102,23 @@
   return chrome_common_net::kPipelineTestServerBaseUrl;
 }
 
-string16 ChromeFrameDistribution::GetUninstallLinkName() {
+base::string16 ChromeFrameDistribution::GetUninstallLinkName() {
   return L"Uninstall Chrome Frame";
 }
 
-string16 ChromeFrameDistribution::GetUninstallRegPath() {
+base::string16 ChromeFrameDistribution::GetUninstallRegPath() {
   return L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
          L"Google Chrome Frame";
 }
 
-string16 ChromeFrameDistribution::GetVersionKey() {
-  string16 key(google_update::kRegPathClients);
+base::string16 ChromeFrameDistribution::GetVersionKey() {
+  base::string16 key(google_update::kRegPathClients);
   key.append(L"\\");
   key.append(kChromeFrameGuid);
   return key;
 }
 
-string16 ChromeFrameDistribution::GetIconFilename() {
+base::string16 ChromeFrameDistribution::GetIconFilename() {
   return installer::kChromeExe;
 }
 
@@ -141,7 +142,7 @@
 }
 
 bool ChromeFrameDistribution::GetCommandExecuteImplClsid(
-    string16* handler_class_uuid) {
+    base::string16* handler_class_uuid) {
   return false;
 }
 
diff --git a/chrome/installer/util/chrome_frame_distribution.h b/chrome/installer/util/chrome_frame_distribution.h
index 0a69bd1..158b2b24 100644
--- a/chrome/installer/util/chrome_frame_distribution.h
+++ b/chrome/installer/util/chrome_frame_distribution.h
@@ -13,50 +13,50 @@
 
 class ChromeFrameDistribution : public BrowserDistribution {
  public:
-  virtual string16 GetAppGuid() OVERRIDE;
+  virtual base::string16 GetAppGuid() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdPrefix() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdPrefix() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdDesc() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdDesc() OVERRIDE;
 
-  virtual string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
+  virtual base::string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
 
   virtual int GetIconIndex(ShortcutType shortcut_type) OVERRIDE;
 
-  virtual string16 GetBaseAppName() OVERRIDE;
+  virtual base::string16 GetBaseAppName() OVERRIDE;
 
-  virtual string16 GetInstallSubDir() OVERRIDE;
+  virtual base::string16 GetInstallSubDir() OVERRIDE;
 
-  virtual string16 GetPublisherName() OVERRIDE;
+  virtual base::string16 GetPublisherName() OVERRIDE;
 
-  virtual string16 GetAppDescription() OVERRIDE;
+  virtual base::string16 GetAppDescription() OVERRIDE;
 
-  virtual string16 GetLongAppDescription() OVERRIDE;
+  virtual base::string16 GetLongAppDescription() OVERRIDE;
 
   virtual std::string GetSafeBrowsingName() OVERRIDE;
 
-  virtual string16 GetStateKey() OVERRIDE;
+  virtual base::string16 GetStateKey() OVERRIDE;
 
-  virtual string16 GetStateMediumKey() OVERRIDE;
+  virtual base::string16 GetStateMediumKey() OVERRIDE;
 
   virtual std::string GetNetworkStatsServer() const OVERRIDE;
 
   virtual std::string GetHttpPipeliningTestServer() const OVERRIDE;
 
-  virtual string16 GetUninstallLinkName() OVERRIDE;
+  virtual base::string16 GetUninstallLinkName() OVERRIDE;
 
-  virtual string16 GetUninstallRegPath() OVERRIDE;
+  virtual base::string16 GetUninstallRegPath() OVERRIDE;
 
-  virtual string16 GetVersionKey() OVERRIDE;
+  virtual base::string16 GetVersionKey() OVERRIDE;
 
-  virtual string16 GetIconFilename() OVERRIDE;
+  virtual base::string16 GetIconFilename() OVERRIDE;
 
   virtual DefaultBrowserControlPolicy GetDefaultBrowserControlPolicy() OVERRIDE;
 
   virtual bool CanCreateDesktopShortcuts() OVERRIDE;
 
   virtual bool GetCommandExecuteImplClsid(
-      string16* handler_class_uuid) OVERRIDE;
+      base::string16* handler_class_uuid) OVERRIDE;
 
   virtual void UpdateInstallStatus(bool system_install,
       installer::ArchiveType archive_type,
diff --git a/chrome/installer/util/chrome_frame_operations.cc b/chrome/installer/util/chrome_frame_operations.cc
index db73ce8..278310b 100644
--- a/chrome/installer/util/chrome_frame_operations.cc
+++ b/chrome/installer/util/chrome_frame_operations.cc
@@ -16,7 +16,8 @@
 namespace installer {
 
 void ChromeFrameOperations::ReadOptions(const MasterPreferences& prefs,
-                                        std::set<string16>* options) const {
+                                        std::set<base::string16>* options)
+    const {
   DCHECK(options);
 
   static const struct PrefToOption {
@@ -36,7 +37,8 @@
 }
 
 void ChromeFrameOperations::ReadOptions(const CommandLine& uninstall_command,
-                                        std::set<string16>* options) const {
+                                        std::set<base::string16>* options)
+    const {
   DCHECK(options);
 
   static const struct FlagToOption {
@@ -54,7 +56,7 @@
 }
 
 void ChromeFrameOperations::AddKeyFiles(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* key_files) const {
   DCHECK(key_files);
   key_files->push_back(base::FilePath(installer::kChromeFrameDll));
@@ -62,14 +64,14 @@
 }
 
 void ChromeFrameOperations::AddComDllList(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     std::vector<base::FilePath>* com_dll_list) const {
   DCHECK(com_dll_list);
   com_dll_list->push_back(base::FilePath(installer::kChromeFrameDll));
 }
 
 void ChromeFrameOperations::AppendProductFlags(
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     CommandLine* cmd_line) const {
   DCHECK(cmd_line);
   bool is_multi_install = options.find(kOptionMultiInstall) != options.end();
@@ -82,8 +84,9 @@
   cmd_line->AppendSwitch(switches::kChromeFrame);
 }
 
-void ChromeFrameOperations::AppendRenameFlags(const std::set<string16>& options,
-                                              CommandLine* cmd_line) const {
+void ChromeFrameOperations::AppendRenameFlags(
+    const std::set<base::string16>& options,
+    CommandLine* cmd_line) const {
   DCHECK(cmd_line);
   bool is_multi_install = options.find(kOptionMultiInstall) != options.end();
 
@@ -96,9 +99,10 @@
     cmd_line->AppendSwitch(switches::kChromeFrame);
 }
 
-bool ChromeFrameOperations::SetChannelFlags(const std::set<string16>& options,
-                                            bool set,
-                                            ChannelInfo* channel_info) const {
+bool ChromeFrameOperations::SetChannelFlags(
+    const std::set<base::string16>& options,
+    bool set,
+    ChannelInfo* channel_info) const {
 #if defined(GOOGLE_CHROME_BUILD)
   DCHECK(channel_info);
   bool modified = channel_info->SetChromeFrame(set);
@@ -113,7 +117,7 @@
 }
 
 bool ChromeFrameOperations::ShouldCreateUninstallEntry(
-    const std::set<string16>& options) const {
+    const std::set<base::string16>& options) const {
   return true;
 }
 
@@ -126,7 +130,7 @@
 
 void ChromeFrameOperations::LaunchUserExperiment(
     const base::FilePath& setup_path,
-    const std::set<string16>& options,
+    const std::set<base::string16>& options,
     InstallStatus status,
     bool system_level) const {
   // No experiments yet.  If adding some in the future, need to have
diff --git a/chrome/installer/util/chrome_frame_operations.h b/chrome/installer/util/chrome_frame_operations.h
index 4d31d00a..fb35a07f 100644
--- a/chrome/installer/util/chrome_frame_operations.h
+++ b/chrome/installer/util/chrome_frame_operations.h
@@ -17,31 +17,31 @@
   ChromeFrameOperations() {}
 
   virtual void ReadOptions(const MasterPreferences& prefs,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void ReadOptions(const CommandLine& uninstall_command,
-                           std::set<string16>* options) const OVERRIDE;
+                           std::set<base::string16>* options) const OVERRIDE;
 
   virtual void AddKeyFiles(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* key_files) const OVERRIDE;
 
   virtual void AddComDllList(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* com_dll_list) const OVERRIDE;
 
-  virtual void AppendProductFlags(const std::set<string16>& options,
+  virtual void AppendProductFlags(const std::set<base::string16>& options,
                                   CommandLine* cmd_line) const OVERRIDE;
 
-  virtual void AppendRenameFlags(const std::set<string16>& options,
+  virtual void AppendRenameFlags(const std::set<base::string16>& options,
                                  CommandLine* cmd_line) const OVERRIDE;
 
-  virtual bool SetChannelFlags(const std::set<string16>& options,
+  virtual bool SetChannelFlags(const std::set<base::string16>& options,
                                bool set,
                                ChannelInfo* channel_info) const OVERRIDE;
 
   virtual bool ShouldCreateUninstallEntry(
-      const std::set<string16>& options) const OVERRIDE;
+      const std::set<base::string16>& options) const OVERRIDE;
 
   virtual void AddDefaultShortcutProperties(
       BrowserDistribution* dist,
@@ -49,7 +49,7 @@
       ShellUtil::ShortcutProperties* properties) const OVERRIDE;
 
   virtual void LaunchUserExperiment(const base::FilePath& setup_path,
-                                    const std::set<string16>& options,
+                                    const std::set<base::string16>& options,
                                     InstallStatus status,
                                     bool system_level) const OVERRIDE;
 
diff --git a/chrome/installer/util/chromium_binaries_distribution.cc b/chrome/installer/util/chromium_binaries_distribution.cc
index 7e8bdcf..ab8d244 100644
--- a/chrome/installer/util/chromium_binaries_distribution.cc
+++ b/chrome/installer/util/chromium_binaries_distribution.cc
@@ -20,57 +20,57 @@
           BrowserDistribution::GetSpecificDistribution(CHROME_BROWSER)) {
 }
 
-string16 ChromiumBinariesDistribution::GetAppGuid() {
-  return string16();
+base::string16 ChromiumBinariesDistribution::GetAppGuid() {
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetBaseAppName() {
+base::string16 ChromiumBinariesDistribution::GetBaseAppName() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetBrowserProgIdPrefix() {
+base::string16 ChromiumBinariesDistribution::GetBrowserProgIdPrefix() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetBrowserProgIdDesc() {
+base::string16 ChromiumBinariesDistribution::GetBrowserProgIdDesc() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetDisplayName() {
+base::string16 ChromiumBinariesDistribution::GetDisplayName() {
   return kChromiumBinariesName;
 }
 
-string16 ChromiumBinariesDistribution::GetShortcutName(
+base::string16 ChromiumBinariesDistribution::GetShortcutName(
     ShortcutType shortcut_type) {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetBaseAppId() {
+base::string16 ChromiumBinariesDistribution::GetBaseAppId() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetInstallSubDir() {
+base::string16 ChromiumBinariesDistribution::GetInstallSubDir() {
   return browser_distribution_->GetInstallSubDir();
 }
 
-string16 ChromiumBinariesDistribution::GetPublisherName() {
+base::string16 ChromiumBinariesDistribution::GetPublisherName() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetAppDescription() {
+base::string16 ChromiumBinariesDistribution::GetAppDescription() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetLongAppDescription() {
+base::string16 ChromiumBinariesDistribution::GetLongAppDescription() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
 std::string ChromiumBinariesDistribution::GetSafeBrowsingName() {
@@ -78,26 +78,26 @@
   return std::string();
 }
 
-string16 ChromiumBinariesDistribution::GetStateKey() {
-  return string16(L"Software\\").append(kChromiumBinariesName);
+base::string16 ChromiumBinariesDistribution::GetStateKey() {
+  return base::string16(L"Software\\").append(kChromiumBinariesName);
 }
 
-string16 ChromiumBinariesDistribution::GetStateMediumKey() {
-  return string16(L"Software\\").append(kChromiumBinariesName);
+base::string16 ChromiumBinariesDistribution::GetStateMediumKey() {
+  return base::string16(L"Software\\").append(kChromiumBinariesName);
 }
 
-string16 ChromiumBinariesDistribution::GetUninstallLinkName() {
+base::string16 ChromiumBinariesDistribution::GetUninstallLinkName() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetUninstallRegPath() {
+base::string16 ChromiumBinariesDistribution::GetUninstallRegPath() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 ChromiumBinariesDistribution::GetVersionKey() {
-  return string16(L"Software\\").append(kChromiumBinariesName);
+base::string16 ChromiumBinariesDistribution::GetVersionKey() {
+  return base::string16(L"Software\\").append(kChromiumBinariesName);
 }
 
 BrowserDistribution::DefaultBrowserControlPolicy
@@ -110,12 +110,12 @@
   return 0;
 }
 
-bool ChromiumBinariesDistribution::GetChromeChannel(string16* channel) {
+bool ChromiumBinariesDistribution::GetChromeChannel(base::string16* channel) {
   NOTREACHED();
   return false;
 }
 
 bool ChromiumBinariesDistribution::GetCommandExecuteImplClsid(
-    string16* handler_class_uuid) {
+    base::string16* handler_class_uuid) {
   return false;
 }
diff --git a/chrome/installer/util/chromium_binaries_distribution.h b/chrome/installer/util/chromium_binaries_distribution.h
index 6c00669..5f19cb6 100644
--- a/chrome/installer/util/chromium_binaries_distribution.h
+++ b/chrome/installer/util/chromium_binaries_distribution.h
@@ -13,48 +13,48 @@
 
 class ChromiumBinariesDistribution : public BrowserDistribution {
  public:
-  virtual string16 GetAppGuid() OVERRIDE;
+  virtual base::string16 GetAppGuid() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdPrefix() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdPrefix() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdDesc() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdDesc() OVERRIDE;
 
-  virtual string16 GetDisplayName() OVERRIDE;
+  virtual base::string16 GetDisplayName() OVERRIDE;
 
-  virtual string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
+  virtual base::string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
 
   virtual int GetIconIndex(ShortcutType shortcut_type) OVERRIDE;
 
-  virtual string16 GetBaseAppName() OVERRIDE;
+  virtual base::string16 GetBaseAppName() OVERRIDE;
 
-  virtual string16 GetBaseAppId() OVERRIDE;
+  virtual base::string16 GetBaseAppId() OVERRIDE;
 
-  virtual string16 GetInstallSubDir() OVERRIDE;
+  virtual base::string16 GetInstallSubDir() OVERRIDE;
 
-  virtual string16 GetPublisherName() OVERRIDE;
+  virtual base::string16 GetPublisherName() OVERRIDE;
 
-  virtual string16 GetAppDescription() OVERRIDE;
+  virtual base::string16 GetAppDescription() OVERRIDE;
 
-  virtual string16 GetLongAppDescription() OVERRIDE;
+  virtual base::string16 GetLongAppDescription() OVERRIDE;
 
   virtual std::string GetSafeBrowsingName() OVERRIDE;
 
-  virtual string16 GetStateKey() OVERRIDE;
+  virtual base::string16 GetStateKey() OVERRIDE;
 
-  virtual string16 GetStateMediumKey() OVERRIDE;
+  virtual base::string16 GetStateMediumKey() OVERRIDE;
 
-  virtual string16 GetUninstallLinkName() OVERRIDE;
+  virtual base::string16 GetUninstallLinkName() OVERRIDE;
 
-  virtual string16 GetUninstallRegPath() OVERRIDE;
+  virtual base::string16 GetUninstallRegPath() OVERRIDE;
 
-  virtual string16 GetVersionKey() OVERRIDE;
+  virtual base::string16 GetVersionKey() OVERRIDE;
 
   virtual DefaultBrowserControlPolicy GetDefaultBrowserControlPolicy() OVERRIDE;
 
-  virtual bool GetChromeChannel(string16* channel) OVERRIDE;
+  virtual bool GetChromeChannel(base::string16* channel) OVERRIDE;
 
   virtual bool GetCommandExecuteImplClsid(
-      string16* handler_class_uuid) OVERRIDE;
+      base::string16* handler_class_uuid) OVERRIDE;
 
  protected:
   friend class BrowserDistribution;
diff --git a/chrome/installer/util/duplicate_tree_detector_unittest.cc b/chrome/installer/util/duplicate_tree_detector_unittest.cc
index 4b636ee..72650af9 100644
--- a/chrome/installer/util/duplicate_tree_detector_unittest.cc
+++ b/chrome/installer/util/duplicate_tree_detector_unittest.cc
@@ -25,7 +25,7 @@
 
   // Simple function to dump some text into a new file.
   void CreateTextFile(const std::string& filename,
-                      const string16& contents) {
+                      const base::string16& contents) {
     std::wofstream file;
     file.open(filename.c_str());
     ASSERT_TRUE(file.is_open());
diff --git a/chrome/installer/util/google_chrome_binaries_distribution.cc b/chrome/installer/util/google_chrome_binaries_distribution.cc
index e5ad7512..80cc97f 100644
--- a/chrome/installer/util/google_chrome_binaries_distribution.cc
+++ b/chrome/installer/util/google_chrome_binaries_distribution.cc
@@ -21,34 +21,34 @@
     : ChromiumBinariesDistribution() {
 }
 
-string16 GoogleChromeBinariesDistribution::GetAppGuid() {
+base::string16 GoogleChromeBinariesDistribution::GetAppGuid() {
   return kChromeBinariesGuid;
 }
 
-string16 GoogleChromeBinariesDistribution::GetDisplayName() {
+base::string16 GoogleChromeBinariesDistribution::GetDisplayName() {
   return kChromeBinariesName;
 }
 
-string16 GoogleChromeBinariesDistribution::GetShortcutName(
+base::string16 GoogleChromeBinariesDistribution::GetShortcutName(
     ShortcutType shortcut_type) {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeBinariesDistribution::GetStateKey() {
-  return string16(google_update::kRegPathClientState)
+base::string16 GoogleChromeBinariesDistribution::GetStateKey() {
+  return base::string16(google_update::kRegPathClientState)
       .append(1, L'\\')
       .append(kChromeBinariesGuid);
 }
 
-string16 GoogleChromeBinariesDistribution::GetStateMediumKey() {
-  return string16(google_update::kRegPathClientStateMedium)
+base::string16 GoogleChromeBinariesDistribution::GetStateMediumKey() {
+  return base::string16(google_update::kRegPathClientStateMedium)
       .append(1, L'\\')
       .append(kChromeBinariesGuid);
 }
 
-string16 GoogleChromeBinariesDistribution::GetVersionKey() {
-  return string16(google_update::kRegPathClients)
+base::string16 GoogleChromeBinariesDistribution::GetVersionKey() {
+  return base::string16(google_update::kRegPathClients)
       .append(1, L'\\')
       .append(kChromeBinariesGuid);
 }
diff --git a/chrome/installer/util/google_chrome_binaries_distribution.h b/chrome/installer/util/google_chrome_binaries_distribution.h
index aa0a1ee5..d279150 100644
--- a/chrome/installer/util/google_chrome_binaries_distribution.h
+++ b/chrome/installer/util/google_chrome_binaries_distribution.h
@@ -11,17 +11,17 @@
 
 class GoogleChromeBinariesDistribution : public ChromiumBinariesDistribution {
  public:
-  virtual string16 GetAppGuid();
+  virtual base::string16 GetAppGuid();
 
-  virtual string16 GetDisplayName();
+  virtual base::string16 GetDisplayName();
 
-  virtual string16 GetShortcutName(ShortcutType shortcut_type);
+  virtual base::string16 GetShortcutName(ShortcutType shortcut_type);
 
-  virtual string16 GetStateKey();
+  virtual base::string16 GetStateKey();
 
-  virtual string16 GetStateMediumKey();
+  virtual base::string16 GetStateMediumKey();
 
-  virtual string16 GetVersionKey();
+  virtual base::string16 GetVersionKey();
 
   virtual void UpdateInstallStatus(bool system_install,
       installer::ArchiveType archive_type,
diff --git a/chrome/installer/util/google_chrome_distribution.cc b/chrome/installer/util/google_chrome_distribution.cc
index 3d87f60..074c14a 100644
--- a/chrome/installer/util/google_chrome_distribution.cc
+++ b/chrome/installer/util/google_chrome_distribution.cc
@@ -46,14 +46,14 @@
 // Substitute the locale parameter in uninstall URL with whatever
 // Google Update tells us is the locale. In case we fail to find
 // the locale, we use US English.
-string16 LocalizeUrl(const wchar_t* url) {
-  string16 language;
+base::string16 LocalizeUrl(const wchar_t* url) {
+  base::string16 language;
   if (!GoogleUpdateSettings::GetLanguage(&language))
     language = L"en-US";  // Default to US English.
   return ReplaceStringPlaceholders(url, language.c_str(), NULL);
 }
 
-string16 GetUninstallSurveyUrl() {
+base::string16 GetUninstallSurveyUrl() {
   const wchar_t kSurveyUrl[] = L"http://www.google.com/support/chrome/bin/"
                                L"request.py?hl=$1&contact_type=uninstall";
   return LocalizeUrl(kSurveyUrl);
@@ -69,7 +69,7 @@
 void GoogleChromeDistribution::DoPostUninstallOperations(
     const Version& version,
     const base::FilePath& local_data_path,
-    const string16& distribution_data) {
+    const base::string16& distribution_data) {
   // Send the Chrome version and OS version as params to the form.
   // It would be nice to send the locale, too, but I don't see an
   // easy way to get that in the existing code. It's something we
@@ -77,11 +77,11 @@
   // We depend on installed_version.GetString() not having spaces or other
   // characters that need escaping: 0.2.13.4. Should that change, we will
   // need to escape the string before using it in a URL.
-  const string16 kVersionParam = L"crversion";
-  const string16 kOSParam = L"os";
+  const base::string16 kVersionParam = L"crversion";
+  const base::string16 kOSParam = L"os";
   base::win::OSInfo::VersionNumber version_number =
       base::win::OSInfo::GetInstance()->version_number();
-  string16 os_version = base::StringPrintf(L"%d.%d.%d",
+  base::string16 os_version = base::StringPrintf(L"%d.%d.%d",
       version_number.major, version_number.minor, version_number.build);
 
   base::FilePath iexplore;
@@ -91,11 +91,11 @@
   iexplore = iexplore.AppendASCII("Internet Explorer");
   iexplore = iexplore.AppendASCII("iexplore.exe");
 
-  string16 command = iexplore.value() + L" " + GetUninstallSurveyUrl() +
+  base::string16 command = iexplore.value() + L" " + GetUninstallSurveyUrl() +
       L"&" + kVersionParam + L"=" + UTF8ToWide(version.GetString()) + L"&" +
       kOSParam + L"=" + os_version;
 
-  string16 uninstall_metrics;
+  base::string16 uninstall_metrics;
   if (installer::ExtractUninstallMetricsFromFile(local_data_path,
                                                  &uninstall_metrics)) {
     // The user has opted into anonymous usage data collection, so append
@@ -115,22 +115,23 @@
   installer::WMIProcess::Launch(command, &pid);
 }
 
-string16 GoogleChromeDistribution::GetActiveSetupGuid() {
+base::string16 GoogleChromeDistribution::GetActiveSetupGuid() {
   return product_guid();
 }
 
-string16 GoogleChromeDistribution::GetAppGuid() {
+base::string16 GoogleChromeDistribution::GetAppGuid() {
   return product_guid();
 }
 
-string16 GoogleChromeDistribution::GetBaseAppName() {
+base::string16 GoogleChromeDistribution::GetBaseAppName() {
   // I'd really like to return L ## PRODUCT_FULLNAME_STRING; but that's no good
   // since it'd be "Chromium" in a non-Chrome build, which isn't at all what I
   // want.  Sigh.
   return L"Google Chrome";
 }
 
-string16 GoogleChromeDistribution::GetShortcutName(ShortcutType shortcut_type) {
+base::string16 GoogleChromeDistribution::GetShortcutName(
+    ShortcutType shortcut_type) {
   int string_id = IDS_PRODUCT_NAME_BASE;
   switch (shortcut_type) {
     case SHORTCUT_CHROME_ALTERNATE:
@@ -154,33 +155,33 @@
   return 0;
 }
 
-string16 GoogleChromeDistribution::GetBaseAppId() {
+base::string16 GoogleChromeDistribution::GetBaseAppId() {
   return kBrowserAppId;
 }
 
-string16 GoogleChromeDistribution::GetBrowserProgIdPrefix() {
+base::string16 GoogleChromeDistribution::GetBrowserProgIdPrefix() {
   return kBrowserProgIdPrefix;
 }
 
-string16 GoogleChromeDistribution::GetBrowserProgIdDesc() {
+base::string16 GoogleChromeDistribution::GetBrowserProgIdDesc() {
   return kBrowserProgIdDesc;
 }
 
-string16 GoogleChromeDistribution::GetInstallSubDir() {
-  string16 sub_dir(installer::kGoogleChromeInstallSubDir1);
+base::string16 GoogleChromeDistribution::GetInstallSubDir() {
+  base::string16 sub_dir(installer::kGoogleChromeInstallSubDir1);
   sub_dir.append(L"\\");
   sub_dir.append(installer::kGoogleChromeInstallSubDir2);
   return sub_dir;
 }
 
-string16 GoogleChromeDistribution::GetPublisherName() {
-  const string16& publisher_name =
+base::string16 GoogleChromeDistribution::GetPublisherName() {
+  const base::string16& publisher_name =
       installer::GetLocalizedString(IDS_ABOUT_VERSION_COMPANY_NAME_BASE);
   return publisher_name;
 }
 
-string16 GoogleChromeDistribution::GetAppDescription() {
-  const string16& app_description =
+base::string16 GoogleChromeDistribution::GetAppDescription() {
+  const base::string16& app_description =
       installer::GetLocalizedString(IDS_SHORTCUT_TOOLTIP_BASE);
   return app_description;
 }
@@ -189,15 +190,15 @@
   return "googlechrome";
 }
 
-string16 GoogleChromeDistribution::GetStateKey() {
-  string16 key(google_update::kRegPathClientState);
+base::string16 GoogleChromeDistribution::GetStateKey() {
+  base::string16 key(google_update::kRegPathClientState);
   key.append(L"\\");
   key.append(product_guid());
   return key;
 }
 
-string16 GoogleChromeDistribution::GetStateMediumKey() {
-  string16 key(google_update::kRegPathClientStateMedium);
+base::string16 GoogleChromeDistribution::GetStateMediumKey() {
+  base::string16 key(google_update::kRegPathClientStateMedium);
   key.append(L"\\");
   key.append(product_guid());
   return key;
@@ -211,14 +212,14 @@
   return chrome_common_net::kPipelineTestServerBaseUrl;
 }
 
-string16 GoogleChromeDistribution::GetDistributionData(HKEY root_key) {
-  string16 sub_key(google_update::kRegPathClientState);
+base::string16 GoogleChromeDistribution::GetDistributionData(HKEY root_key) {
+  base::string16 sub_key(google_update::kRegPathClientState);
   sub_key.append(L"\\");
   sub_key.append(product_guid());
 
   base::win::RegKey client_state_key(root_key, sub_key.c_str(), KEY_READ);
-  string16 result;
-  string16 brand_value;
+  base::string16 result;
+  base::string16 brand_value;
   if (client_state_key.ReadValue(google_update::kRegRLZBrandField,
                                  &brand_value) == ERROR_SUCCESS) {
     result = google_update::kRegRLZBrandField;
@@ -227,7 +228,7 @@
     result.append(L"&");
   }
 
-  string16 client_value;
+  base::string16 client_value;
   if (client_state_key.ReadValue(google_update::kRegClientField,
                                  &client_value) == ERROR_SUCCESS) {
     result.append(google_update::kRegClientField);
@@ -236,7 +237,7 @@
     result.append(L"&");
   }
 
-  string16 ap_value;
+  base::string16 ap_value;
   // If we fail to read the ap key, send up "&ap=" anyway to indicate
   // that this was probably a stable channel release.
   client_state_key.ReadValue(google_update::kRegApField, &ap_value);
@@ -247,30 +248,30 @@
   return result;
 }
 
-string16 GoogleChromeDistribution::GetUninstallLinkName() {
-  const string16& link_name =
+base::string16 GoogleChromeDistribution::GetUninstallLinkName() {
+  const base::string16& link_name =
       installer::GetLocalizedString(IDS_UNINSTALL_CHROME_BASE);
   return link_name;
 }
 
-string16 GoogleChromeDistribution::GetUninstallRegPath() {
+base::string16 GoogleChromeDistribution::GetUninstallRegPath() {
   return L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
          L"Google Chrome";
 }
 
-string16 GoogleChromeDistribution::GetVersionKey() {
-  string16 key(google_update::kRegPathClients);
+base::string16 GoogleChromeDistribution::GetVersionKey() {
+  base::string16 key(google_update::kRegPathClients);
   key.append(L"\\");
   key.append(product_guid());
   return key;
 }
 
-string16 GoogleChromeDistribution::GetIconFilename() {
+base::string16 GoogleChromeDistribution::GetIconFilename() {
   return installer::kChromeExe;
 }
 
 bool GoogleChromeDistribution::GetCommandExecuteImplClsid(
-    string16* handler_class_uuid) {
+    base::string16* handler_class_uuid) {
   if (handler_class_uuid)
     *handler_class_uuid = kCommandExecuteImplUuid;
   return true;
diff --git a/chrome/installer/util/google_chrome_distribution.h b/chrome/installer/util/google_chrome_distribution.h
index e6bb555..eaed8901 100644
--- a/chrome/installer/util/google_chrome_distribution.h
+++ b/chrome/installer/util/google_chrome_distribution.h
@@ -30,37 +30,37 @@
   virtual void DoPostUninstallOperations(
       const Version& version,
       const base::FilePath& local_data_path,
-      const string16& distribution_data) OVERRIDE;
+      const base::string16& distribution_data) OVERRIDE;
 
-  virtual string16 GetActiveSetupGuid() OVERRIDE;
+  virtual base::string16 GetActiveSetupGuid() OVERRIDE;
 
-  virtual string16 GetAppGuid() OVERRIDE;
+  virtual base::string16 GetAppGuid() OVERRIDE;
 
-  virtual string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
+  virtual base::string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
 
-  virtual string16 GetIconFilename() OVERRIDE;
+  virtual base::string16 GetIconFilename() OVERRIDE;
 
   virtual int GetIconIndex(ShortcutType shortcut_type) OVERRIDE;
 
-  virtual string16 GetBaseAppName() OVERRIDE;
+  virtual base::string16 GetBaseAppName() OVERRIDE;
 
-  virtual string16 GetBaseAppId() OVERRIDE;
+  virtual base::string16 GetBaseAppId() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdPrefix() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdPrefix() OVERRIDE;
 
-  virtual string16 GetBrowserProgIdDesc() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdDesc() OVERRIDE;
 
-  virtual string16 GetInstallSubDir() OVERRIDE;
+  virtual base::string16 GetInstallSubDir() OVERRIDE;
 
-  virtual string16 GetPublisherName() OVERRIDE;
+  virtual base::string16 GetPublisherName() OVERRIDE;
 
-  virtual string16 GetAppDescription() OVERRIDE;
+  virtual base::string16 GetAppDescription() OVERRIDE;
 
   virtual std::string GetSafeBrowsingName() OVERRIDE;
 
-  virtual string16 GetStateKey() OVERRIDE;
+  virtual base::string16 GetStateKey() OVERRIDE;
 
-  virtual string16 GetStateMediumKey() OVERRIDE;
+  virtual base::string16 GetStateMediumKey() OVERRIDE;
 
   virtual std::string GetNetworkStatsServer() const OVERRIDE;
 
@@ -69,16 +69,16 @@
   // This method reads data from the Google Update ClientState key for
   // potential use in the uninstall survey. It must be called before the
   // key returned by GetVersionKey() is deleted.
-  virtual string16 GetDistributionData(HKEY root_key) OVERRIDE;
+  virtual base::string16 GetDistributionData(HKEY root_key) OVERRIDE;
 
-  virtual string16 GetUninstallLinkName() OVERRIDE;
+  virtual base::string16 GetUninstallLinkName() OVERRIDE;
 
-  virtual string16 GetUninstallRegPath() OVERRIDE;
+  virtual base::string16 GetUninstallRegPath() OVERRIDE;
 
-  virtual string16 GetVersionKey() OVERRIDE;
+  virtual base::string16 GetVersionKey() OVERRIDE;
 
   virtual bool GetCommandExecuteImplClsid(
-      string16* handler_class_uuid) OVERRIDE;
+      base::string16* handler_class_uuid) OVERRIDE;
 
   virtual bool AppHostIsSupported() OVERRIDE;
 
@@ -91,10 +91,10 @@
 
   virtual bool HasUserExperiments() OVERRIDE;
 
-  const string16& product_guid() { return product_guid_; }
+  const base::string16& product_guid() { return product_guid_; }
 
  protected:
-  void set_product_guid(const string16& guid) { product_guid_ = guid; }
+  void set_product_guid(const base::string16& guid) { product_guid_ = guid; }
 
   // Disallow construction from others.
   GoogleChromeDistribution();
@@ -103,7 +103,7 @@
   friend class BrowserDistribution;
 
   // The product ID for Google Update.
-  string16 product_guid_;
+  base::string16 product_guid_;
 };
 
 #endif  // CHROME_INSTALLER_UTIL_GOOGLE_CHROME_DISTRIBUTION_H_
diff --git a/chrome/installer/util/google_chrome_distribution_dummy.cc b/chrome/installer/util/google_chrome_distribution_dummy.cc
index 5c3f7be..8429307 100644
--- a/chrome/installer/util/google_chrome_distribution_dummy.cc
+++ b/chrome/installer/util/google_chrome_distribution_dummy.cc
@@ -23,27 +23,28 @@
 void GoogleChromeDistribution::DoPostUninstallOperations(
     const Version& version,
     const base::FilePath& local_data_path,
-    const string16& distribution_data) {
+    const base::string16& distribution_data) {
 }
 
-string16 GoogleChromeDistribution::GetActiveSetupGuid() {
+base::string16 GoogleChromeDistribution::GetActiveSetupGuid() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetAppGuid() {
+base::string16 GoogleChromeDistribution::GetAppGuid() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetBaseAppName() {
+base::string16 GoogleChromeDistribution::GetBaseAppName() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetShortcutName(ShortcutType shortcut_type) {
+base::string16 GoogleChromeDistribution::GetShortcutName(
+    ShortcutType shortcut_type) {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
 int GoogleChromeDistribution::GetIconIndex(ShortcutType shortcut_type) {
@@ -51,34 +52,34 @@
   return 0;
 }
 
-string16 GoogleChromeDistribution::GetBaseAppId() {
+base::string16 GoogleChromeDistribution::GetBaseAppId() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetBrowserProgIdPrefix() {
+base::string16 GoogleChromeDistribution::GetBrowserProgIdPrefix() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetBrowserProgIdDesc() {
+base::string16 GoogleChromeDistribution::GetBrowserProgIdDesc() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetInstallSubDir() {
+base::string16 GoogleChromeDistribution::GetInstallSubDir() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetPublisherName() {
+base::string16 GoogleChromeDistribution::GetPublisherName() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetAppDescription() {
+base::string16 GoogleChromeDistribution::GetAppDescription() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
 std::string GoogleChromeDistribution::GetSafeBrowsingName() {
@@ -86,14 +87,14 @@
   return std::string();
 }
 
-string16 GoogleChromeDistribution::GetStateKey() {
+base::string16 GoogleChromeDistribution::GetStateKey() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetStateMediumKey() {
+base::string16 GoogleChromeDistribution::GetStateMediumKey() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
 std::string GoogleChromeDistribution::GetNetworkStatsServer() const {
@@ -106,33 +107,33 @@
   return std::string();
 }
 
-string16 GoogleChromeDistribution::GetDistributionData(HKEY root_key) {
+base::string16 GoogleChromeDistribution::GetDistributionData(HKEY root_key) {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetUninstallLinkName() {
+base::string16 GoogleChromeDistribution::GetUninstallLinkName() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetUninstallRegPath() {
+base::string16 GoogleChromeDistribution::GetUninstallRegPath() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetVersionKey() {
+base::string16 GoogleChromeDistribution::GetVersionKey() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
-string16 GoogleChromeDistribution::GetIconFilename() {
+base::string16 GoogleChromeDistribution::GetIconFilename() {
   NOTREACHED();
-  return string16();
+  return base::string16();
 }
 
 bool GoogleChromeDistribution::GetCommandExecuteImplClsid(
-    string16* handler_class_uuid) {
+    base::string16* handler_class_uuid) {
   NOTREACHED();
   return false;
 }
diff --git a/chrome/installer/util/google_chrome_sxs_distribution.cc b/chrome/installer/util/google_chrome_sxs_distribution.cc
index 151ba75..ad8f715 100644
--- a/chrome/installer/util/google_chrome_sxs_distribution.cc
+++ b/chrome/installer/util/google_chrome_sxs_distribution.cc
@@ -32,11 +32,11 @@
   GoogleChromeDistribution::set_product_guid(kChromeSxSGuid);
 }
 
-string16 GoogleChromeSxSDistribution::GetBaseAppName() {
+base::string16 GoogleChromeSxSDistribution::GetBaseAppName() {
   return L"Google Chrome Canary";
 }
 
-string16 GoogleChromeSxSDistribution::GetShortcutName(
+base::string16 GoogleChromeSxSDistribution::GetShortcutName(
     ShortcutType shortcut_type) {
   switch (shortcut_type) {
     case SHORTCUT_CHROME_ALTERNATE:
@@ -53,7 +53,7 @@
   }
 }
 
-string16 GoogleChromeSxSDistribution::GetStartMenuShortcutSubfolder(
+base::string16 GoogleChromeSxSDistribution::GetStartMenuShortcutSubfolder(
     Subfolder subfolder_type) {
   switch (subfolder_type) {
     case SUBFOLDER_APPS:
@@ -65,24 +65,24 @@
   }
 }
 
-string16 GoogleChromeSxSDistribution::GetBaseAppId() {
+base::string16 GoogleChromeSxSDistribution::GetBaseAppId() {
   return kBrowserAppId;
 }
 
-string16 GoogleChromeSxSDistribution::GetBrowserProgIdPrefix() {
+base::string16 GoogleChromeSxSDistribution::GetBrowserProgIdPrefix() {
   return kBrowserProgIdPrefix;
 }
 
-string16 GoogleChromeSxSDistribution::GetBrowserProgIdDesc() {
+base::string16 GoogleChromeSxSDistribution::GetBrowserProgIdDesc() {
   return kBrowserProgIdDesc;
 }
 
-string16 GoogleChromeSxSDistribution::GetInstallSubDir() {
+base::string16 GoogleChromeSxSDistribution::GetInstallSubDir() {
   return GoogleChromeDistribution::GetInstallSubDir().append(
       installer::kSxSSuffix);
 }
 
-string16 GoogleChromeSxSDistribution::GetUninstallRegPath() {
+base::string16 GoogleChromeSxSDistribution::GetUninstallRegPath() {
   return GoogleChromeDistribution::GetUninstallRegPath().append(
       installer::kSxSSuffix);
 }
@@ -100,13 +100,13 @@
   return kSxSIconIndex;
 }
 
-bool GoogleChromeSxSDistribution::GetChromeChannel(string16* channel) {
+bool GoogleChromeSxSDistribution::GetChromeChannel(base::string16* channel) {
   *channel = kChannelName;
   return true;
 }
 
 bool GoogleChromeSxSDistribution::GetCommandExecuteImplClsid(
-    string16* handler_class_uuid) {
+    base::string16* handler_class_uuid) {
   if (handler_class_uuid)
     *handler_class_uuid = kCommandExecuteImplUuid;
   return true;
@@ -124,6 +124,6 @@
   return true;
 }
 
-string16 GoogleChromeSxSDistribution::ChannelName() {
+base::string16 GoogleChromeSxSDistribution::ChannelName() {
   return kChannelName;
 }
diff --git a/chrome/installer/util/google_chrome_sxs_distribution.h b/chrome/installer/util/google_chrome_sxs_distribution.h
index 808e640..c90fba79 100644
--- a/chrome/installer/util/google_chrome_sxs_distribution.h
+++ b/chrome/installer/util/google_chrome_sxs_distribution.h
@@ -19,25 +19,25 @@
 // system level install and setting as default browser.
 class GoogleChromeSxSDistribution : public GoogleChromeDistribution {
  public:
-  virtual string16 GetBaseAppName() OVERRIDE;
-  virtual string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
+  virtual base::string16 GetBaseAppName() OVERRIDE;
+  virtual base::string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
   virtual int GetIconIndex(ShortcutType shortcut_type) OVERRIDE;
-  virtual string16 GetStartMenuShortcutSubfolder(
+  virtual base::string16 GetStartMenuShortcutSubfolder(
       Subfolder subfolder_type) OVERRIDE;
-  virtual string16 GetBaseAppId() OVERRIDE;
-  virtual string16 GetBrowserProgIdPrefix() OVERRIDE;
-  virtual string16 GetBrowserProgIdDesc() OVERRIDE;
-  virtual string16 GetInstallSubDir() OVERRIDE;
-  virtual string16 GetUninstallRegPath() OVERRIDE;
+  virtual base::string16 GetBaseAppId() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdPrefix() OVERRIDE;
+  virtual base::string16 GetBrowserProgIdDesc() OVERRIDE;
+  virtual base::string16 GetInstallSubDir() OVERRIDE;
+  virtual base::string16 GetUninstallRegPath() OVERRIDE;
   virtual DefaultBrowserControlPolicy GetDefaultBrowserControlPolicy() OVERRIDE;
-  virtual bool GetChromeChannel(string16* channel) OVERRIDE;
+  virtual bool GetChromeChannel(base::string16* channel) OVERRIDE;
   virtual bool GetCommandExecuteImplClsid(
-      string16* handler_class_uuid) OVERRIDE;
+      base::string16* handler_class_uuid) OVERRIDE;
   virtual bool AppHostIsSupported() OVERRIDE;
   virtual bool ShouldSetExperimentLabels() OVERRIDE;
   virtual bool HasUserExperiments() OVERRIDE;
   // returns the channel name for GoogleChromeSxSDistribution
-  static string16 ChannelName();
+  static base::string16 ChannelName();
  private:
   friend class BrowserDistribution;
 
diff --git a/chrome/installer/util/google_update_experiment_util.cc b/chrome/installer/util/google_update_experiment_util.cc
index 3085af8..50e81ffd 100644
--- a/chrome/installer/util/google_update_experiment_util.cc
+++ b/chrome/installer/util/google_update_experiment_util.cc
@@ -34,7 +34,7 @@
 
 }
 
-string16 BuildExperimentDateString(const base::Time& current_time) {
+base::string16 BuildExperimentDateString(const base::Time& current_time) {
   // The Google Update experiment_labels timestamp format is:
   // "DAY, DD0 MON YYYY HH0:MI0:SE0 TZ"
   //  DAY = 3 character day of week,
diff --git a/chrome/installer/util/google_update_experiment_util.h b/chrome/installer/util/google_update_experiment_util.h
index 97b0195e..e5c8d77 100644
--- a/chrome/installer/util/google_update_experiment_util.h
+++ b/chrome/installer/util/google_update_experiment_util.h
@@ -29,7 +29,7 @@
 
 // Constructs a date string in the format understood by Google Update for the
 // |current_time| plus one year.
-string16 BuildExperimentDateString(const base::Time& current_time);
+base::string16 BuildExperimentDateString(const base::Time& current_time);
 
 }  // namespace installer
 
diff --git a/chrome/installer/util/google_update_settings.cc b/chrome/installer/util/google_update_settings.cc
index 39ca7c6..2550349 100644
--- a/chrome/installer/util/google_update_settings.cc
+++ b/chrome/installer/util/google_update_settings.cc
@@ -133,14 +133,14 @@
 
 bool GetChromeChannelInternal(bool system_install,
                               bool add_multi_modifier,
-                              string16* channel) {
+                              base::string16* channel) {
   BrowserDistribution* dist = BrowserDistribution::GetDistribution();
   if (dist->GetChromeChannel(channel)) {
     return true;
   }
 
   HKEY root_key = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
-  string16 reg_path = dist->GetStateKey();
+  base::string16 reg_path = dist->GetStateKey();
   RegKey key(root_key, reg_path.c_str(), KEY_READ);
 
   installer::ChannelInfo channel_info;
@@ -404,8 +404,9 @@
   return channel;
 }
 
-bool GoogleUpdateSettings::GetChromeChannelAndModifiers(bool system_install,
-                                                        string16* channel) {
+bool GoogleUpdateSettings::GetChromeChannelAndModifiers(
+    bool system_install,
+    base::string16* channel) {
   return GetChromeChannelInternal(system_install, true, channel);
 }
 
@@ -570,9 +571,10 @@
   return update_policy;
 }
 
-string16 GoogleUpdateSettings::GetUninstallCommandLine(bool system_install) {
+base::string16 GoogleUpdateSettings::GetUninstallCommandLine(
+    bool system_install) {
   const HKEY root_key = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
-  string16 cmd_line;
+  base::string16 cmd_line;
   RegKey update_key;
 
   if (update_key.Open(root_key, google_update::kRegPathGoogleUpdate,
@@ -585,7 +587,7 @@
 
 Version GoogleUpdateSettings::GetGoogleUpdateVersion(bool system_install) {
   const HKEY root_key = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
-  string16 version;
+  base::string16 version;
   RegKey key;
 
   if (key.Open(root_key,
@@ -642,14 +644,14 @@
   bool product_found = false;
 
   const HKEY root_key = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
-  string16 clientstate_reg_path(google_update::kRegPathClientState);
+  base::string16 clientstate_reg_path(google_update::kRegPathClientState);
   clientstate_reg_path.append(L"\\");
   clientstate_reg_path.append(app_guid);
 
   RegKey clientstate;
   if (clientstate.Open(root_key, clientstate_reg_path.c_str(),
                        KEY_QUERY_VALUE) == ERROR_SUCCESS) {
-    string16 version;
+    base::string16 version;
     DWORD dword_value;
     if ((clientstate.ReadValueDW(google_update::kRegLastCheckSuccessField,
                                  &dword_value) == ERROR_SUCCESS) &&
@@ -700,7 +702,7 @@
 
 bool GoogleUpdateSettings::SetExperimentLabels(
     bool system_install,
-    const string16& experiment_labels) {
+    const base::string16& experiment_labels) {
   HKEY reg_root = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
 
   // Use the browser distribution and install level to write to the correct
@@ -708,7 +710,7 @@
   bool success = false;
   BrowserDistribution* dist = BrowserDistribution::GetDistribution();
   if (dist->ShouldSetExperimentLabels()) {
-    string16 client_state_path(
+    base::string16 client_state_path(
         system_install ? dist->GetStateMediumKey() : dist->GetStateKey());
     RegKey client_state(
         reg_root, client_state_path.c_str(), KEY_SET_VALUE);
@@ -726,7 +728,7 @@
 
 bool GoogleUpdateSettings::ReadExperimentLabels(
     bool system_install,
-    string16* experiment_labels) {
+    base::string16* experiment_labels) {
   HKEY reg_root = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
 
   // If this distribution does not set the experiment labels, don't bother
@@ -735,7 +737,7 @@
   if (!dist->ShouldSetExperimentLabels())
     return false;
 
-  string16 client_state_path(
+  base::string16 client_state_path(
       system_install ? dist->GetStateMediumKey() : dist->GetStateKey());
 
   RegKey client_state;
diff --git a/chrome/installer/util/google_update_settings.h b/chrome/installer/util/google_update_settings.h
index 7cd4b754..8e99978 100644
--- a/chrome/installer/util/google_update_settings.h
+++ b/chrome/installer/util/google_update_settings.h
@@ -166,7 +166,7 @@
   // it is a multi-install product, in which case it will return "m",
   // "unknown-m", "dev-m", or "beta-m").
   static bool GetChromeChannelAndModifiers(bool system_install,
-                                           string16* channel);
+                                           base::string16* channel);
 
   // This method changes the Google Update "ap" value to move the installation
   // on to or off of one of the recovery channels.
@@ -229,7 +229,7 @@
 
   // Returns Google Update's uninstall command line, or an empty string if none
   // is found.
-  static string16 GetUninstallCommandLine(bool system_install);
+  static base::string16 GetUninstallCommandLine(bool system_install);
 
   // Returns the version of Google Update that is installed.
   static Version GetGoogleUpdateVersion(bool system_install);
@@ -266,7 +266,7 @@
   // (even if the label does not need to be set for this particular distribution
   // type).
   static bool SetExperimentLabels(bool system_install,
-                                  const string16& experiment_labels);
+                                  const base::string16& experiment_labels);
 
   // Reads the Google Update experiment_labels value in the ClientState key for
   // this Chrome product and writes it into |experiment_labels|. If the key or
@@ -275,7 +275,7 @@
   // this will do nothing to |experiment_labels|. This will return true if the
   // label did not exist, or was successfully read.
   static bool ReadExperimentLabels(bool system_install,
-                                   string16* experiment_labels);
+                                   base::string16* experiment_labels);
 
  private:
   DISALLOW_IMPLICIT_CONSTRUCTORS(GoogleUpdateSettings);
diff --git a/chrome/installer/util/google_update_settings_unittest.cc b/chrome/installer/util/google_update_settings_unittest.cc
index cbaedb2..85a056f 100644
--- a/chrome/installer/util/google_update_settings_unittest.cc
+++ b/chrome/installer/util/google_update_settings_unittest.cc
@@ -102,7 +102,7 @@
           const wchar_t* channel = expectations[j].channel;
 
           SetApField(install, ap.c_str());
-          string16 ret_channel;
+          base::string16 ret_channel;
 
           EXPECT_TRUE(GoogleUpdateSettings::GetChromeChannelAndModifiers(
               is_system, &ret_channel));
@@ -128,7 +128,7 @@
     // an empty string.
     EXPECT_TRUE(GoogleUpdateSettings::ReadExperimentLabels(
         install == SYSTEM_INSTALL, &value));
-    EXPECT_EQ(string16(), value);
+    EXPECT_EQ(base::string16(), value);
 
     EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels(
         install == SYSTEM_INSTALL, kTestExperimentLabel));
@@ -137,7 +137,7 @@
     RegKey key;
     HKEY root = install == SYSTEM_INSTALL ?
         HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
-    string16 state_key = install == SYSTEM_INSTALL ?
+    base::string16 state_key = install == SYSTEM_INSTALL ?
         chrome->GetStateMediumKey() : chrome->GetStateKey();
 
     EXPECT_EQ(ERROR_SUCCESS,
@@ -153,14 +153,14 @@
     // Now that the label is set, test the delete functionality. An empty label
     // should result in deleting the value.
     EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels(
-        install == SYSTEM_INSTALL, string16()));
+        install == SYSTEM_INSTALL, base::string16()));
     EXPECT_EQ(ERROR_SUCCESS,
               key.Open(root, state_key.c_str(), KEY_QUERY_VALUE));
     EXPECT_EQ(ERROR_FILE_NOT_FOUND,
         key.ReadValue(google_update::kExperimentLabels, &value));
     EXPECT_TRUE(GoogleUpdateSettings::ReadExperimentLabels(
         install == SYSTEM_INSTALL, &value));
-    EXPECT_EQ(string16(), value);
+    EXPECT_EQ(base::string16(), value);
     key.Close();
 #else
     EXPECT_FALSE(chrome->ShouldSetExperimentLabels());
@@ -215,7 +215,7 @@
 // whether per-system or per-user install.
 TEST_F(GoogleUpdateSettingsTest, CurrentChromeChannelAbsent) {
   // Per-system first.
-  string16 channel;
+  base::string16 channel;
   EXPECT_TRUE(GoogleUpdateSettings::GetChromeChannelAndModifiers(true,
                                                                  &channel));
   EXPECT_STREQ(L"", channel.c_str());
@@ -229,7 +229,7 @@
 // Test an empty Ap key for system and user.
 TEST_F(GoogleUpdateSettingsTest, CurrentChromeChannelEmptySystem) {
   SetApField(SYSTEM_INSTALL, L"");
-  string16 channel;
+  base::string16 channel;
   EXPECT_TRUE(GoogleUpdateSettings::GetChromeChannelAndModifiers(true,
                                                                  &channel));
   EXPECT_STREQ(L"", channel.c_str());
@@ -243,7 +243,7 @@
 TEST_F(GoogleUpdateSettingsTest, CurrentChromeChannelEmptyUser) {
   SetApField(USER_INSTALL, L"");
   // Per-system lookups still succeed and return empty string.
-  string16 channel;
+  base::string16 channel;
   EXPECT_TRUE(GoogleUpdateSettings::GetChromeChannelAndModifiers(true,
                                                                  &channel));
   EXPECT_STREQ(L"", channel.c_str());
@@ -665,7 +665,7 @@
 // Tests that GetUninstallCommandLine returns an empty string if there's no
 // Software\Google\Update key.
 TEST_P(GetUninstallCommandLine, TestNoKey) {
-  EXPECT_EQ(string16(),
+  EXPECT_EQ(base::string16(),
             GoogleUpdateSettings::GetUninstallCommandLine(system_install_));
 }
 
@@ -673,7 +673,7 @@
 // UninstallCmdLine value in the Software\Google\Update key.
 TEST_P(GetUninstallCommandLine, TestNoValue) {
   RegKey(root_key_, google_update::kRegPathGoogleUpdate, KEY_SET_VALUE);
-  EXPECT_EQ(string16(),
+  EXPECT_EQ(base::string16(),
             GoogleUpdateSettings::GetUninstallCommandLine(system_install_));
 }
 
@@ -682,7 +682,7 @@
 TEST_P(GetUninstallCommandLine, TestEmptyValue) {
   RegKey(root_key_, google_update::kRegPathGoogleUpdate, KEY_SET_VALUE)
     .WriteValue(google_update::kRegUninstallCmdLine, L"");
-  EXPECT_EQ(string16(),
+  EXPECT_EQ(base::string16(),
             GoogleUpdateSettings::GetUninstallCommandLine(system_install_));
 }
 
@@ -691,10 +691,10 @@
 TEST_P(GetUninstallCommandLine, TestRealValue) {
   RegKey(root_key_, google_update::kRegPathGoogleUpdate, KEY_SET_VALUE)
       .WriteValue(google_update::kRegUninstallCmdLine, kDummyCommand);
-  EXPECT_EQ(string16(kDummyCommand),
+  EXPECT_EQ(base::string16(kDummyCommand),
             GoogleUpdateSettings::GetUninstallCommandLine(system_install_));
   // Make sure that there's no value in the other level (user or system).
-  EXPECT_EQ(string16(),
+  EXPECT_EQ(base::string16(),
             GoogleUpdateSettings::GetUninstallCommandLine(!system_install_));
 }
 
diff --git a/chrome/installer/util/google_update_util.cc b/chrome/installer/util/google_update_util.cc
index 630cd0f..748e3f6c 100644
--- a/chrome/installer/util/google_update_util.cc
+++ b/chrome/installer/util/google_update_util.cc
@@ -50,8 +50,8 @@
 
   if (update_key.Open(root_key, kRegPathGoogleUpdate, KEY_QUERY_VALUE) ==
           ERROR_SUCCESS) {
-    string16 path_str;
-    string16 version_str;
+    base::string16 path_str;
+    base::string16 version_str;
     if ((update_key.ReadValue(kRegPathField, &path_str) == ERROR_SUCCESS) &&
         (update_key.ReadValue(kRegGoogleUpdateVersion, &version_str) ==
              ERROR_SUCCESS)) {
@@ -65,7 +65,7 @@
 // If Google Update is present at system-level, sets |cmd_string| to the command
 // line to install Google Update at user-level and returns true.
 // Otherwise, clears |cmd_string| and returns false.
-bool GetUserLevelGoogleUpdateInstallCommandLine(string16* cmd_string) {
+bool GetUserLevelGoogleUpdateInstallCommandLine(base::string16* cmd_string) {
   cmd_string->clear();
   base::FilePath google_update_setup(
       GetGoogleUpdateSetupExe(true));  // system-level.
@@ -90,7 +90,7 @@
 // |timeout| to be base::TimeDelta::FromMilliseconds(INFINITE).
 // Returns true if this executes successfully.
 // Returns false if command execution fails to execute, or times out.
-bool LaunchProcessAndWaitWithTimeout(const string16& cmd_string,
+bool LaunchProcessAndWaitWithTimeout(const base::string16& cmd_string,
                                      base::TimeDelta timeout) {
   bool success = false;
   base::win::ScopedHandle process;
@@ -180,7 +180,7 @@
   if (IsGoogleUpdatePresent(false)) {
     success = true;
   } else {
-    string16 cmd_string;
+    base::string16 cmd_string;
     if (!GetUserLevelGoogleUpdateInstallCommandLine(&cmd_string)) {
       LOG(ERROR) << "Cannot find Google Update at system-level.";
       // Ideally we should return false. However, this case should not be
@@ -198,7 +198,7 @@
 
 bool UninstallGoogleUpdate(bool system_install) {
   bool success = false;
-  string16 cmd_string(
+  base::string16 cmd_string(
       GoogleUpdateSettings::GetUninstallCommandLine(system_install));
   if (cmd_string.empty()) {
     success = true;  // Nothing to; vacuous success.
diff --git a/chrome/installer/util/install_util.cc b/chrome/installer/util/install_util.cc
index 97f2162..433f363 100644
--- a/chrome/installer/util/install_util.cc
+++ b/chrome/installer/util/install_util.cc
@@ -125,18 +125,18 @@
 
 }  // namespace
 
-string16 InstallUtil::GetActiveSetupPath(BrowserDistribution* dist) {
+base::string16 InstallUtil::GetActiveSetupPath(BrowserDistribution* dist) {
   static const wchar_t kInstalledComponentsPath[] =
       L"Software\\Microsoft\\Active Setup\\Installed Components\\";
   return kInstalledComponentsPath + dist->GetActiveSetupGuid();
 }
 
 void InstallUtil::TriggerActiveSetupCommand() {
-  string16 active_setup_reg(
+  base::string16 active_setup_reg(
       GetActiveSetupPath(BrowserDistribution::GetDistribution()));
   base::win::RegKey active_setup_key(
       HKEY_LOCAL_MACHINE, active_setup_reg.c_str(), KEY_QUERY_VALUE);
-  string16 cmd_str;
+  base::string16 cmd_str;
   LONG read_status = active_setup_key.ReadValue(L"StubPath", &cmd_str);
   if (read_status != ERROR_SUCCESS) {
     LOG(ERROR) << active_setup_reg << ", " << read_status;
@@ -221,7 +221,7 @@
   LONG result = key.Open(reg_root, dist->GetVersionKey().c_str(),
                          KEY_QUERY_VALUE);
 
-  string16 version_str;
+  base::string16 version_str;
   if (result == ERROR_SUCCESS)
     result = key.ReadValue(google_update::kRegVersionField, &version_str);
 
@@ -246,7 +246,7 @@
   LONG result =
       key.Open(reg_root, dist->GetVersionKey().c_str(), KEY_QUERY_VALUE);
 
-  string16 version_str;
+  base::string16 version_str;
   if (result == ERROR_SUCCESS)
     result = key.ReadValue(google_update::kRegCriticalVersionField,
                            &version_str);
@@ -273,12 +273,13 @@
        (base::win::OSInfo::GetInstance()->service_pack().major >= 2));
 }
 
-void InstallUtil::AddInstallerResultItems(bool system_install,
-                                          const string16& state_key,
-                                          installer::InstallStatus status,
-                                          int string_resource_id,
-                                          const string16* const launch_cmd,
-                                          WorkItemList* install_list) {
+void InstallUtil::AddInstallerResultItems(
+    bool system_install,
+    const base::string16& state_key,
+    installer::InstallStatus status,
+    int string_resource_id,
+    const base::string16* const launch_cmd,
+    WorkItemList* install_list) {
   DCHECK(install_list);
   const HKEY root = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
   DWORD installer_result = (GetInstallReturnCode(status) == 0) ? 0 : 1;
@@ -290,7 +291,7 @@
                                        installer::kInstallerError,
                                        static_cast<DWORD>(status), true);
   if (string_resource_id != 0) {
-    string16 msg = installer::GetLocalizedString(string_resource_id);
+    base::string16 msg = installer::GetLocalizedString(string_resource_id);
     install_list->AddSetRegValueWorkItem(root, state_key,
         installer::kInstallerResultUIString, msg, true);
   }
@@ -301,7 +302,7 @@
 }
 
 void InstallUtil::UpdateInstallerStage(bool system_install,
-                                       const string16& state_key_path,
+                                       const base::string16& state_key_path,
                                        installer::InstallerStage stage) {
   DCHECK_LE(static_cast<installer::InstallerStage>(0), stage);
   DCHECK_GT(installer::NUM_STAGES, stage);
@@ -367,7 +368,7 @@
   // Also return true if we are running from Chrome SxS installed path.
   base::FilePath exe_dir;
   PathService::Get(base::DIR_EXE, &exe_dir);
-  string16 chrome_sxs_dir(installer::kGoogleChromeInstallSubDir2);
+  base::string16 chrome_sxs_dir(installer::kGoogleChromeInstallSubDir2);
   chrome_sxs_dir.append(installer::kSxSSuffix);
 
   // This is SxS if current EXE is in or under (possibly multiple levels under)
@@ -439,7 +440,7 @@
 // in case of failure. It returns true if deletion is successful (or the key did
 // not exist), otherwise false.
 bool InstallUtil::DeleteRegistryKey(HKEY root_key,
-                                    const string16& key_path) {
+                                    const base::string16& key_path) {
   VLOG(1) << "Deleting registry key " << key_path;
   LONG result = ::SHDeleteKey(root_key, key_path.c_str());
   if (result != ERROR_SUCCESS && result != ERROR_FILE_NOT_FOUND) {
@@ -454,8 +455,8 @@
 // in case of failure. It returns true if deletion is successful (or the key did
 // not exist), otherwise false.
 bool InstallUtil::DeleteRegistryValue(HKEY reg_root,
-                                      const string16& key_path,
-                                      const string16& value_name) {
+                                      const base::string16& key_path,
+                                      const base::string16& value_name) {
   RegKey key;
   LONG result = key.Open(reg_root, key_path.c_str(), KEY_SET_VALUE);
   if (result == ERROR_SUCCESS)
@@ -471,14 +472,14 @@
 // static
 InstallUtil::ConditionalDeleteResult InstallUtil::DeleteRegistryKeyIf(
     HKEY root_key,
-    const string16& key_to_delete_path,
-    const string16& key_to_test_path,
+    const base::string16& key_to_delete_path,
+    const base::string16& key_to_test_path,
     const wchar_t* value_name,
     const RegistryValuePredicate& predicate) {
   DCHECK(root_key);
   ConditionalDeleteResult delete_result = NOT_FOUND;
   RegKey key;
-  string16 actual_value;
+  base::string16 actual_value;
   if (key.Open(root_key, key_to_test_path.c_str(),
                KEY_QUERY_VALUE) == ERROR_SUCCESS &&
       key.ReadValue(value_name, &actual_value) == ERROR_SUCCESS &&
@@ -500,7 +501,7 @@
   DCHECK(key_path);
   ConditionalDeleteResult delete_result = NOT_FOUND;
   RegKey key;
-  string16 actual_value;
+  base::string16 actual_value;
   if (key.Open(root_key, key_path,
                KEY_QUERY_VALUE | KEY_SET_VALUE) == ERROR_SUCCESS &&
       key.ReadValue(value_name, &actual_value) == ERROR_SUCCESS &&
@@ -517,7 +518,7 @@
   return delete_result;
 }
 
-bool InstallUtil::ValueEquals::Evaluate(const string16& value) const {
+bool InstallUtil::ValueEquals::Evaluate(const base::string16& value) const {
   return value == value_to_match_;
 }
 
@@ -536,14 +537,14 @@
 }
 
 // static
-void InstallUtil::MakeUninstallCommand(const string16& program,
-                                       const string16& arguments,
+void InstallUtil::MakeUninstallCommand(const base::string16& program,
+                                       const base::string16& arguments,
                                        CommandLine* command_line) {
   *command_line = CommandLine::FromString(L"\"" + program + L"\" " + arguments);
 }
 
 // static
-string16 InstallUtil::GetCurrentDate() {
+base::string16 InstallUtil::GetCurrentDate() {
   static const wchar_t kDateFormat[] = L"yyyyMMdd";
   wchar_t date_str[arraysize(kDateFormat)] = {0};
   int len = GetDateFormatW(LOCALE_INVARIANT, 0, NULL, kDateFormat,
@@ -554,7 +555,7 @@
     PLOG(DFATAL) << "GetDateFormat";
   }
 
-  return string16(date_str, len);
+  return base::string16(date_str, len);
 }
 
 // Open |path| with minimal access to obtain information about it, returning
@@ -596,7 +597,7 @@
 InstallUtil::ProgramCompare::~ProgramCompare() {
 }
 
-bool InstallUtil::ProgramCompare::Evaluate(const string16& value) const {
+bool InstallUtil::ProgramCompare::Evaluate(const base::string16& value) const {
   // Suss out the exe portion of the value, which is expected to be a command
   // line kinda (or exactly) like:
   // "c:\foo\bar\chrome.exe" -- "%1"
diff --git a/chrome/installer/util/install_util.h b/chrome/installer/util/install_util.h
index 40e6c85..eaa9e9e 100644
--- a/chrome/installer/util/install_util.h
+++ b/chrome/installer/util/install_util.h
@@ -33,7 +33,7 @@
  public:
   // Get the path to this distribution's Active Setup registry entries.
   // e.g. Software\Microsoft\Active Setup\Installed Components\<dist_guid>
-  static string16 GetActiveSetupPath(BrowserDistribution* dist);
+  static base::string16 GetActiveSetupPath(BrowserDistribution* dist);
 
   // Attempts to trigger the command that would be run by Active Setup for a
   // system-level Chrome. For use only when system-level Chrome is installed.
@@ -77,17 +77,17 @@
   // app's ClientState key.  See InstallerState::WriteInstallerResult for more
   // details.
   static void AddInstallerResultItems(bool system_install,
-                                      const string16& state_key,
+                                      const base::string16& state_key,
                                       installer::InstallStatus status,
                                       int string_resource_id,
-                                      const string16* const launch_cmd,
+                                      const base::string16* const launch_cmd,
                                       WorkItemList* install_list);
 
   // Update the installer stage reported by Google Update.  |state_key_path|
   // should be obtained via the state_key method of an InstallerState instance
   // created before the machine state is modified by the installer.
   static void UpdateInstallerStage(bool system_install,
-                                   const string16& state_key_path,
+                                   const base::string16& state_key_path,
                                    installer::InstallerStage stage);
 
   // Returns true if this installation path is per user, otherwise returns
@@ -113,19 +113,19 @@
                                   base::FilePath* path);
 
   // Deletes the registry key at path key_path under the key given by root_key.
-  static bool DeleteRegistryKey(HKEY root_key, const string16& key_path);
+  static bool DeleteRegistryKey(HKEY root_key, const base::string16& key_path);
 
   // Deletes the registry value named value_name at path key_path under the key
   // given by reg_root.
-  static bool DeleteRegistryValue(HKEY reg_root, const string16& key_path,
-                                  const string16& value_name);
+  static bool DeleteRegistryValue(HKEY reg_root, const base::string16& key_path,
+                                  const base::string16& value_name);
 
   // An interface to a predicate function for use by DeleteRegistryKeyIf and
   // DeleteRegistryValueIf.
   class RegistryValuePredicate {
    public:
     virtual ~RegistryValuePredicate() { }
-    virtual bool Evaluate(const string16& value) const = 0;
+    virtual bool Evaluate(const base::string16& value) const = 0;
   };
 
   // The result of a conditional delete operation (i.e., DeleteFOOIf).
@@ -141,8 +141,8 @@
   // the key's default value.
   static ConditionalDeleteResult DeleteRegistryKeyIf(
       HKEY root_key,
-      const string16& key_to_delete_path,
-      const string16& key_to_test_path,
+      const base::string16& key_to_delete_path,
+      const base::string16& key_to_test_path,
       const wchar_t* value_name,
       const RegistryValuePredicate& predicate);
 
@@ -158,11 +158,11 @@
   // A predicate that performs a case-sensitive string comparison.
   class ValueEquals : public RegistryValuePredicate {
    public:
-    explicit ValueEquals(const string16& value_to_match)
+    explicit ValueEquals(const base::string16& value_to_match)
         : value_to_match_(value_to_match) { }
-    virtual bool Evaluate(const string16& value) const OVERRIDE;
+    virtual bool Evaluate(const base::string16& value) const OVERRIDE;
    protected:
-    string16 value_to_match_;
+    base::string16 value_to_match_;
    private:
     DISALLOW_COPY_AND_ASSIGN(ValueEquals);
   };
@@ -171,12 +171,12 @@
   static int GetInstallReturnCode(installer::InstallStatus install_status);
 
   // Composes |program| and |arguments| into |command_line|.
-  static void MakeUninstallCommand(const string16& program,
-                                   const string16& arguments,
+  static void MakeUninstallCommand(const base::string16& program,
+                                   const base::string16& arguments,
                                    CommandLine* command_line);
 
   // Returns a string in the form YYYYMMDD of the current date.
-  static string16 GetCurrentDate();
+  static base::string16 GetCurrentDate();
 
   // A predicate that compares the program portion of a command line with a
   // given file path.  First, the file paths are compared directly.  If they do
@@ -186,7 +186,7 @@
    public:
     explicit ProgramCompare(const base::FilePath& path_to_match);
     virtual ~ProgramCompare();
-    virtual bool Evaluate(const string16& value) const OVERRIDE;
+    virtual bool Evaluate(const base::string16& value) const OVERRIDE;
     bool EvaluatePath(const base::FilePath& path) const;
 
    protected:
diff --git a/chrome/installer/util/installation_validator.cc b/chrome/installer/util/installation_validator.cc
index 9123ca4..2ce6243 100644
--- a/chrome/installer/util/installation_validator.cc
+++ b/chrome/installer/util/installation_validator.cc
@@ -169,11 +169,11 @@
 void InstallationValidator::ValidateAppCommandFlags(
     const ProductContext& ctx,
     const AppCommand& app_cmd,
-    const std::set<string16>& flags_exp,
-    const string16& name,
+    const std::set<base::string16>& flags_exp,
+    const base::string16& name,
     bool* is_valid) {
   const struct {
-    const string16 exp_key;
+    const base::string16 exp_key;
     bool val;
     const char* msg;
   } check_list[] = {
@@ -213,7 +213,7 @@
   DCHECK(is_valid);
 
   CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
-  string16 name(expected_command);
+  base::string16 name(expected_command);
 
   base::FilePath expected_path(
       installer::GetChromeInstallPath(ctx.system_install, ctx.dist)
@@ -232,7 +232,7 @@
 
   ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
 
-  std::set<string16> flags_exp;
+  std::set<base::string16> flags_exp;
   flags_exp.insert(google_update::kRegSendsPingsField);
   flags_exp.insert(google_update::kRegWebAccessibleField);
   flags_exp.insert(google_update::kRegRunAsUserField);
@@ -267,7 +267,7 @@
   DCHECK(is_valid);
 
   CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
-  string16 name(kCmdOnOsUpgrade);
+  base::string16 name(kCmdOnOsUpgrade);
 
   ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid);
 
@@ -283,7 +283,7 @@
 
   ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
 
-  std::set<string16> flags_exp;
+  std::set<base::string16> flags_exp;
   flags_exp.insert(google_update::kRegAutoRunOnOSUpgradeField);
   ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid);
 }
@@ -296,7 +296,7 @@
   DCHECK(is_valid);
 
   CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
-  string16 name(kCmdQueryEULAAcceptance);
+  base::string16 name(kCmdQueryEULAAcceptance);
 
   ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid);
 
@@ -308,7 +308,7 @@
 
   ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
 
-  std::set<string16> flags_exp;
+  std::set<base::string16> flags_exp;
   flags_exp.insert(google_update::kRegWebAccessibleField);
   flags_exp.insert(google_update::kRegRunAsUserField);
   ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid);
@@ -322,7 +322,7 @@
   DCHECK(is_valid);
 
   CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
-  string16 name(kCmdQuickEnableApplicationHost);
+  base::string16 name(kCmdQuickEnableApplicationHost);
 
   ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid);
 
@@ -339,7 +339,7 @@
 
   ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
 
-  std::set<string16> flags_exp;
+  std::set<base::string16> flags_exp;
   flags_exp.insert(google_update::kRegSendsPingsField);
   flags_exp.insert(google_update::kRegWebAccessibleField);
   flags_exp.insert(google_update::kRegRunAsUserField);
@@ -360,7 +360,7 @@
       ctx.state.commands().GetIterators());
   CommandExpectations::iterator expectation;
   for (; cmd_iterators.first != cmd_iterators.second; ++cmd_iterators.first) {
-    const string16& cmd_id = cmd_iterators.first->first;
+    const base::string16& cmd_id = cmd_iterators.first->first;
     // Do we have an expectation for this command?
     expectation = the_expectations.find(cmd_id);
     if (expectation != the_expectations.end()) {
@@ -506,7 +506,7 @@
 // Validates the path to |setup_exe| for the product described by |ctx|.
 void InstallationValidator::ValidateSetupPath(const ProductContext& ctx,
                                               const base::FilePath& setup_exe,
-                                              const string16& purpose,
+                                              const base::string16& purpose,
                                               bool* is_valid) {
   DCHECK(is_valid);
 
@@ -536,7 +536,7 @@
     const ProductContext& ctx,
     const CommandLine& command,
     const SwitchExpectations& expected,
-    const string16& source,
+    const base::string16& source,
     bool* is_valid) {
   for (SwitchExpectations::size_type i = 0, size = expected.size(); i < size;
        ++i) {
@@ -554,10 +554,11 @@
 
 // Validates that |command|, originating from |source|, is formed properly for
 // the product described by |ctx|
-void InstallationValidator::ValidateUninstallCommand(const ProductContext& ctx,
-                                                     const CommandLine& command,
-                                                     const string16& source,
-                                                     bool* is_valid) {
+void InstallationValidator::ValidateUninstallCommand(
+    const ProductContext& ctx,
+    const CommandLine& command,
+    const base::string16& source,
+    bool* is_valid) {
   DCHECK(is_valid);
 
   ValidateSetupPath(ctx, command.GetProgram(), ASCIIToUTF16("uninstaller"),
@@ -583,7 +584,7 @@
   DCHECK(!ctx.state.rename_cmd().empty());
 
   CommandLine command = CommandLine::FromString(ctx.state.rename_cmd());
-  string16 name(ASCIIToUTF16("in-use renamer"));
+  base::string16 name(ASCIIToUTF16("in-use renamer"));
 
   ValidateSetupPath(ctx, command.GetProgram(), name, is_valid);
 
diff --git a/chrome/installer/util/installation_validator.h b/chrome/installer/util/installation_validator.h
index 6072bae..3dcc583 100644
--- a/chrome/installer/util/installation_validator.h
+++ b/chrome/installer/util/installation_validator.h
@@ -95,7 +95,7 @@
   typedef void (*CommandValidatorFn)(const ProductContext& ctx,
                                      const AppCommand& app_cmd,
                                      bool* is_valid);
-  typedef std::map<string16, CommandValidatorFn> CommandExpectations;
+  typedef std::map<base::string16, CommandValidatorFn> CommandExpectations;
 
   // An interface to product-specific validation rules.
   class ProductRules {
@@ -187,11 +187,12 @@
   // Helper to validate the values of bool elements in AppCommand, and to output
   // error messages. |flag_expect| is a bit mask specifying the expected
   // presence/absence of bool variables.
-  static void ValidateAppCommandFlags(const ProductContext& ctx,
-                                      const AppCommand& app_cmd,
-                                      const std::set<string16>& flags_expected,
-                                      const string16& name,
-                                      bool* is_valid);
+  static void ValidateAppCommandFlags(
+      const ProductContext& ctx,
+      const AppCommand& app_cmd,
+      const std::set<base::string16>& flags_expected,
+      const base::string16& name,
+      bool* is_valid);
   static void ValidateInstallCommand(const ProductContext& ctx,
                                      const AppCommand& app_cmd,
                                      const wchar_t* expected_command,
@@ -227,16 +228,16 @@
                                bool* is_valid);
   static void ValidateSetupPath(const ProductContext& ctx,
                                 const base::FilePath& setup_exe,
-                                const string16& purpose,
+                                const base::string16& purpose,
                                 bool* is_valid);
   static void ValidateCommandExpectations(const ProductContext& ctx,
                                           const CommandLine& command,
                                           const SwitchExpectations& expected,
-                                          const string16& source,
+                                          const base::string16& source,
                                           bool* is_valid);
   static void ValidateUninstallCommand(const ProductContext& ctx,
                                        const CommandLine& command,
-                                       const string16& source,
+                                       const base::string16& source,
                                        bool* is_valid);
   static void ValidateRenameCommand(const ProductContext& ctx,
                                     bool* is_valid);
diff --git a/chrome/installer/util/installer_state.cc b/chrome/installer/util/installer_state.cc
index f5aab52dd..cd836f73 100644
--- a/chrome/installer/util/installer_state.cc
+++ b/chrome/installer/util/installer_state.cc
@@ -680,7 +680,7 @@
     scoped_ptr<FileVersionInfo> file_version_info(
         FileVersionInfo::CreateFileVersionInfo(chrome_exe));
     if (file_version_info) {
-      string16 version_string = file_version_info->file_version();
+      base::string16 version_string = file_version_info->file_version();
       if (!version_string.empty() && IsStringASCII(version_string))
         existing_versions->insert(WideToASCII(version_string));
     }
diff --git a/chrome/installer/util/installer_util_test_common.cc b/chrome/installer/util/installer_util_test_common.cc
index bc463852..6c15537 100644
--- a/chrome/installer/util/installer_util_test_common.cc
+++ b/chrome/installer/util/installer_util_test_common.cc
@@ -17,9 +17,9 @@
 bool CopyFileHierarchy(const base::FilePath& from, const base::FilePath& to) {
   // In SHFILEOPSTRUCT below, |pFrom| and |pTo| have to be double-null
   // terminated: http://msdn.microsoft.com/library/bb759795.aspx
-  string16 double_null_from(from.value());
+  base::string16 double_null_from(from.value());
   double_null_from.push_back(L'\0');
-  string16 double_null_to(to.value());
+  base::string16 double_null_to(to.value());
   double_null_to.push_back(L'\0');
 
   SHFILEOPSTRUCT file_op = {};
diff --git a/chrome/installer/util/l10n_string_util.h b/chrome/installer/util/l10n_string_util.h
index 199a9b7..62e8f267 100644
--- a/chrome/installer/util/l10n_string_util.h
+++ b/chrome/installer/util/l10n_string_util.h
@@ -22,7 +22,7 @@
 class TranslationDelegate {
  public:
   virtual ~TranslationDelegate();
-  virtual string16 GetLocalizedString(int installer_string_id) = 0;
+  virtual base::string16 GetLocalizedString(int installer_string_id) = 0;
 };
 
 // If we're in Chrome, the installer strings aren't in the binary, but are in
diff --git a/chrome/installer/util/product_operations.h b/chrome/installer/util/product_operations.h
index 800287c..bb6c208 100644
--- a/chrome/installer/util/product_operations.h
+++ b/chrome/installer/util/product_operations.h
@@ -32,11 +32,11 @@
 
   // Reads product-specific options from |prefs|, adding them to |options|.
   virtual void ReadOptions(const MasterPreferences& prefs,
-                           std::set<string16>* options) const = 0;
+                           std::set<base::string16>* options) const = 0;
 
   // Reads product-specific options from |command|, adding them to |options|.
   virtual void ReadOptions(const CommandLine& command,
-                           std::set<string16>* options) const = 0;
+                           std::set<base::string16>* options) const = 0;
 
   // A key-file is a file such as a DLL on Windows that is expected to be in use
   // when the product is being used.  For example "chrome.dll" for Chrome.
@@ -46,28 +46,28 @@
   // none of the key files are in use, can the folder be deleted.  Note that
   // this function does not return a full path to the key file(s), only (a) file
   // name(s).
-  virtual void AddKeyFiles(const std::set<string16>& options,
+  virtual void AddKeyFiles(const std::set<base::string16>& options,
                            std::vector<base::FilePath>* key_files) const = 0;
 
   // Adds to |com_dll_list| the list of COM DLLs that are to be registered
   // and/or unregistered. The list may be empty.
   virtual void AddComDllList(
-      const std::set<string16>& options,
+      const std::set<base::string16>& options,
       std::vector<base::FilePath>* com_dll_list) const = 0;
 
   // Given a command line, appends the set of product-specific flags.  These are
   // required for product-specific uninstall commands, but are of use for any
   // invocation of setup.exe for the product.
-  virtual void AppendProductFlags(const std::set<string16>& options,
+  virtual void AppendProductFlags(const std::set<base::string16>& options,
                                   CommandLine* cmd_line) const = 0;
 
   // Given a command line, appends the set of product-specific rename flags.
-  virtual void AppendRenameFlags(const std::set<string16>& options,
+  virtual void AppendRenameFlags(const std::set<base::string16>& options,
                                  CommandLine* cmd_line) const = 0;
 
   // Adds or removes product-specific flags in |channel_info|.  Returns true if
   // |channel_info| is modified.
-  virtual bool SetChannelFlags(const std::set<string16>& options,
+  virtual bool SetChannelFlags(const std::set<base::string16>& options,
                                bool set,
                                ChannelInfo* channel_info) const = 0;
 
@@ -75,7 +75,7 @@
   // of installed applications for this product.  This does not test for use of
   // MSI; see InstallerState::is_msi.
   virtual bool ShouldCreateUninstallEntry(
-      const std::set<string16>& options) const = 0;
+      const std::set<base::string16>& options) const = 0;
 
   // Modifies a ShellUtil::ShortcutProperties object by assigning default values
   // to unintialized members.
@@ -88,7 +88,7 @@
   // experiment. This function determines if the user qualifies and if so it
   // sets the wheels in motion or in simple cases does the experiment itself.
   virtual void LaunchUserExperiment(const base::FilePath& setup_path,
-                                    const std::set<string16>& options,
+                                    const std::set<base::string16>& options,
                                     InstallStatus status,
                                     bool system_level) const = 0;
 };
diff --git a/chrome/installer/util/shell_util.cc b/chrome/installer/util/shell_util.cc
index 4284e67f..57e0736 100644
--- a/chrome/installer/util/shell_util.cc
+++ b/chrome/installer/util/shell_util.cc
@@ -101,16 +101,16 @@
 // Returns the current (or installed) browser's ProgId (e.g.
 // "ChromeHTML|suffix|").
 // |suffix| can be the empty string.
-string16 GetBrowserProgId(const string16& suffix) {
+base::string16 GetBrowserProgId(const base::string16& suffix) {
   BrowserDistribution* dist = BrowserDistribution::GetDistribution();
-  string16 chrome_html(dist->GetBrowserProgIdPrefix());
+  base::string16 chrome_html(dist->GetBrowserProgIdPrefix());
   chrome_html.append(suffix);
 
   // ProgIds cannot be longer than 39 characters.
   // Ref: http://msdn.microsoft.com/en-us/library/aa911706.aspx.
   // Make all new registrations comply with this requirement (existing
   // registrations must be preserved).
-  string16 new_style_suffix;
+  base::string16 new_style_suffix;
   if (ShellUtil::GetUserSpecificRegistrySuffix(&new_style_suffix) &&
       suffix == new_style_suffix && chrome_html.length() > 39) {
     NOTREACHED();
@@ -134,16 +134,16 @@
 
   // Sets |suffix| to the pre-computed suffix cached in this object.
   // Returns true unless the initialization originally failed.
-  bool GetSuffix(string16* suffix);
+  bool GetSuffix(base::string16* suffix);
 
  private:
-  string16 suffix_;
+  base::string16 suffix_;
 
   DISALLOW_COPY_AND_ASSIGN(UserSpecificRegistrySuffix);
 };  // class UserSpecificRegistrySuffix
 
 UserSpecificRegistrySuffix::UserSpecificRegistrySuffix() {
-  string16 user_sid;
+  base::string16 user_sid;
   if (!base::win::GetUserSidString(&user_sid)) {
     NOTREACHED();
     return;
@@ -152,7 +152,7 @@
   base::MD5Digest md5_digest;
   std::string user_sid_ascii(UTF16ToASCII(user_sid));
   base::MD5Sum(user_sid_ascii.c_str(), user_sid_ascii.length(), &md5_digest);
-  const string16 base32_md5(
+  const base::string16 base32_md5(
       ShellUtil::ByteArrayToBase32(md5_digest.a, arraysize(md5_digest.a)));
   // The value returned by the base32 algorithm above must never change and
   // must always be 26 characters long (i.e. if someone ever moves this to
@@ -165,7 +165,7 @@
   suffix_.append(base32_md5);
 }
 
-bool UserSpecificRegistrySuffix::GetSuffix(string16* suffix) {
+bool UserSpecificRegistrySuffix::GetSuffix(base::string16* suffix) {
   if (suffix_.empty()) {
     NOTREACHED();
     return false;
@@ -195,10 +195,10 @@
   // to make Chrome their default browser, which isn't polite.  |suffix| is the
   // user-specific registration suffix; see GetUserSpecificDefaultBrowserSuffix
   // in shell_util.h for details.
-  static string16 GetBrowserClientKey(BrowserDistribution* dist,
-                                      const string16& suffix) {
+  static base::string16 GetBrowserClientKey(BrowserDistribution* dist,
+                                            const base::string16& suffix) {
     DCHECK(suffix.empty() || suffix[0] == L'.');
-    return string16(ShellUtil::kRegStartMenuInternet)
+    return base::string16(ShellUtil::kRegStartMenuInternet)
         .append(1, L'\\')
         .append(dist->GetBaseAppName())
         .append(suffix);
@@ -207,8 +207,8 @@
   // Returns the Windows Default Programs capabilities key for Chrome.  For
   // example:
   // "Software\Clients\StartMenuInternet\Chromium[.user]\Capabilities".
-  static string16 GetCapabilitiesKey(BrowserDistribution* dist,
-                                     const string16& suffix) {
+  static base::string16 GetCapabilitiesKey(BrowserDistribution* dist,
+                                           const base::string16& suffix) {
     return GetBrowserClientKey(dist, suffix).append(L"\\Capabilities");
   }
 
@@ -216,28 +216,29 @@
   // are needed to register this installation's ProgId and AppId.
   // These entries need to be registered in HKLM prior to Win8.
   static void GetProgIdEntries(BrowserDistribution* dist,
-                               const string16& chrome_exe,
-                               const string16& suffix,
+                               const base::string16& chrome_exe,
+                               const base::string16& suffix,
                                ScopedVector<RegistryEntry>* entries) {
-    string16 icon_path(
+    base::string16 icon_path(
         ShellUtil::FormatIconLocation(
             chrome_exe,
             dist->GetIconIndex(BrowserDistribution::SHORTCUT_CHROME)));
-    string16 open_cmd(ShellUtil::GetChromeShellOpenCmd(chrome_exe));
-    string16 delegate_command(ShellUtil::GetChromeDelegateCommand(chrome_exe));
+    base::string16 open_cmd(ShellUtil::GetChromeShellOpenCmd(chrome_exe));
+    base::string16 delegate_command(
+        ShellUtil::GetChromeDelegateCommand(chrome_exe));
     // For user-level installs: entries for the app id and DelegateExecute verb
     // handler will be in HKCU; thus we do not need a suffix on those entries.
-    string16 app_id(
+    base::string16 app_id(
         ShellUtil::GetBrowserModelId(
             dist, InstallUtil::IsPerUserInstall(chrome_exe.c_str())));
-    string16 delegate_guid;
+    base::string16 delegate_guid;
     bool set_delegate_execute =
         IsChromeMetroSupported() &&
         dist->GetCommandExecuteImplClsid(&delegate_guid);
 
     // DelegateExecute ProgId. Needed for Chrome Metro in Windows 8.
     if (set_delegate_execute) {
-      string16 model_id_shell(ShellUtil::kRegClasses);
+      base::string16 model_id_shell(ShellUtil::kRegClasses);
       model_id_shell.push_back(base::FilePath::kSeparators[0]);
       model_id_shell.append(app_id);
       model_id_shell.append(ShellUtil::kRegExePath);
@@ -261,7 +262,7 @@
           { ShellUtil::kRegVerbOpenNewWindow, IDS_SHORTCUT_NEW_WINDOW_BASE },
       };
       for (size_t i = 0; i < arraysize(verbs); ++i) {
-        string16 sub_path(model_id_shell);
+        base::string16 sub_path(model_id_shell);
         sub_path.push_back(base::FilePath::kSeparators[0]);
         sub_path.append(verbs[i].verb);
 
@@ -269,7 +270,8 @@
         if (verbs[i].name_id != -1) {
           // TODO(grt): http://crbug.com/75152 Write a reference to a localized
           // resource.
-          string16 verb_name(installer::GetLocalizedString(verbs[i].name_id));
+          base::string16 verb_name(
+              installer::GetLocalizedString(verbs[i].name_id));
           entries->push_back(new RegistryEntry(sub_path, verb_name.c_str()));
         }
         entries->push_back(new RegistryEntry(
@@ -286,7 +288,7 @@
     }
 
     // File association ProgId
-    string16 chrome_html_prog_id(ShellUtil::kRegClasses);
+    base::string16 chrome_html_prog_id(ShellUtil::kRegClasses);
     chrome_html_prog_id.push_back(base::FilePath::kSeparators[0]);
     chrome_html_prog_id.append(GetBrowserProgId(suffix));
     entries->push_back(new RegistryEntry(
@@ -310,8 +312,8 @@
           chrome_html_prog_id, ShellUtil::kRegAppUserModelId, app_id));
 
       // Add \Software\Classes\ChromeHTML\Application entries
-      string16 chrome_application(chrome_html_prog_id +
-                                  ShellUtil::kRegApplication);
+      base::string16 chrome_application(chrome_html_prog_id +
+                                        ShellUtil::kRegApplication);
       entries->push_back(new RegistryEntry(
           chrome_application, ShellUtil::kRegAppUserModelId, app_id));
       entries->push_back(new RegistryEntry(
@@ -334,8 +336,8 @@
   // capability of handling a protocol on Windows.
   static void GetProtocolCapabilityEntries(
       BrowserDistribution* dist,
-      const string16& suffix,
-      const string16& protocol,
+      const base::string16& suffix,
+      const base::string16& protocol,
       ScopedVector<RegistryEntry>* entries) {
     entries->push_back(new RegistryEntry(
         GetCapabilitiesKey(dist, suffix).append(L"\\URLAssociations"),
@@ -349,17 +351,17 @@
   // If |suffix| is not empty, these entries are guaranteed to be unique on this
   // machine.
   static void GetShellIntegrationEntries(BrowserDistribution* dist,
-                                         const string16& chrome_exe,
-                                         const string16& suffix,
+                                         const base::string16& chrome_exe,
+                                         const base::string16& suffix,
                                          ScopedVector<RegistryEntry>* entries) {
-    const string16 icon_path(
+    const base::string16 icon_path(
         ShellUtil::FormatIconLocation(
             chrome_exe,
             dist->GetIconIndex(BrowserDistribution::SHORTCUT_CHROME)));
-    const string16 quoted_exe_path(L"\"" + chrome_exe + L"\"");
+    const base::string16 quoted_exe_path(L"\"" + chrome_exe + L"\"");
 
     // Register for the Start Menu "Internet" link (pre-Win7).
-    const string16 start_menu_entry(GetBrowserClientKey(dist, suffix));
+    const base::string16 start_menu_entry(GetBrowserClientKey(dist, suffix));
     // Register Chrome's display name.
     // TODO(grt): http://crbug.com/75152 Also set LocalizedString; see
     // http://msdn.microsoft.com/en-us/library/windows/desktop/cc144109(v=VS.85).aspx#registering_the_display_name
@@ -373,7 +375,7 @@
         start_menu_entry + ShellUtil::kRegDefaultIcon, icon_path));
 
     // Register installation information.
-    string16 install_info(start_menu_entry + L"\\InstallInfo");
+    base::string16 install_info(start_menu_entry + L"\\InstallInfo");
     // Note: not using CommandLine since it has ambiguous rules for quoting
     // strings.
     entries->push_back(new RegistryEntry(install_info, kReinstallCommand,
@@ -385,9 +387,9 @@
     entries->push_back(new RegistryEntry(install_info, L"IconsVisible", 1));
 
     // Register with Default Programs.
-    const string16 reg_app_name(dist->GetBaseAppName().append(suffix));
+    const base::string16 reg_app_name(dist->GetBaseAppName().append(suffix));
     // Tell Windows where to find Chrome's Default Programs info.
-    const string16 capabilities(GetCapabilitiesKey(dist, suffix));
+    const base::string16 capabilities(GetCapabilitiesKey(dist, suffix));
     entries->push_back(new RegistryEntry(ShellUtil::kRegRegisteredApplications,
         reg_app_name, capabilities));
     // Write out Chrome's Default Programs info.
@@ -405,7 +407,7 @@
     entries->push_back(new RegistryEntry(capabilities + L"\\Startmenu",
         L"StartMenuInternet", reg_app_name));
 
-    const string16 html_prog_id(GetBrowserProgId(suffix));
+    const base::string16 html_prog_id(GetBrowserProgId(suffix));
     for (int i = 0; ShellUtil::kPotentialFileAssociations[i] != NULL; i++) {
       entries->push_back(new RegistryEntry(
           capabilities + L"\\FileAssociations",
@@ -427,37 +429,38 @@
   //  - File Associations
   //    http://msdn.microsoft.com/en-us/library/bb166549
   // These entries need to be registered in HKLM prior to Win8.
-  static void GetAppRegistrationEntries(const string16& chrome_exe,
-                                        const string16& suffix,
+  static void GetAppRegistrationEntries(const base::string16& chrome_exe,
+                                        const base::string16& suffix,
                                         ScopedVector<RegistryEntry>* entries) {
     const base::FilePath chrome_path(chrome_exe);
-    string16 app_path_key(ShellUtil::kAppPathsRegistryKey);
+    base::string16 app_path_key(ShellUtil::kAppPathsRegistryKey);
     app_path_key.push_back(base::FilePath::kSeparators[0]);
     app_path_key.append(chrome_path.BaseName().value());
     entries->push_back(new RegistryEntry(app_path_key, chrome_exe));
     entries->push_back(new RegistryEntry(app_path_key,
         ShellUtil::kAppPathsRegistryPathName, chrome_path.DirName().value()));
 
-    const string16 html_prog_id(GetBrowserProgId(suffix));
+    const base::string16 html_prog_id(GetBrowserProgId(suffix));
     for (int i = 0; ShellUtil::kPotentialFileAssociations[i] != NULL; i++) {
-      string16 key(ShellUtil::kRegClasses);
+      base::string16 key(ShellUtil::kRegClasses);
       key.push_back(base::FilePath::kSeparators[0]);
       key.append(ShellUtil::kPotentialFileAssociations[i]);
       key.push_back(base::FilePath::kSeparators[0]);
       key.append(ShellUtil::kRegOpenWithProgids);
-      entries->push_back(new RegistryEntry(key, html_prog_id, string16()));
+      entries->push_back(
+          new RegistryEntry(key, html_prog_id, base::string16()));
     }
   }
 
   // This method returns a list of all the user level registry entries that
   // are needed to make Chromium the default handler for a protocol on XP.
   static void GetXPStyleUserProtocolEntries(
-      const string16& protocol,
-      const string16& chrome_icon,
-      const string16& chrome_open,
+      const base::string16& protocol,
+      const base::string16& chrome_icon,
+      const base::string16& chrome_open,
       ScopedVector<RegistryEntry>* entries) {
     // Protocols associations.
-    string16 url_key(ShellUtil::kRegClasses);
+    base::string16 url_key(ShellUtil::kRegClasses);
     url_key.push_back(base::FilePath::kSeparators[0]);
     url_key.append(protocol);
 
@@ -468,19 +471,19 @@
         ShellUtil::kRegUrlProtocol, L""));
 
     // <root hkey>\Software\Classes\<protocol>\DefaultIcon
-    string16 icon_key = url_key + ShellUtil::kRegDefaultIcon;
+    base::string16 icon_key = url_key + ShellUtil::kRegDefaultIcon;
     entries->push_back(new RegistryEntry(icon_key, chrome_icon));
 
     // <root hkey>\Software\Classes\<protocol>\shell\open\command
-    string16 shell_key = url_key + ShellUtil::kRegShellOpen;
+    base::string16 shell_key = url_key + ShellUtil::kRegShellOpen;
     entries->push_back(new RegistryEntry(shell_key, chrome_open));
 
     // <root hkey>\Software\Classes\<protocol>\shell\open\ddeexec
-    string16 dde_key = url_key + L"\\shell\\open\\ddeexec";
+    base::string16 dde_key = url_key + L"\\shell\\open\\ddeexec";
     entries->push_back(new RegistryEntry(dde_key, L""));
 
     // <root hkey>\Software\Classes\<protocol>\shell\@
-    string16 protocol_shell_key = url_key + ShellUtil::kRegShellPath;
+    base::string16 protocol_shell_key = url_key + ShellUtil::kRegShellPath;
     entries->push_back(new RegistryEntry(protocol_shell_key, L"open"));
   }
 
@@ -491,21 +494,21 @@
   // values.
   static void GetXPStyleDefaultBrowserUserEntries(
       BrowserDistribution* dist,
-      const string16& chrome_exe,
-      const string16& suffix,
+      const base::string16& chrome_exe,
+      const base::string16& suffix,
       ScopedVector<RegistryEntry>* entries) {
     // File extension associations.
-    string16 html_prog_id(GetBrowserProgId(suffix));
+    base::string16 html_prog_id(GetBrowserProgId(suffix));
     for (int i = 0; ShellUtil::kDefaultFileAssociations[i] != NULL; i++) {
-      string16 ext_key(ShellUtil::kRegClasses);
+      base::string16 ext_key(ShellUtil::kRegClasses);
       ext_key.push_back(base::FilePath::kSeparators[0]);
       ext_key.append(ShellUtil::kDefaultFileAssociations[i]);
       entries->push_back(new RegistryEntry(ext_key, html_prog_id));
     }
 
     // Protocols associations.
-    string16 chrome_open = ShellUtil::GetChromeShellOpenCmd(chrome_exe);
-    string16 chrome_icon =
+    base::string16 chrome_open = ShellUtil::GetChromeShellOpenCmd(chrome_exe);
+    base::string16 chrome_icon =
         ShellUtil::FormatIconLocation(
             chrome_exe,
             dist->GetIconIndex(BrowserDistribution::SHORTCUT_CHROME));
@@ -515,8 +518,8 @@
     }
 
     // start->Internet shortcut.
-    string16 start_menu(ShellUtil::kRegStartMenuInternet);
-    string16 app_name = dist->GetBaseAppName() + suffix;
+    base::string16 start_menu(ShellUtil::kRegStartMenuInternet);
+    base::string16 app_name = dist->GetBaseAppName() + suffix;
     entries->push_back(new RegistryEntry(start_menu, app_name));
   }
 
@@ -566,29 +569,29 @@
   };
 
   // Create a object that represent default value of a key
-  RegistryEntry(const string16& key_path, const string16& value)
+  RegistryEntry(const base::string16& key_path, const base::string16& value)
       : key_path_(key_path), name_(),
         is_string_(true), value_(value), int_value_(0) {
   }
 
   // Create a object that represent a key of type REG_SZ
-  RegistryEntry(const string16& key_path, const string16& name,
-                const string16& value)
+  RegistryEntry(const base::string16& key_path, const base::string16& name,
+                const base::string16& value)
       : key_path_(key_path), name_(name),
         is_string_(true), value_(value), int_value_(0) {
   }
 
   // Create a object that represent a key of integer type
-  RegistryEntry(const string16& key_path, const string16& name,
+  RegistryEntry(const base::string16& key_path, const base::string16& name,
                 DWORD value)
       : key_path_(key_path), name_(name),
         is_string_(false), value_(), int_value_(value) {
   }
 
-  string16 key_path_;  // key path for the registry entry
-  string16 name_;      // name of the registry entry
+  base::string16 key_path_;  // key path for the registry entry
+  base::string16 name_;      // name of the registry entry
   bool is_string_;     // true if current registry entry is of type REG_SZ
-  string16 value_;     // string value (useful if is_string_ = true)
+  base::string16 value_;     // string value (useful if is_string_ = true)
   DWORD int_value_;    // integer value (useful if is_string_ = false)
 
   // Helper function for ExistsInRegistry().
@@ -599,7 +602,7 @@
     bool found = false;
     bool correct_value = false;
     if (is_string_) {
-      string16 read_value;
+      base::string16 read_value;
       found = key.ReadValue(name_.c_str(), &read_value) == ERROR_SUCCESS;
       correct_value = read_value.size() == value_.size() &&
           std::equal(value_.begin(), value_.end(), read_value.begin(),
@@ -660,8 +663,8 @@
 // true for affected users (i.e. who have all the registrations, but over both
 // registry roots).
 bool IsChromeRegistered(BrowserDistribution* dist,
-                        const string16& chrome_exe,
-                        const string16& suffix,
+                        const base::string16& chrome_exe,
+                        const base::string16& suffix,
                         uint32 look_for_in) {
   ScopedVector<RegistryEntry> entries;
   RegistryEntry::GetProgIdEntries(dist, chrome_exe, suffix, &entries);
@@ -674,8 +677,8 @@
 // for the requested protocol. It just checks the one value required for this.
 // See RegistryEntry::ExistsInRegistry for the behavior of |look_for_in|.
 bool IsChromeRegisteredForProtocol(BrowserDistribution* dist,
-                                   const string16& suffix,
-                                   const string16& protocol,
+                                   const base::string16& suffix,
+                                   const base::string16& protocol,
                                    uint32 look_for_in) {
   ScopedVector<RegistryEntry> entries;
   RegistryEntry::GetProtocolCapabilityEntries(dist, suffix, protocol, &entries);
@@ -689,9 +692,9 @@
 // If protocol is non-empty we will also register Chrome as being capable of
 // handling the protocol.
 bool ElevateAndRegisterChrome(BrowserDistribution* dist,
-                              const string16& chrome_exe,
-                              const string16& suffix,
-                              const string16& protocol) {
+                              const base::string16& chrome_exe,
+                              const base::string16& suffix,
+                              const base::string16& protocol) {
   // Only user-level installs prior to Windows 8 should need to elevate to
   // register.
   DCHECK(InstallUtil::IsPerUserInstall(chrome_exe.c_str()));
@@ -702,7 +705,7 @@
     HKEY reg_root = InstallUtil::IsPerUserInstall(chrome_exe.c_str()) ?
         HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE;
     RegKey key(reg_root, dist->GetUninstallRegPath().c_str(), KEY_READ);
-    string16 uninstall_string;
+    base::string16 uninstall_string;
     key.ReadValue(installer::kUninstallStringField, &uninstall_string);
     CommandLine command_line = CommandLine::FromString(uninstall_string);
     exe_path = command_line.GetProgram();
@@ -758,7 +761,7 @@
 // Launches the Windows 7 and Windows 8 application association dialog, which
 // is the only documented way to make a browser the default browser on
 // Windows 8.
-bool LaunchApplicationAssociationDialog(const string16& app_id) {
+bool LaunchApplicationAssociationDialog(const base::string16& app_id) {
   base::win::ScopedComPtr<IApplicationAssociationRegistrationUI> aarui;
   HRESULT hr = aarui.CreateInstance(CLSID_ApplicationAssociationRegistrationUI);
   if (FAILED(hr))
@@ -779,11 +782,11 @@
 // how Chrome is registered, not to know whether the registration is complete
 // at install-time (IsChromeRegistered() can be used for that).
 bool QuickIsChromeRegistered(BrowserDistribution* dist,
-                             const string16& chrome_exe,
-                             const string16& suffix,
+                             const base::string16& chrome_exe,
+                             const base::string16& suffix,
                              RegistrationConfirmationLevel confirmation_level) {
   // Get the appropriate key to look for based on the level desired.
-  string16 reg_key;
+  base::string16 reg_key;
   switch (confirmation_level) {
     case CONFIRM_PROGID_REGISTRATION:
       // Software\Classes\ChromeHTML|suffix|
@@ -810,7 +813,7 @@
       (confirmation_level == CONFIRM_SHELL_REGISTRATION &&
        base::win::GetVersion() >= base::win::VERSION_WIN8)) {
     const RegKey key_hkcu(HKEY_CURRENT_USER, reg_key.c_str(), KEY_QUERY_VALUE);
-    string16 hkcu_value;
+    base::string16 hkcu_value;
     // If |reg_key| is present in HKCU, assert that it points to |chrome_exe|.
     // Otherwise, fall back on an HKLM lookup below.
     if (key_hkcu.ReadValue(L"", &hkcu_value) == ERROR_SUCCESS) {
@@ -821,7 +824,7 @@
 
   // Assert that |reg_key| points to |chrome_exe| in HKLM.
   const RegKey key_hklm(HKEY_LOCAL_MACHINE, reg_key.c_str(), KEY_QUERY_VALUE);
-  string16 hklm_value;
+  base::string16 hklm_value;
   if (key_hklm.ReadValue(L"", &hklm_value) == ERROR_SUCCESS) {
     return InstallUtil::ProgramCompare(
         base::FilePath(chrome_exe)).Evaluate(hklm_value);
@@ -840,10 +843,10 @@
 // with other Chrome user-level installs.
 // Returns true unless one of the underlying calls fails.
 bool GetInstallationSpecificSuffix(BrowserDistribution* dist,
-                                   const string16& chrome_exe,
-                                   string16* suffix) {
+                                   const base::string16& chrome_exe,
+                                   base::string16* suffix) {
   if (!InstallUtil::IsPerUserInstall(chrome_exe.c_str()) ||
-      QuickIsChromeRegistered(dist, chrome_exe, string16(),
+      QuickIsChromeRegistered(dist, chrome_exe, base::string16(),
                               CONFIRM_SHELL_REGISTRATION)) {
     // No suffix on system-level installs and user-level installs already
     // registered with no suffix.
@@ -878,7 +881,7 @@
 // Software\Classes\http key directly, we have to do this on Vista+ as well.
 bool RegisterChromeAsDefaultXPStyle(BrowserDistribution* dist,
                                     int shell_change,
-                                    const string16& chrome_exe) {
+                                    const base::string16& chrome_exe) {
   bool ret = true;
   ScopedVector<RegistryEntry> entries;
   RegistryEntry::GetXPStyleDefaultBrowserUserEntries(
@@ -906,12 +909,14 @@
 // required on Vista+ but since some applications still read these registry
 // keys directly, we have to do this on Vista+ as well.
 // See http://msdn.microsoft.com/library/aa767914.aspx for more details.
-bool RegisterChromeAsDefaultProtocolClientXPStyle(BrowserDistribution* dist,
-                                                  const string16& chrome_exe,
-                                                  const string16& protocol) {
+bool RegisterChromeAsDefaultProtocolClientXPStyle(
+    BrowserDistribution* dist,
+    const base::string16& chrome_exe,
+    const base::string16& protocol) {
   ScopedVector<RegistryEntry> entries;
-  const string16 chrome_open(ShellUtil::GetChromeShellOpenCmd(chrome_exe));
-  const string16 chrome_icon(
+  const base::string16 chrome_open(
+      ShellUtil::GetChromeShellOpenCmd(chrome_exe));
+  const base::string16 chrome_icon(
       ShellUtil::FormatIconLocation(
           chrome_exe,
           dist->GetIconIndex(BrowserDistribution::SHORTCUT_CHROME)));
@@ -929,11 +934,11 @@
 // Returns |properties.shortcut_name| if the property is set, otherwise it
 // returns dist->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME). In any
 // case, it makes sure the return value is suffixed with ".lnk".
-string16 ExtractShortcutNameFromProperties(
+base::string16 ExtractShortcutNameFromProperties(
     BrowserDistribution* dist,
     const ShellUtil::ShortcutProperties& properties) {
   DCHECK(dist);
-  string16 shortcut_name;
+  base::string16 shortcut_name;
   if (properties.has_shortcut_name()) {
     shortcut_name = properties.shortcut_name;
   } else {
@@ -1000,15 +1005,14 @@
 
 // Cleans up an old verb (run) we used to register in
 // <root>\Software\Classes\Chrome<.suffix>\.exe\shell\run on Windows 8.
-void RemoveRunVerbOnWindows8(
-    BrowserDistribution* dist,
-    const string16& chrome_exe) {
+void RemoveRunVerbOnWindows8(BrowserDistribution* dist,
+                             const base::string16& chrome_exe) {
   if (IsChromeMetroSupported()) {
     bool is_per_user_install =InstallUtil::IsPerUserInstall(chrome_exe.c_str());
     HKEY root_key = DetermineRegistrationRoot(is_per_user_install);
     // There's no need to rollback, so forgo the usual work item lists and just
     // remove the key from the registry.
-    string16 run_verb_key(ShellUtil::kRegClasses);
+    base::string16 run_verb_key(ShellUtil::kRegClasses);
     run_verb_key.push_back(base::FilePath::kSeparators[0]);
     run_verb_key.append(ShellUtil::GetBrowserModelId(
         dist, is_per_user_install));
@@ -1022,9 +1026,9 @@
 
 // Gets the short (8.3) form of |path|, putting the result in |short_path| and
 // returning true on success.  |short_path| is not modified on failure.
-bool ShortNameFromPath(const base::FilePath& path, string16* short_path) {
+bool ShortNameFromPath(const base::FilePath& path, base::string16* short_path) {
   DCHECK(short_path);
-  string16 result(MAX_PATH, L'\0');
+  base::string16 result(MAX_PATH, L'\0');
   DWORD short_length = GetShortPathName(path.value().c_str(), &result[0],
                                         result.size());
   if (short_length == 0 || short_length > result.size()) {
@@ -1058,7 +1062,7 @@
     NOTREACHED();
     return ShellUtil::UNKNOWN_DEFAULT;
   }
-  string16 prog_id(dist->GetBrowserProgIdPrefix());
+  base::string16 prog_id(dist->GetBrowserProgIdPrefix());
   prog_id += ShellUtil::GetCurrentInstallationSuffix(dist, chrome_exe.value());
 
   for (size_t i = 0; i < num_protocols; ++i) {
@@ -1089,7 +1093,8 @@
     NOTREACHED();
     return ShellUtil::UNKNOWN_DEFAULT;
   }
-  string16 app_name(ShellUtil::GetApplicationName(dist, chrome_exe.value()));
+  base::string16 app_name(
+      ShellUtil::GetApplicationName(dist, chrome_exe.value()));
 
   BOOL result;
   for (size_t i = 0; i < num_protocols; ++i) {
@@ -1116,16 +1121,16 @@
   }
 
   // Get its short (8.3) form.
-  string16 short_app_path;
+  base::string16 short_app_path;
   if (!ShortNameFromPath(app_path, &short_app_path))
     return ShellUtil::UNKNOWN_DEFAULT;
 
   const HKEY root_key = HKEY_CLASSES_ROOT;
-  string16 key_path;
+  base::string16 key_path;
   base::win::RegKey key;
-  string16 value;
+  base::string16 value;
   CommandLine command_line(CommandLine::NO_PROGRAM);
-  string16 short_path;
+  base::string16 short_path;
 
   for (size_t i = 0; i < num_protocols; ++i) {
     // Get the command line from HKCU\<protocol>\shell\open\command.
@@ -1199,7 +1204,7 @@
 // Shortcut filters for BatchShortcutAction().
 
 typedef base::Callback<bool(const base::FilePath& /*shortcut_path*/,
-                            const string16& /*args*/)>
+                            const base::string16& /*args*/)>
     ShortcutFilterCallback;
 
 // FilterTargetEq is a shortcut filter that matches only shortcuts that have a
@@ -1212,7 +1217,8 @@
   // Returns true if filter rules are satisfied, i.e.:
   // - |target_path|'s target == |desired_target_compare_|, and
   // - |args| is non-empty (if |require_args_| == true).
-  bool Match(const base::FilePath& target_path, const string16& args) const;
+  bool Match(const base::FilePath& target_path,
+             const base::string16& args) const;
 
   // A convenience routine to create a callback to call Match().
   // The callback is only valid during the lifetime of the FilterTargetEq
@@ -1231,7 +1237,7 @@
       require_args_(require_args) {}
 
 bool FilterTargetEq::Match(const base::FilePath& target_path,
-                           const string16& args) const {
+                           const base::string16& args) const {
   if (!desired_target_compare_.EvaluatePath(target_path))
     return false;
   if (require_args_ && args.empty())
@@ -1290,9 +1296,9 @@
   bool success = true;
   base::FileEnumerator enumerator(
       shortcut_folder, false, base::FileEnumerator::FILES,
-      string16(L"*") + installer::kLnkExt);
+      base::string16(L"*") + installer::kLnkExt);
   base::FilePath target_path;
-  string16 args;
+  base::string16 args;
   for (base::FilePath shortcut_path = enumerator.Next();
        !shortcut_path.empty();
        shortcut_path = enumerator.Next()) {
@@ -1380,8 +1386,8 @@
 const wchar_t* ShellUtil::kRegOpenWithProgids = L"OpenWithProgids";
 
 bool ShellUtil::QuickIsChromeRegisteredInHKLM(BrowserDistribution* dist,
-                                              const string16& chrome_exe,
-                                              const string16& suffix) {
+                                              const base::string16& chrome_exe,
+                                              const base::string16& suffix) {
   return QuickIsChromeRegistered(dist, chrome_exe, suffix,
                                  CONFIRM_SHELL_REGISTRATION_IN_HKLM);
 }
@@ -1488,7 +1494,8 @@
     return false;
   }
 
-  string16 shortcut_name(ExtractShortcutNameFromProperties(dist, properties));
+  base::string16 shortcut_name(
+      ExtractShortcutNameFromProperties(dist, properties));
   system_shortcut_path = system_shortcut_path.Append(shortcut_name);
 
   base::FilePath* chosen_path;
@@ -1550,33 +1557,35 @@
   return ret;
 }
 
-string16 ShellUtil::FormatIconLocation(const string16& icon_path,
-                                       int icon_index) {
-  string16 icon_string(icon_path);
+base::string16 ShellUtil::FormatIconLocation(const base::string16& icon_path,
+                                             int icon_index) {
+  base::string16 icon_string(icon_path);
   icon_string.append(L",");
   icon_string.append(base::IntToString16(icon_index));
   return icon_string;
 }
 
-string16 ShellUtil::GetChromeShellOpenCmd(const string16& chrome_exe) {
+base::string16 ShellUtil::GetChromeShellOpenCmd(
+    const base::string16& chrome_exe) {
   return L"\"" + chrome_exe + L"\" -- \"%1\"";
 }
 
-string16 ShellUtil::GetChromeDelegateCommand(const string16& chrome_exe) {
+base::string16 ShellUtil::GetChromeDelegateCommand(
+    const base::string16& chrome_exe) {
   return L"\"" + chrome_exe + L"\" -- %*";
 }
 
 void ShellUtil::GetRegisteredBrowsers(
     BrowserDistribution* dist,
-    std::map<string16, string16>* browsers) {
+    std::map<base::string16, base::string16>* browsers) {
   DCHECK(dist);
   DCHECK(browsers);
 
-  const string16 base_key(ShellUtil::kRegStartMenuInternet);
-  string16 client_path;
+  const base::string16 base_key(ShellUtil::kRegStartMenuInternet);
+  base::string16 client_path;
   RegKey key;
-  string16 name;
-  string16 command;
+  base::string16 name;
+  base::string16 command;
 
   // HKCU has precedence over HKLM for these registrations: http://goo.gl/xjczJ.
   // Look in HKCU second to override any identical values found in HKLM.
@@ -1591,7 +1600,7 @@
                    KEY_QUERY_VALUE) != ERROR_SUCCESS ||
           key.ReadValue(NULL, &name) != ERROR_SUCCESS ||
           name.empty() ||
-          name.find(dist->GetBaseAppName()) != string16::npos) {
+          name.find(dist->GetBaseAppName()) != base::string16::npos) {
         continue;
       }
       // Read the browser's reinstall command.
@@ -1605,8 +1614,9 @@
   }
 }
 
-string16 ShellUtil::GetCurrentInstallationSuffix(BrowserDistribution* dist,
-                                                 const string16& chrome_exe) {
+base::string16 ShellUtil::GetCurrentInstallationSuffix(
+    BrowserDistribution* dist,
+    const base::string16& chrome_exe) {
   // This method is somewhat the opposite of GetInstallationSpecificSuffix().
   // In this case we are not trying to determine the current suffix for the
   // upcoming installation (i.e. not trying to stick to a currently bad
@@ -1616,7 +1626,7 @@
   //   1) Base 32 encoding of the md5 hash of the user's sid (new-style).
   //   2) Username (old-style).
   //   3) Unsuffixed (even worse).
-  string16 tested_suffix;
+  base::string16 tested_suffix;
   if (InstallUtil::IsPerUserInstall(chrome_exe.c_str()) &&
       (!GetUserSpecificRegistrySuffix(&tested_suffix) ||
        !QuickIsChromeRegistered(dist, chrome_exe, tested_suffix,
@@ -1634,17 +1644,17 @@
   return tested_suffix;
 }
 
-string16 ShellUtil::GetApplicationName(BrowserDistribution* dist,
-                                       const string16& chrome_exe) {
-  string16 app_name = dist->GetBaseAppName();
+base::string16 ShellUtil::GetApplicationName(BrowserDistribution* dist,
+                                             const base::string16& chrome_exe) {
+  base::string16 app_name = dist->GetBaseAppName();
   app_name += GetCurrentInstallationSuffix(dist, chrome_exe);
   return app_name;
 }
 
-string16 ShellUtil::GetBrowserModelId(BrowserDistribution* dist,
-                                      bool is_per_user_install) {
-  string16 app_id(dist->GetBaseAppId());
-  string16 suffix;
+base::string16 ShellUtil::GetBrowserModelId(BrowserDistribution* dist,
+                                            bool is_per_user_install) {
+  base::string16 app_id(dist->GetBaseAppId());
+  base::string16 suffix;
 
   // TODO(robertshield): Temporary hack to make the kRegisterChromeBrowserSuffix
   // apply to all registry values computed down in these murky depths.
@@ -1659,12 +1669,12 @@
   // There is only one component (i.e. the suffixed appid) in this case, but it
   // is still necessary to go through the appid constructor to make sure the
   // returned appid is truncated if necessary.
-  std::vector<string16> components(1, app_id.append(suffix));
+  std::vector<base::string16> components(1, app_id.append(suffix));
   return BuildAppModelId(components);
 }
 
-string16 ShellUtil::BuildAppModelId(
-    const std::vector<string16>& components) {
+base::string16 ShellUtil::BuildAppModelId(
+    const std::vector<base::string16>& components) {
   DCHECK_GT(components.size(), 0U);
 
   // Find the maximum numbers of characters allowed in each component
@@ -1680,14 +1690,14 @@
     return (*components.begin()).substr(0, installer::kMaxAppModelIdLength);
   }
 
-  string16 app_id;
+  base::string16 app_id;
   app_id.reserve(installer::kMaxAppModelIdLength);
-  for (std::vector<string16>::const_iterator it = components.begin();
+  for (std::vector<base::string16>::const_iterator it = components.begin();
        it != components.end(); ++it) {
     if (it != components.begin())
       app_id.push_back(L'.');
 
-    const string16& component = *it;
+    const base::string16& component = *it;
     DCHECK(!component.empty());
     if (component.length() > max_component_length) {
       // Append a shortened version of this component. Cut in the middle to try
@@ -1696,7 +1706,7 @@
       app_id.append(component.c_str(), 0, max_component_length / 2);
       app_id.append(component.c_str(),
                     component.length() - ((max_component_length + 1) / 2),
-                    string16::npos);
+                    base::string16::npos);
     } else {
       app_id.append(component);
     }
@@ -1726,7 +1736,7 @@
 }
 
 ShellUtil::DefaultState ShellUtil::GetChromeDefaultProtocolClientState(
-    const string16& protocol) {
+    const base::string16& protocol) {
   BrowserDistribution* distribution = BrowserDistribution::GetDistribution();
   if (distribution->GetDefaultBrowserControlPolicy() ==
       BrowserDistribution::DEFAULT_BROWSER_UNSUPPORTED) {
@@ -1747,7 +1757,7 @@
 
 bool ShellUtil::MakeChromeDefault(BrowserDistribution* dist,
                                   int shell_change,
-                                  const string16& chrome_exe,
+                                  const base::string16& chrome_exe,
                                   bool elevate_if_not_admin) {
   DCHECK(!(shell_change & ShellUtil::SYSTEM_LEVEL) || IsUserAnAdmin());
 
@@ -1765,14 +1775,14 @@
   }
 
   if (!ShellUtil::RegisterChromeBrowser(
-          dist, chrome_exe, string16(), elevate_if_not_admin)) {
+           dist, chrome_exe, base::string16(), elevate_if_not_admin)) {
     return false;
   }
 
   bool ret = true;
   // First use the new "recommended" way on Vista to make Chrome default
   // browser.
-  string16 app_name = GetApplicationName(dist, chrome_exe);
+  base::string16 app_name = GetApplicationName(dist, chrome_exe);
 
   if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
     // On Windows Vista and Win7 we still can set ourselves via the
@@ -1815,15 +1825,16 @@
   return ret;
 }
 
-bool ShellUtil::ShowMakeChromeDefaultSystemUI(BrowserDistribution* dist,
-                                              const string16& chrome_exe) {
+bool ShellUtil::ShowMakeChromeDefaultSystemUI(
+    BrowserDistribution* dist,
+    const base::string16& chrome_exe) {
   DCHECK_GE(base::win::GetVersion(), base::win::VERSION_WIN8);
   if (dist->GetDefaultBrowserControlPolicy() !=
       BrowserDistribution::DEFAULT_BROWSER_FULL_CONTROL) {
     return false;
   }
 
-  if (!RegisterChromeBrowser(dist, chrome_exe, string16(), true))
+  if (!RegisterChromeBrowser(dist, chrome_exe, base::string16(), true))
       return false;
 
   bool succeeded = true;
@@ -1843,15 +1854,17 @@
   return succeeded;
 }
 
-bool ShellUtil::MakeChromeDefaultProtocolClient(BrowserDistribution* dist,
-                                                const string16& chrome_exe,
-                                                const string16& protocol) {
+bool ShellUtil::MakeChromeDefaultProtocolClient(
+    BrowserDistribution* dist,
+    const base::string16& chrome_exe,
+    const base::string16& protocol) {
   if (dist->GetDefaultBrowserControlPolicy() !=
       BrowserDistribution::DEFAULT_BROWSER_FULL_CONTROL) {
     return false;
   }
 
-  if (!RegisterChromeForProtocol(dist, chrome_exe, string16(), protocol, true))
+  if (!RegisterChromeForProtocol(
+           dist, chrome_exe, base::string16(), protocol, true))
     return false;
 
   // Windows 8 does not permit making a browser default just like that.
@@ -1870,7 +1883,7 @@
     HRESULT hr = pAAR.CreateInstance(CLSID_ApplicationAssociationRegistration,
       NULL, CLSCTX_INPROC);
     if (SUCCEEDED(hr)) {
-      string16 app_name = GetApplicationName(dist, chrome_exe);
+      base::string16 app_name = GetApplicationName(dist, chrome_exe);
       hr = pAAR->SetAppAsDefault(app_name.c_str(), protocol.c_str(),
                                  AT_URLPROTOCOL);
     }
@@ -1892,15 +1905,16 @@
 
 bool ShellUtil::ShowMakeChromeDefaultProtocolClientSystemUI(
     BrowserDistribution* dist,
-    const string16& chrome_exe,
-    const string16& protocol) {
+    const base::string16& chrome_exe,
+    const base::string16& protocol) {
   DCHECK_GE(base::win::GetVersion(), base::win::VERSION_WIN8);
   if (dist->GetDefaultBrowserControlPolicy() !=
       BrowserDistribution::DEFAULT_BROWSER_FULL_CONTROL) {
     return false;
   }
 
-  if (!RegisterChromeForProtocol(dist, chrome_exe, string16(), protocol, true))
+  if (!RegisterChromeForProtocol(
+           dist, chrome_exe, base::string16(), protocol, true))
     return false;
 
   bool succeeded = true;
@@ -1923,8 +1937,8 @@
 }
 
 bool ShellUtil::RegisterChromeBrowser(BrowserDistribution* dist,
-                                      const string16& chrome_exe,
-                                      const string16& unique_suffix,
+                                      const base::string16& chrome_exe,
+                                      const base::string16& unique_suffix,
                                       bool elevate_if_not_admin) {
   if (dist->GetDefaultBrowserControlPolicy() ==
       BrowserDistribution::DEFAULT_BROWSER_UNSUPPORTED) {
@@ -1933,7 +1947,7 @@
 
   CommandLine& command_line = *CommandLine::ForCurrentProcess();
 
-  string16 suffix;
+  base::string16 suffix;
   if (!unique_suffix.empty()) {
     suffix = unique_suffix;
   } else if (command_line.HasSwitch(
@@ -1986,7 +2000,8 @@
     // If we got to this point then all we can do is create ProgId and basic app
     // registrations under HKCU.
     ScopedVector<RegistryEntry> entries;
-    RegistryEntry::GetProgIdEntries(dist, chrome_exe, string16(), &entries);
+    RegistryEntry::GetProgIdEntries(
+        dist, chrome_exe, base::string16(), &entries);
     // Prefer to use |suffix|; unless Chrome's ProgIds are already registered
     // with no suffix (as per the old registration style): in which case some
     // other registry entries could refer to them and since we were not able to
@@ -2004,7 +2019,7 @@
       // thus needs to be done after the above check for the unsuffixed
       // registration).
       entries.clear();
-      RegistryEntry::GetAppRegistrationEntries(chrome_exe, string16(),
+      RegistryEntry::GetAppRegistrationEntries(chrome_exe, base::string16(),
                                                &entries);
       result = AddRegistryEntries(HKEY_CURRENT_USER, entries);
     }
@@ -2014,16 +2029,16 @@
 }
 
 bool ShellUtil::RegisterChromeForProtocol(BrowserDistribution* dist,
-                                          const string16& chrome_exe,
-                                          const string16& unique_suffix,
-                                          const string16& protocol,
+                                          const base::string16& chrome_exe,
+                                          const base::string16& unique_suffix,
+                                          const base::string16& protocol,
                                           bool elevate_if_not_admin) {
   if (dist->GetDefaultBrowserControlPolicy() ==
       BrowserDistribution::DEFAULT_BROWSER_UNSUPPORTED) {
     return false;
   }
 
-  string16 suffix;
+  base::string16 suffix;
   if (!unique_suffix.empty()) {
     suffix = unique_suffix;
   } else if (!GetInstallationSpecificSuffix(dist, chrome_exe, &suffix)) {
@@ -2107,14 +2122,14 @@
                              shortcut_operation, location, dist, level);
 }
 
-bool ShellUtil::GetUserSpecificRegistrySuffix(string16* suffix) {
+bool ShellUtil::GetUserSpecificRegistrySuffix(base::string16* suffix) {
   // Use a thread-safe cache for the user's suffix.
   static base::LazyInstance<UserSpecificRegistrySuffix>::Leaky suffix_instance =
       LAZY_INSTANCE_INITIALIZER;
   return suffix_instance.Get().GetSuffix(suffix);
 }
 
-bool ShellUtil::GetOldUserSpecificRegistrySuffix(string16* suffix) {
+bool ShellUtil::GetOldUserSpecificRegistrySuffix(base::string16* suffix) {
   wchar_t user_name[256];
   DWORD size = arraysize(user_name);
   if (::GetUserName(user_name, &size) == 0 || size < 1) {
@@ -2127,14 +2142,14 @@
   return true;
 }
 
-string16 ShellUtil::ByteArrayToBase32(const uint8* bytes, size_t size) {
+base::string16 ShellUtil::ByteArrayToBase32(const uint8* bytes, size_t size) {
   static const char kEncoding[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
 
   // Eliminate special cases first.
   if (size == 0) {
-    return string16();
+    return base::string16();
   } else if (size == 1) {
-    string16 ret;
+    base::string16 ret;
     ret.push_back(kEncoding[(bytes[0] & 0xf8) >> 3]);
     ret.push_back(kEncoding[(bytes[0] & 0x07) << 2]);
     return ret;
@@ -2142,14 +2157,14 @@
     // If |size| is too big, the calculation of |encoded_length| below will
     // overflow.
     NOTREACHED();
-    return string16();
+    return base::string16();
   }
 
   // Overestimate the number of bits in the string by 4 so that dividing by 5
   // is the equivalent of rounding up the actual number of bits divided by 5.
   const size_t encoded_length = (size * 8 + 4) / 5;
 
-  string16 ret;
+  base::string16 ret;
   ret.reserve(encoded_length);
 
   // A bit stream which will be read from the left and appended to from the
diff --git a/chrome/installer/util/shell_util.h b/chrome/installer/util/shell_util.h
index 9286ae2..52f611f 100644
--- a/chrome/installer/util/shell_util.h
+++ b/chrome/installer/util/shell_util.h
@@ -98,7 +98,7 @@
     // Sets the arguments to be passed to |target| when launching from this
     // shortcut.
     // The length of this string must be less than MAX_PATH.
-    void set_arguments(const string16& arguments_in) {
+    void set_arguments(const base::string16& arguments_in) {
       // Size restriction as per MSDN at
       // http://msdn.microsoft.com/library/windows/desktop/bb774954.aspx.
       DCHECK(arguments_in.length() < MAX_PATH);
@@ -108,7 +108,7 @@
 
     // Sets the localized description of the shortcut.
     // The length of this string must be less than MAX_PATH.
-    void set_description(const string16& description_in) {
+    void set_description(const base::string16& description_in) {
       // Size restriction as per MSDN at
       // http://msdn.microsoft.com/library/windows/desktop/bb774955.aspx.
       DCHECK(description_in.length() < MAX_PATH);
@@ -125,7 +125,7 @@
     }
 
     // Sets the app model id for the shortcut (Win7+).
-    void set_app_id(const string16& app_id_in) {
+    void set_app_id(const base::string16& app_id_in) {
       app_id = app_id_in;
       options |= PROPERTIES_APP_ID;
     }
@@ -133,7 +133,7 @@
     // Forces the shortcut's name to |shortcut_name_in|.
     // Default: the current distribution's GetShortcutName(SHORTCUT_CHROME).
     // The ".lnk" extension will automatically be added to this name.
-    void set_shortcut_name(const string16& shortcut_name_in) {
+    void set_shortcut_name(const base::string16& shortcut_name_in) {
       shortcut_name = shortcut_name_in;
       options |= PROPERTIES_SHORTCUT_NAME;
     }
@@ -187,12 +187,12 @@
     ShellChange level;
 
     base::FilePath target;
-    string16 arguments;
-    string16 description;
+    base::string16 arguments;
+    base::string16 description;
     base::FilePath icon;
     int icon_index;
-    string16 app_id;
-    string16 shortcut_name;
+    base::string16 app_id;
+    base::string16 shortcut_name;
     bool dual_mode;
     bool pin_to_taskbar;
     // Bitfield made of IndividualProperties. Properties set in |options| will
@@ -297,8 +297,8 @@
   // Note: This only checks one deterministic key in HKLM for |chrome_exe| and
   // doesn't otherwise validate a full Chrome install in HKLM.
   static bool QuickIsChromeRegisteredInHKLM(BrowserDistribution* dist,
-                                            const string16& chrome_exe,
-                                            const string16& suffix);
+                                            const base::string16& chrome_exe,
+                                            const base::string16& suffix);
 
   // Returns true if the current Windows version supports the presence of
   // shortcuts at |location|.
@@ -330,18 +330,20 @@
 
   // Returns the string "|icon_path|,|icon_index|" (see, for example,
   // http://msdn.microsoft.com/library/windows/desktop/dd391573.aspx).
-  static string16 FormatIconLocation(const string16& icon_path, int icon_index);
+  static base::string16 FormatIconLocation(const base::string16& icon_path,
+                                           int icon_index);
 
   // This method returns the command to open URLs/files using chrome. Typically
   // this command is written to the registry under shell\open\command key.
   // |chrome_exe|: the full path to chrome.exe
-  static string16 GetChromeShellOpenCmd(const string16& chrome_exe);
+  static base::string16 GetChromeShellOpenCmd(const base::string16& chrome_exe);
 
   // This method returns the command to be called by the DelegateExecute verb
   // handler to launch chrome on Windows 8. Typically this command is written to
   // the registry under the HKCR\Chrome\.exe\shell\(open|run)\command key.
   // |chrome_exe|: the full path to chrome.exe
-  static string16 GetChromeDelegateCommand(const string16& chrome_exe);
+  static base::string16 GetChromeDelegateCommand(
+      const base::string16& chrome_exe);
 
   // Gets a mapping of all registered browser names (excluding browsers in the
   // |dist| distribution) and their reinstall command (which usually sets
@@ -349,8 +351,9 @@
   // Given browsers can be registered in HKCU (as of Win7) and/or in HKLM, this
   // method looks in both and gives precedence to values in HKCU as per the msdn
   // standard: http://goo.gl/xjczJ.
-  static void GetRegisteredBrowsers(BrowserDistribution* dist,
-                                    std::map<string16, string16>* browsers);
+  static void GetRegisteredBrowsers(
+      BrowserDistribution* dist,
+      std::map<base::string16, base::string16>* browsers);
 
   // Returns the suffix this user's Chrome install is registered with.
   // Always returns the empty string on system-level installs.
@@ -368,30 +371,32 @@
   // rules).
   //
   // |chrome_exe| The path to the currently installed (or running) chrome.exe.
-  static string16 GetCurrentInstallationSuffix(BrowserDistribution* dist,
-                                               const string16& chrome_exe);
+  static base::string16 GetCurrentInstallationSuffix(
+      BrowserDistribution* dist,
+      const base::string16& chrome_exe);
 
   // Returns the application name of the program under |dist|.
   // This application name will be suffixed as is appropriate for the current
   // install.
   // This is the name that is registered with Default Programs on Windows and
   // that should thus be used to "make chrome default" and such.
-  static string16 GetApplicationName(BrowserDistribution* dist,
-                                     const string16& chrome_exe);
+  static base::string16 GetApplicationName(BrowserDistribution* dist,
+                                           const base::string16& chrome_exe);
 
   // Returns the AppUserModelId for |dist|. This identifier is unconditionally
   // suffixed with a unique id for this user on user-level installs (in contrast
   // to other registration entries which are suffixed as described in
   // GetCurrentInstallationSuffix() above).
-  static string16 GetBrowserModelId(BrowserDistribution* dist,
-                                    bool is_per_user_install);
+  static base::string16 GetBrowserModelId(BrowserDistribution* dist,
+                                          bool is_per_user_install);
 
   // Returns an AppUserModelId composed of each member of |components| separated
   // by dots.
   // The returned appid is guaranteed to be no longer than
   // chrome::kMaxAppModelIdLength (some of the components might have been
   // shortened to enforce this).
-  static string16 BuildAppModelId(const std::vector<string16>& components);
+  static base::string16 BuildAppModelId(
+      const std::vector<base::string16>& components);
 
   // Returns true if Chrome can make itself the default browser without relying
   // on the Windows shell to prompt the user. This is the case for versions of
@@ -403,7 +408,7 @@
 
   // Returns the DefaultState of Chrome for |protocol|.
   static DefaultState GetChromeDefaultProtocolClientState(
-      const string16& protocol);
+      const base::string16& protocol);
 
   // Make Chrome the default browser. This function works by going through
   // the url protocols and file associations that are related to general
@@ -425,7 +430,7 @@
   //                       Chrome registration.
   static bool MakeChromeDefault(BrowserDistribution* dist,
                                 int shell_change,
-                                const string16& chrome_exe,
+                                const base::string16& chrome_exe,
                                 bool elevate_if_not_admin);
 
   // Shows and waits for the Windows 8 "How do you want to open webpages?"
@@ -436,14 +441,14 @@
   // |dist| gives the type of browser distribution currently in use.
   // |chrome_exe| The chrome.exe path to register as default browser.
   static bool ShowMakeChromeDefaultSystemUI(BrowserDistribution* dist,
-                                            const string16& chrome_exe);
+                                            const base::string16& chrome_exe);
 
   // Make Chrome the default application for a protocol.
   // chrome_exe: The chrome.exe path to register as default browser.
   // protocol: The protocol to register as the default handler for.
   static bool MakeChromeDefaultProtocolClient(BrowserDistribution* dist,
-                                              const string16& chrome_exe,
-                                              const string16& protocol);
+                                              const base::string16& chrome_exe,
+                                              const base::string16& protocol);
 
   // Shows and waits for the Windows 8 "How do you want to open links of this
   // type?" dialog if Chrome is not already the default |protocol|
@@ -455,8 +460,8 @@
   // |protocol| is the protocol being registered.
   static bool ShowMakeChromeDefaultProtocolClientSystemUI(
       BrowserDistribution* dist,
-      const string16& chrome_exe,
-      const string16& protocol);
+      const base::string16& chrome_exe,
+      const base::string16& protocol);
 
   // Registers Chrome as a potential default browser and handler for filetypes
   // and protocols.
@@ -484,8 +489,8 @@
   //
   // Returns true if Chrome is successfully registered (or already registered).
   static bool RegisterChromeBrowser(BrowserDistribution* dist,
-                                    const string16& chrome_exe,
-                                    const string16& unique_suffix,
+                                    const base::string16& chrome_exe,
+                                    const base::string16& unique_suffix,
                                     bool elevate_if_not_admin);
 
   // This method declares to Windows that Chrome is capable of handling the
@@ -506,9 +511,9 @@
   // |elevate_if_not_admin| if true will make this method try alternate methods
   // as described above.
   static bool RegisterChromeForProtocol(BrowserDistribution* dist,
-                                        const string16& chrome_exe,
-                                        const string16& unique_suffix,
-                                        const string16& protocol,
+                                        const base::string16& chrome_exe,
+                                        const base::string16& unique_suffix,
+                                        const base::string16& protocol,
                                         bool elevate_if_not_admin);
 
   // Removes installed shortcut(s) at |location|.
@@ -550,7 +555,7 @@
   // Returns true unless the OS call to retrieve the username fails.
   // NOTE: Only the installer should use this suffix directly. Other callers
   // should call GetCurrentInstallationSuffix().
-  static bool GetUserSpecificRegistrySuffix(string16* suffix);
+  static bool GetUserSpecificRegistrySuffix(base::string16* suffix);
 
   // Sets |suffix| to this user's username preceded by a dot. This suffix should
   // only be used to support legacy installs that used this suffixing
@@ -558,14 +563,14 @@
   // Returns true unless the OS call to retrieve the username fails.
   // NOTE: Only the installer should use this suffix directly. Other callers
   // should call GetCurrentInstallationSuffix().
-  static bool GetOldUserSpecificRegistrySuffix(string16* suffix);
+  static bool GetOldUserSpecificRegistrySuffix(base::string16* suffix);
 
   // Returns the base32 encoding (using the [A-Z2-7] alphabet) of |bytes|.
   // |size| is the length of |bytes|.
   // Note: This method does not suffix the output with '=' signs as technically
   // required by the base32 standard for inputs that aren't a multiple of 5
   // bytes.
-  static string16 ByteArrayToBase32(const uint8* bytes, size_t size);
+  static base::string16 ByteArrayToBase32(const uint8* bytes, size_t size);
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ShellUtil);
diff --git a/chrome/installer/util/shell_util_unittest.cc b/chrome/installer/util/shell_util_unittest.cc
index 1d51b3c..33c898a 100644
--- a/chrome/installer/util/shell_util_unittest.cc
+++ b/chrome/installer/util/shell_util_unittest.cc
@@ -113,7 +113,7 @@
         return;
     }
 
-    string16 shortcut_name;
+    base::string16 shortcut_name;
     if (properties.has_shortcut_name()) {
       shortcut_name = properties.shortcut_name;
     } else {
@@ -135,7 +135,7 @@
     if (properties.has_arguments())
       expected_properties.set_arguments(properties.arguments);
     else
-      expected_properties.set_arguments(string16());
+      expected_properties.set_arguments(base::string16());
 
     if (properties.has_description())
       expected_properties.set_description(properties.description);
@@ -204,7 +204,7 @@
   ShellUtil::GetShortcutPath(ShellUtil::SHORTCUT_LOCATION_QUICK_LAUNCH, dist_,
                              ShellUtil::SYSTEM_LEVEL, &path);
   EXPECT_EQ(fake_default_user_quick_launch_.path(), path);
-  string16 start_menu_subfolder =
+  base::string16 start_menu_subfolder =
       dist_->GetStartMenuShortcutSubfolder(
           BrowserDistribution::SUBFOLDER_CHROME);
   ShellUtil::GetShortcutPath(ShellUtil::SHORTCUT_LOCATION_START_MENU_CHROME_DIR,
@@ -316,7 +316,7 @@
 }
 
 TEST_F(ShellUtilShortcutTest, CreateIfNoSystemLevelWithSystemLevelPresent) {
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
 
@@ -345,7 +345,7 @@
 }
 
 TEST_F(ShellUtilShortcutTest, CreateAlwaysUserWithSystemLevelPresent) {
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
 
@@ -369,7 +369,7 @@
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
 
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
   base::FilePath shortcut_path(fake_user_desktop_.path().Append(shortcut_name));
@@ -388,7 +388,7 @@
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
 
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
   base::FilePath shortcut_path(
@@ -410,8 +410,8 @@
   ASSERT_TRUE(ShellUtil::CreateOrUpdateShortcut(
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
-  string16 shortcut1_name(
-      string16(kShortcutName1).append(installer::kLnkExt));
+  base::string16 shortcut1_name(
+      base::string16(kShortcutName1).append(installer::kLnkExt));
   base::FilePath shortcut1_path(
       fake_user_desktop_.path().Append(shortcut1_name));
   ASSERT_TRUE(base::PathExists(shortcut1_path));
@@ -421,7 +421,8 @@
   ASSERT_TRUE(ShellUtil::CreateOrUpdateShortcut(
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
-  string16 shortcut2_name(string16(kShortcutName2).append(installer::kLnkExt));
+  base::string16 shortcut2_name(
+      base::string16(kShortcutName2).append(installer::kLnkExt));
   base::FilePath shortcut2_path(
       fake_user_desktop_.path().Append(shortcut2_name));
   ASSERT_TRUE(base::PathExists(shortcut2_path));
@@ -439,7 +440,7 @@
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
 
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
   base::FilePath shortcut_path(fake_user_desktop_.path().Append(shortcut_name));
@@ -465,7 +466,7 @@
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
 
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
   base::FilePath shortcut_path(
@@ -496,19 +497,21 @@
   ASSERT_TRUE(ShellUtil::CreateOrUpdateShortcut(
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
-  string16 shortcut1_name(string16(kShortcutName1).append(installer::kLnkExt));
+  base::string16 shortcut1_name(
+      base::string16(kShortcutName1).append(installer::kLnkExt));
   base::FilePath shortcut1_path(
       fake_user_desktop_.path().Append(shortcut1_name));
   ShellUtil::ShortcutProperties expected_properties1(test_properties_);
 
   // Setup shortcut 2, which has non-empty arguments.
-  string16 shortcut2_args = L"--profile-directory=\"Profile 2\"";
+  base::string16 shortcut2_args = L"--profile-directory=\"Profile 2\"";
   test_properties_.set_shortcut_name(kShortcutName2);
   test_properties_.set_arguments(shortcut2_args);
   ASSERT_TRUE(ShellUtil::CreateOrUpdateShortcut(
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
-  string16 shortcut2_name(string16(kShortcutName2).append(installer::kLnkExt));
+  base::string16 shortcut2_name(
+      base::string16(kShortcutName2).append(installer::kLnkExt));
   base::FilePath shortcut2_path(
       fake_user_desktop_.path().Append(shortcut2_name));
   ASSERT_TRUE(base::PathExists(shortcut2_path));
@@ -597,7 +600,7 @@
                   dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
 
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
   base::FilePath shortcut_path(
@@ -626,7 +629,7 @@
                   ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, test_properties_,
                   ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
 
-  string16 shortcut_name(
+  base::string16 shortcut_name(
       dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
       installer::kLnkExt);
   base::FilePath shortcut_path(fake_user_desktop_.path().Append(shortcut_name));
@@ -643,17 +646,17 @@
 }
 
 TEST(ShellUtilTest, BuildAppModelIdBasic) {
-  std::vector<string16> components;
+  std::vector<base::string16> components;
   BrowserDistribution* dist = BrowserDistribution::GetDistribution();
-  const string16 base_app_id(dist->GetBaseAppId());
+  const base::string16 base_app_id(dist->GetBaseAppId());
   components.push_back(base_app_id);
   ASSERT_EQ(base_app_id, ShellUtil::BuildAppModelId(components));
 }
 
 TEST(ShellUtilTest, BuildAppModelIdManySmall) {
-  std::vector<string16> components;
+  std::vector<base::string16> components;
   BrowserDistribution* dist = BrowserDistribution::GetDistribution();
-  const string16 suffixed_app_id(dist->GetBaseAppId().append(L".gab"));
+  const base::string16 suffixed_app_id(dist->GetBaseAppId().append(L".gab"));
   components.push_back(suffixed_app_id);
   components.push_back(L"Default");
   components.push_back(L"Test");
@@ -662,8 +665,8 @@
 }
 
 TEST(ShellUtilTest, BuildAppModelIdLongUsernameNormalProfile) {
-  std::vector<string16> components;
-  const string16 long_appname(
+  std::vector<base::string16> components;
+  const base::string16 long_appname(
       L"Chrome.a_user_who_has_a_crazy_long_name_with_some_weird@symbols_in_it_"
       L"that_goes_over_64_characters");
   components.push_back(long_appname);
@@ -673,21 +676,22 @@
 }
 
 TEST(ShellUtilTest, BuildAppModelIdLongEverything) {
-  std::vector<string16> components;
-  const string16 long_appname(
-      L"Chrome.a_user_who_has_a_crazy_long_name_with_some_weird@symbols_in_it_"
-      L"that_goes_over_64_characters");
+  std::vector<base::string16> components;
+  const base::string16 long_appname(L"Chrome.a_user_who_has_a_crazy_long_name_"
+                                    L"with_some_weird@symbols_in_"
+                                    L"it_" L"that_goes_over_64_characters");
   components.push_back(long_appname);
   components.push_back(
       L"A_crazy_profile_name_not_even_sure_whether_that_is_possible");
-  const string16 constructed_app_id(ShellUtil::BuildAppModelId(components));
+  const base::string16 constructed_app_id(
+      ShellUtil::BuildAppModelId(components));
   ASSERT_LE(constructed_app_id.length(), installer::kMaxAppModelIdLength);
   ASSERT_EQ(L"Chrome.a_user_wer_64_characters.A_crazy_profilethat_is_possible",
             constructed_app_id);
 }
 
 TEST(ShellUtilTest, GetUserSpecificRegistrySuffix) {
-  string16 suffix;
+  base::string16 suffix;
   ASSERT_TRUE(ShellUtil::GetUserSpecificRegistrySuffix(&suffix));
   ASSERT_TRUE(StartsWith(suffix, L".", true));
   ASSERT_EQ(27, suffix.length());
@@ -696,7 +700,7 @@
 }
 
 TEST(ShellUtilTest, GetOldUserSpecificRegistrySuffix) {
-  string16 suffix;
+  base::string16 suffix;
   ASSERT_TRUE(ShellUtil::GetOldUserSpecificRegistrySuffix(&suffix));
   ASSERT_TRUE(StartsWith(suffix, L".", true));
 
@@ -711,7 +715,7 @@
   // Tests from http://tools.ietf.org/html/rfc4648#section-10.
   const unsigned char test_array[] = { 'f', 'o', 'o', 'b', 'a', 'r' };
 
-  const string16 expected[] = { L"", L"MY", L"MZXQ", L"MZXW6", L"MZXW6YQ",
+  const base::string16 expected[] = { L"", L"MY", L"MZXQ", L"MZXW6", L"MZXW6YQ",
                                 L"MZXW6YTB", L"MZXW6YTBOI"};
 
   // Run the tests, with one more letter in the input every pass.
diff --git a/chrome/installer/util/uninstall_metrics.cc b/chrome/installer/util/uninstall_metrics.cc
index 94219f6..5544953 100644
--- a/chrome/installer/util/uninstall_metrics.cc
+++ b/chrome/installer/util/uninstall_metrics.cc
@@ -23,7 +23,7 @@
 // Returns true if at least one uninstall metric was found in
 // uninstall_metrics_dict, false otherwise.
 bool BuildUninstallMetricsString(
-    const DictionaryValue* uninstall_metrics_dict, string16* metrics) {
+    const DictionaryValue* uninstall_metrics_dict, base::string16* metrics) {
   DCHECK(NULL != metrics);
   bool has_values = false;
 
@@ -45,7 +45,7 @@
 }  // namespace
 
 bool ExtractUninstallMetrics(const DictionaryValue& root,
-                             string16* uninstall_metrics_string) {
+                             base::string16* uninstall_metrics_string) {
   // Make sure that the user wants us reporting metrics. If not, don't
   // add our uninstall metrics.
   bool metrics_reporting_enabled = false;
@@ -71,7 +71,7 @@
 }
 
 bool ExtractUninstallMetricsFromFile(const base::FilePath& file_path,
-                                     string16* uninstall_metrics_string) {
+                                     base::string16* uninstall_metrics_string) {
   JSONFileValueSerializer json_serializer(file_path);
 
   std::string json_error_string;
diff --git a/chrome/installer/util/uninstall_metrics.h b/chrome/installer/util/uninstall_metrics.h
index de53171..344c2f25 100644
--- a/chrome/installer/util/uninstall_metrics.h
+++ b/chrome/installer/util/uninstall_metrics.h
@@ -16,7 +16,7 @@
 
 // Extracts uninstall metrics from the given JSON value.
 bool ExtractUninstallMetrics(const base::DictionaryValue& root,
-                             string16* uninstall_metrics);
+                             base::string16* uninstall_metrics);
 
 // Extracts uninstall metrics from the JSON file located at file_path.
 // Returns them in a form suitable for appending to a url that already
@@ -24,7 +24,7 @@
 // Returns true if uninstall_metrics has been successfully populated with
 // the uninstall metrics, false otherwise.
 bool ExtractUninstallMetricsFromFile(const base::FilePath& file_path,
-                                     string16* uninstall_metrics);
+                                     base::string16* uninstall_metrics);
 
 }  // namespace installer
 
diff --git a/chrome/installer/util/uninstall_metrics_unittest.cc b/chrome/installer/util/uninstall_metrics_unittest.cc
index cfd39c5..fb6ee9d 100644
--- a/chrome/installer/util/uninstall_metrics_unittest.cc
+++ b/chrome/installer/util/uninstall_metrics_unittest.cc
@@ -36,7 +36,7 @@
       "} \n");
 
   // The URL string we expect to be generated from said make-believe file.
-  string16 expected_url_string(
+  base::string16 expected_url_string(
       L"&installation_date2=1235341141"
       L"&last_launch_time_sec=1235341118"
       L"&last_observed_running_time_sec=1235341183"
@@ -48,7 +48,7 @@
 
   scoped_ptr<Value> root(json_deserializer.Deserialize(NULL, &error_message));
   ASSERT_TRUE(root.get());
-  string16 uninstall_metrics_string;
+  base::string16 uninstall_metrics_string;
 
   EXPECT_TRUE(
       ExtractUninstallMetrics(*static_cast<DictionaryValue*>(root.get()),
diff --git a/chrome/installer/util/user_experiment.cc b/chrome/installer/util/user_experiment.cc
index afe81dd..6a57bbe8 100644
--- a/chrome/installer/util/user_experiment.cc
+++ b/chrome/installer/util/user_experiment.cc
@@ -50,14 +50,14 @@
 // Substitute the locale parameter in uninstall URL with whatever
 // Google Update tells us is the locale. In case we fail to find
 // the locale, we use US English.
-string16 LocalizeUrl(const wchar_t* url) {
-  string16 language;
+base::string16 LocalizeUrl(const wchar_t* url) {
+  base::string16 language;
   if (!GoogleUpdateSettings::GetLanguage(&language))
     language = L"en-US";  // Default to US English.
   return ReplaceStringPlaceholders(url, language.c_str(), NULL);
 }
 
-string16 GetWelcomeBackUrl() {
+base::string16 GetWelcomeBackUrl() {
   const wchar_t kWelcomeUrl[] = L"http://www.google.com/chrome/intl/$1/"
                                 L"welcomeback-new.html";
   return LocalizeUrl(kWelcomeUrl);
@@ -159,7 +159,7 @@
   if (!::ConvertSecurityDescriptorToStringSecurityDescriptorW(sd,
       SDDL_REVISION_1, DACL_SECURITY_INFORMATION, &sddl, NULL))
     return false;
-  string16 new_sddl(sddl);
+  base::string16 new_sddl(sddl);
   ::LocalFree(sddl);
   sd = NULL;
   // See MSDN for the  security descriptor definition language (SDDL) syntax,
@@ -168,12 +168,12 @@
   const wchar_t kAllowACE[] = L"(A;;GRGX;;;AU)";
   // We should check that there are no special ACES for the group we
   // are interested, which is nt\authenticated_users.
-  if (string16::npos != new_sddl.find(L";AU)"))
+  if (base::string16::npos != new_sddl.find(L";AU)"))
     return false;
   // Specific ACEs (not inherited) need to go to the front. It is ok if we
   // are the very first one.
   size_t pos_insert = new_sddl.find(L"(");
-  if (string16::npos == pos_insert)
+  if (base::string16::npos == pos_insert)
     return false;
   // All good, time to change the dacl.
   new_sddl.insert(pos_insert, kAllowACE);
@@ -244,7 +244,7 @@
 // command line, but HKCU otherwise. |experiment_group| is the value to write
 // and |last_write| is used when writing to HKLM to determine whether to close
 // the handle when done.
-void SetClient(const string16& experiment_group, bool last_write) {
+void SetClient(const base::string16& experiment_group, bool last_write) {
   static int reg_key_handle = -1;
   if (reg_key_handle == -1) {
     // If a specific Toast Results key handle (presumably to our HKLM key) was
@@ -330,12 +330,12 @@
     }
   };
 
-  string16 locale;
+  base::string16 locale;
   GoogleUpdateSettings::GetLanguage(&locale);
   if (locale.empty() || (locale == ASCIIToWide("en")))
     locale = ASCIIToWide("en-US");
 
-  string16 brand;
+  base::string16 brand;
   if (!GoogleUpdateSettings::GetBrand(&brand))
     brand = ASCIIToWide("");  // Could still be viable for catch-all rules.
 
@@ -344,11 +344,11 @@
         kExperiments[i].locale != ASCIIToWide("*"))
       continue;
 
-    std::vector<string16> brand_codes;
+    std::vector<base::string16> brand_codes;
     base::SplitString(kExperiments[i].brands, L',', &brand_codes);
     if (brand_codes.empty())
       return false;
-    for (std::vector<string16>::iterator it = brand_codes.begin();
+    for (std::vector<base::string16>::iterator it = brand_codes.begin();
          it != brand_codes.end(); ++it) {
       if (*it != brand && *it != L"*")
         continue;
@@ -409,15 +409,15 @@
     return;
   }
   int flavor = experiment.flavor;
-  string16 base_group = experiment.prefix;
+  base::string16 base_group = experiment.prefix;
 
-  string16 brand;
+  base::string16 brand;
   if (GoogleUpdateSettings::GetBrand(&brand) && (brand == L"CHXX")) {
     // Testing only: the user automatically qualifies for the experiment.
     VLOG(1) << "Experiment qualification bypass";
   } else {
     // Check that the user was not already drafted in this experiment.
-    string16 client;
+    base::string16 client;
     GoogleUpdateSettings::GetClient(&client);
     if (client.size() > 2) {
       if (base_group == client.substr(0, 2)) {
@@ -483,7 +483,7 @@
 // User qualifies for the experiment. To test, use --try-chrome-again=|flavor|
 // as a parameter to chrome.exe.
 void InactiveUserToastExperiment(int flavor,
-                                 const string16& experiment_group,
+                                 const base::string16& experiment_group,
                                  const Product& product,
                                  const base::FilePath& application_path) {
   // Add the 'welcome back' url for chrome to show.
@@ -491,13 +491,13 @@
   options.AppendSwitchNative(::switches::kTryChromeAgain,
       base::IntToString16(flavor));
   // Prepend the url with a space.
-  string16 url(GetWelcomeBackUrl());
+  base::string16 url(GetWelcomeBackUrl());
   options.AppendArg("--");
   options.AppendArgNative(url);
   // The command line should now have the url added as:
   // "chrome.exe -- <url>"
-  DCHECK_NE(string16::npos,
-      options.GetCommandLineString().find(L" -- " + url));
+  DCHECK_NE(base::string16::npos,
+            options.GetCommandLineString().find(L" -- " + url));
 
   // Launch chrome now. It will show the toast UI.
   int32 exit_code = 0;
diff --git a/chrome/installer/util/user_experiment.h b/chrome/installer/util/user_experiment.h
index 8a57e4e7..98fce5f 100644
--- a/chrome/installer/util/user_experiment.h
+++ b/chrome/installer/util/user_experiment.h
@@ -33,8 +33,8 @@
 // experiments we show toasts to the user if they are inactive for a certain
 // amount of time.
 struct ExperimentDetails {
-  string16 prefix;      // The experiment code prefix for this experiment,
-                        // also known as the 'TV' part in 'TV80'.
+  base::string16 prefix;  // The experiment code prefix for this experiment,
+                          // also known as the 'TV' part in 'TV80'.
   int flavor;           // The flavor index for this experiment.
   int heading;          // The heading resource ID to use for this experiment.
   int flags;            // See ToastUIFlags above.
@@ -59,7 +59,7 @@
 // The user has qualified for the inactive user toast experiment and this
 // function just performs it.
 void InactiveUserToastExperiment(int flavor,
-                                 const string16& experiment_group,
+                                 const base::string16& experiment_group,
                                  const Product& product,
                                  const base::FilePath& application_path);
 
diff --git a/chrome/installer/util/wmi.cc b/chrome/installer/util/wmi.cc
index c625e6b..20c1050 100644
--- a/chrome/installer/util/wmi.cc
+++ b/chrome/installer/util/wmi.cc
@@ -135,10 +135,10 @@
   return true;
 }
 
-string16 WMIComputerSystem::GetModel() {
+base::string16 WMIComputerSystem::GetModel() {
   base::win::ScopedComPtr<IWbemServices> services;
   if (!WMI::CreateLocalConnection(true, services.Receive()))
-    return string16();
+    return base::string16();
 
   base::win::ScopedBstr query_language(L"WQL");
   base::win::ScopedBstr query(L"SELECT * FROM Win32_ComputerSystem");
@@ -148,21 +148,21 @@
       WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL,
       enumerator.Receive());
   if (FAILED(hr) || !enumerator)
-    return string16();
+    return base::string16();
 
   base::win::ScopedComPtr<IWbemClassObject> class_object;
   ULONG items_returned = 0;
   hr = enumerator->Next(WBEM_INFINITE, 1,  class_object.Receive(),
                         &items_returned);
   if (!items_returned)
-    return string16();
+    return base::string16();
 
   base::win::ScopedVariant manufacturer;
   class_object->Get(L"Manufacturer", 0, manufacturer.Receive(), 0, 0);
   base::win::ScopedVariant model;
   class_object->Get(L"Model", 0, model.Receive(), 0, 0);
 
-  string16 model_string;
+  base::string16 model_string;
   if (manufacturer.type() == VT_BSTR) {
     model_string = V_BSTR(&manufacturer);
     if (model.type() == VT_BSTR)
diff --git a/chrome/installer/util/wmi.h b/chrome/installer/util/wmi.h
index b1d391f..a2112ba 100644
--- a/chrome/installer/util/wmi.h
+++ b/chrome/installer/util/wmi.h
@@ -78,7 +78,7 @@
 class WMIComputerSystem {
  public:
   // Returns a human readable string for the model/make of this computer.
-  static string16 GetModel();
+  static base::string16 GetModel();
 };
 
 }  // namespace installer
diff --git a/chrome/service/cloud_print/cloud_print_connector.cc b/chrome/service/cloud_print/cloud_print_connector.cc
index 524d62a..54fb72a7e 100644
--- a/chrome/service/cloud_print/cloud_print_connector.cc
+++ b/chrome/service/cloud_print/cloud_print_connector.cc
@@ -589,7 +589,7 @@
     LOG(ERROR) << "CP_CONNECTOR: Failed to get printer info"
                << ", printer name: " << printer_name;
     // This printer failed to register, notify the server of this failure.
-    string16 printer_name_utf16 = UTF8ToUTF16(printer_name);
+    base::string16 printer_name_utf16 = UTF8ToUTF16(printer_name);
     std::string status_message = l10n_util::GetStringFUTF8(
         IDS_CLOUD_PRINT_REGISTER_PRINTER_FAILED,
         printer_name_utf16,
diff --git a/chrome/service/cloud_print/print_system_xps_win.cc b/chrome/service/cloud_print/print_system_xps_win.cc
index 622b046..e15f224 100644
--- a/chrome/service/cloud_print/print_system_xps_win.cc
+++ b/chrome/service/cloud_print/print_system_xps_win.cc
@@ -175,7 +175,7 @@
         hr = E_FAIL;
         DOCINFO di = {0};
         di.cbSize = sizeof(DOCINFO);
-        string16 doc_name = UTF8ToUTF16(job_title);
+        base::string16 doc_name = UTF8ToUTF16(job_title);
         DCHECK(printing::SimplifyDocumentTitle(doc_name) == doc_name);
         di.lpszDocName = doc_name.c_str();
         job_id_ = StartDoc(dc, &di);
diff --git a/chrome/service/cloud_print/printer_job_handler.cc b/chrome/service/cloud_print/printer_job_handler.cc
index 6f560854..3919843 100644
--- a/chrome/service/cloud_print/printer_job_handler.cc
+++ b/chrome/service/cloud_print/printer_job_handler.cc
@@ -773,7 +773,7 @@
   DCHECK(job_spooler_.get());
   if (!job_spooler_.get())
     return;
-  string16 document_name =
+  base::string16 document_name =
       printing::SimplifyDocumentTitle(UTF8ToUTF16(job_details.job_title_));
   if (document_name.empty()) {
     document_name = printing::SimplifyDocumentTitle(
diff --git a/chrome/service/service_process.cc b/chrome/service/service_process.cc
index 0243531..c8816ef 100644
--- a/chrome/service/service_process.cc
+++ b/chrome/service/service_process.cc
@@ -101,10 +101,11 @@
   // The encoding we use for the info is "title|context|direction" where
   // direction is either env_vars::kRtlLocale or env_vars::kLtrLocale depending
   // on the current locale.
-  string16 dlg_strings(l10n_util::GetStringUTF16(IDS_CRASH_RECOVERY_TITLE));
+  base::string16 dlg_strings(
+      l10n_util::GetStringUTF16(IDS_CRASH_RECOVERY_TITLE));
   dlg_strings.push_back('|');
-  string16 adjusted_string(
-      l10n_util::GetStringFUTF16(IDS_SERVICE_CRASH_RECOVERY_CONTENT,
+  base::string16 adjusted_string(l10n_util::GetStringFUTF16(
+      IDS_SERVICE_CRASH_RECOVERY_CONTENT,
       l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT)));
   base::i18n::AdjustStringForLocaleDirection(&adjusted_string);
   dlg_strings.append(adjusted_string);
diff --git a/chrome/test/automation/tab_proxy.cc b/chrome/test/automation/tab_proxy.cc
index f8b6f86..50d4223 100644
--- a/chrome/test/automation/tab_proxy.cc
+++ b/chrome/test/automation/tab_proxy.cc
@@ -177,7 +177,7 @@
   Value* value = NULL;
   bool succeeded = static_cast<ListValue*>(root.get())->Get(0, &value);
   if (succeeded) {
-    string16 read_value;
+    base::string16 read_value;
     succeeded = value->GetAsString(&read_value);
     if (succeeded) {
       // TODO(viettrungluu): remove conversion. (But should |jscript| be UTF-8?)
diff --git a/chrome/test/base/browser_with_test_window_test.cc b/chrome/test/base/browser_with_test_window_test.cc
index bf97a791..2fec986bfa 100644
--- a/chrome/test/base/browser_with_test_window_test.cc
+++ b/chrome/test/base/browser_with_test_window_test.cc
@@ -158,7 +158,7 @@
 void BrowserWithTestWindowTest::NavigateAndCommitActiveTabWithTitle(
     Browser* navigating_browser,
     const GURL& url,
-    const string16& title) {
+    const base::string16& title) {
   NavigationController* controller = &navigating_browser->tab_strip_model()->
       GetActiveWebContents()->GetController();
   NavigateAndCommit(controller, url);
diff --git a/chrome/test/base/browser_with_test_window_test.h b/chrome/test/base/browser_with_test_window_test.h
index dfe88eb..0aa3d26b 100644
--- a/chrome/test/base/browser_with_test_window_test.h
+++ b/chrome/test/base/browser_with_test_window_test.h
@@ -122,10 +122,9 @@
   void NavigateAndCommitActiveTab(const GURL& url);
 
   // Set the |title| of the current tab.
-  void NavigateAndCommitActiveTabWithTitle(
-      Browser* browser,
-      const GURL& url,
-      const string16& title);
+  void NavigateAndCommitActiveTabWithTitle(Browser* browser,
+                                           const GURL& url,
+                                           const base::string16& title);
 
   // Destroys the browser, window, and profile created by this class. This is
   // invoked from the destructor.
diff --git a/chrome/test/base/in_process_browser_test_browsertest.cc b/chrome/test/base/in_process_browser_test_browsertest.cc
index 5272c35..7ab6d5e 100644
--- a/chrome/test/base/in_process_browser_test_browsertest.cc
+++ b/chrome/test/base/in_process_browser_test_browsertest.cc
@@ -39,11 +39,11 @@
 
   virtual void DidFailProvisionalLoad(
       int64 frame_id,
-      const string16& frame_unique_name,
+      const base::string16& frame_unique_name,
       bool is_main_frame,
       const GURL& validated_url,
       int error_code,
-      const string16& error_description,
+      const base::string16& error_description,
       content::RenderViewHost* render_view_host) OVERRIDE {
     failed_load_ = true;
     error_code_ = static_cast<net::Error>(error_code);
diff --git a/chrome/test/base/test_browser_window.h b/chrome/test/base/test_browser_window.h
index 6144eb6..24fe0df4 100644
--- a/chrome/test/base/test_browser_window.h
+++ b/chrome/test/base/test_browser_window.h
@@ -109,8 +109,8 @@
 #if defined(ENABLE_ONE_CLICK_SIGNIN)
   virtual void ShowOneClickSigninBubble(
       OneClickSigninBubbleType type,
-      const string16& email,
-      const string16& error_message,
+      const base::string16& email,
+      const base::string16& error_message,
       const StartSyncCallback& start_sync_callback) OVERRIDE {}
 #endif
   virtual bool IsDownloadShelfVisible() const OVERRIDE;
diff --git a/chrome/test/base/testing_profile_manager.cc b/chrome/test/base/testing_profile_manager.cc
index 01ffd6b..d96c5eb 100644
--- a/chrome/test/base/testing_profile_manager.cc
+++ b/chrome/test/base/testing_profile_manager.cc
@@ -48,7 +48,7 @@
 TestingProfile* TestingProfileManager::CreateTestingProfile(
     const std::string& profile_name,
     scoped_ptr<PrefServiceSyncable> prefs,
-    const string16& user_name,
+    const base::string16& user_name,
     int avatar_id,
     const std::string& managed_user_id,
     const TestingProfile::TestingFactories& factories) {
diff --git a/chrome/test/base/testing_profile_manager.h b/chrome/test/base/testing_profile_manager.h
index 5a0dd28b..b4c1dda 100644
--- a/chrome/test/base/testing_profile_manager.h
+++ b/chrome/test/base/testing_profile_manager.h
@@ -52,7 +52,7 @@
   TestingProfile* CreateTestingProfile(
       const std::string& profile_name,
       scoped_ptr<PrefServiceSyncable> prefs,
-      const string16& user_name,
+      const base::string16& user_name,
       int avatar_id,
       const std::string& managed_user_id,
       const TestingProfile::TestingFactories& factories);
diff --git a/chrome/test/base/ui_test_utils.cc b/chrome/test/base/ui_test_utils.cc
index e60fe0e..587ef70 100644
--- a/chrome/test/base/ui_test_utils.cc
+++ b/chrome/test/base/ui_test_utils.cc
@@ -138,7 +138,7 @@
 
 }  // namespace
 
-bool GetCurrentTabTitle(const Browser* browser, string16* title) {
+bool GetCurrentTabTitle(const Browser* browser, base::string16* title) {
   WebContents* web_contents =
       browser->tab_strip_model()->GetActiveWebContents();
   if (!web_contents)
@@ -333,8 +333,11 @@
   return content::Source<AppModalDialog>(observer.source()).ptr();
 }
 
-int FindInPage(WebContents* tab, const string16& search_string,
-               bool forward, bool match_case, int* ordinal,
+int FindInPage(WebContents* tab,
+               const base::string16& search_string,
+               bool forward,
+               bool match_case,
+               int* ordinal,
                gfx::Rect* selection_rect) {
   FindTabHelper* find_tab_helper = FindTabHelper::FromWebContents(tab);
   find_tab_helper->StartFinding(search_string, forward, match_case);
@@ -523,7 +526,7 @@
   HistoryService* hs = HistoryServiceFactory::GetForProfile(
       profile, Profile::EXPLICIT_ACCESS);
   hs->QueryHistory(
-      string16(),
+      base::string16(),
       history::QueryOptions(),
       &consumer_,
       base::Bind(&HistoryEnumerator::HistoryQueryComplete,
diff --git a/chrome/test/base/ui_test_utils.h b/chrome/test/base/ui_test_utils.h
index b7fe6da..15d785e 100644
--- a/chrome/test/base/ui_test_utils.h
+++ b/chrome/test/base/ui_test_utils.h
@@ -74,7 +74,7 @@
 };
 
 // Puts the current tab title in |title|. Returns true on success.
-bool GetCurrentTabTitle(const Browser* browser, string16* title);
+bool GetCurrentTabTitle(const Browser* browser, base::string16* title);
 
 // Opens |url| in an incognito browser window with the incognito profile of
 // |profile|, blocking until the navigation finishes. This will create a new
@@ -134,7 +134,7 @@
 // of the current match. |selection_rect| is an optional parameter which is set
 // to the location of the current match.
 int FindInPage(content::WebContents* tab,
-               const string16& search_string,
+               const base::string16& search_string,
                bool forward,
                bool case_sensitive,
                int* ordinal,
diff --git a/chrome/test/base/web_ui_browsertest.cc b/chrome/test/base/web_ui_browsertest.cc
index 4b6d6b2..182211b 100644
--- a/chrome/test/base/web_ui_browsertest.cc
+++ b/chrome/test/base/web_ui_browsertest.cc
@@ -461,7 +461,7 @@
   return net::FilePathToFileURL(test_path);
 }
 
-void WebUIBrowserTest::BuildJavascriptLibraries(string16* content) {
+void WebUIBrowserTest::BuildJavascriptLibraries(base::string16* content) {
   ASSERT_TRUE(content != NULL);
   std::string utf8_content;
   std::vector<base::FilePath>::iterator user_libraries_iterator;
@@ -490,7 +490,7 @@
   content->append(UTF8ToUTF16(utf8_content));
 }
 
-string16 WebUIBrowserTest::BuildRunTestJSCall(
+base::string16 WebUIBrowserTest::BuildRunTestJSCall(
     bool is_async,
     const std::string& function_name,
     const WebUIBrowserTest::ConstValueVector& test_func_args) {
@@ -518,12 +518,12 @@
     bool is_async,
     RenderViewHost* preload_host) {
 
-  string16 content;
+  base::string16 content;
   if (!libraries_preloaded_)
     BuildJavascriptLibraries(&content);
 
   if (!function_name.empty()) {
-    string16 called_function;
+    base::string16 called_function;
     if (is_test) {
       called_function =
           BuildRunTestJSCall(is_async, function_name, function_arguments);
diff --git a/chrome/test/base/web_ui_browsertest.h b/chrome/test/base/web_ui_browsertest.h
index dfda661..3df3a34 100644
--- a/chrome/test/base/web_ui_browsertest.h
+++ b/chrome/test/base/web_ui_browsertest.h
@@ -138,13 +138,14 @@
 
  private:
   // Builds a string containing all added javascript libraries.
-  void BuildJavascriptLibraries(string16* content);
+  void BuildJavascriptLibraries(base::string16* content);
 
   // Builds a string with a call to the runTest JS function, passing the
   // given |is_async|, |test_name| and its |args|.
-  string16 BuildRunTestJSCall(bool is_async,
-                              const std::string& test_name,
-                              const WebUIBrowserTest::ConstValueVector& args);
+  base::string16 BuildRunTestJSCall(
+      bool is_async,
+      const std::string& test_name,
+      const WebUIBrowserTest::ConstValueVector& args);
 
   // Loads all libraries added with AddLibrary(), and calls |function_name| with
   // |function_arguments|. When |is_test| is true, the framework wraps
diff --git a/chrome/test/chromedriver/capabilities.cc b/chrome/test/chromedriver/capabilities.cc
index 0d2fb8e..adae250 100644
--- a/chrome/test/chromedriver/capabilities.cc
+++ b/chrome/test/chromedriver/capabilities.cc
@@ -315,7 +315,7 @@
 #endif
 }
 
-void Switches::SetSwitch(const std::string& name, const string16& value) {
+void Switches::SetSwitch(const std::string& name, const base::string16& value) {
 #if defined(OS_WIN)
   switch_map_[name] = value;
 #else
diff --git a/chrome/test/chromedriver/capabilities.h b/chrome/test/chromedriver/capabilities.h
index fceb06c8..1fea6336 100644
--- a/chrome/test/chromedriver/capabilities.h
+++ b/chrome/test/chromedriver/capabilities.h
@@ -32,7 +32,7 @@
 
   void SetSwitch(const std::string& name);
   void SetSwitch(const std::string& name, const std::string& value);
-  void SetSwitch(const std::string& name, const string16& value);
+  void SetSwitch(const std::string& name, const base::string16& value);
   void SetSwitch(const std::string& name, const base::FilePath& value);
 
   // In case of same key, |switches| will override.
diff --git a/chrome/test/chromedriver/chrome/zip_internal.cc b/chrome/test/chromedriver/chrome/zip_internal.cc
index 20e15f9..0042e90 100644
--- a/chrome/test/chromedriver/chrome/zip_internal.cc
+++ b/chrome/test/chromedriver/chrome/zip_internal.cc
@@ -54,7 +54,7 @@
     creation_disposition = CREATE_ALWAYS;
   }
 
-  string16 filename16 = UTF8ToUTF16(filename);
+  base::string16 filename16 = UTF8ToUTF16(filename);
   if ((filename != NULL) && (desired_access != 0)) {
     file = CreateFile(filename16.c_str(), desired_access, share_mode,
         NULL, creation_disposition, flags_and_attributes, NULL);
diff --git a/chrome/test/chromedriver/chrome/zip_reader.cc b/chrome/test/chromedriver/chrome/zip_reader.cc
index 218c8d7..71d11f5 100644
--- a/chrome/test/chromedriver/chrome/zip_reader.cc
+++ b/chrome/test/chromedriver/chrome/zip_reader.cc
@@ -39,7 +39,7 @@
   is_unsafe_ = file_name_in_zip.find("..") != std::string::npos;
 
   // We also consider that the file name is unsafe, if it's invalid UTF-8.
-  string16 file_name_utf16;
+  base::string16 file_name_utf16;
   if (!UTF8ToUTF16(file_name_in_zip.data(), file_name_in_zip.size(),
                    &file_name_utf16)) {
     is_unsafe_ = true;
diff --git a/chrome/test/chromedriver/key_converter.cc b/chrome/test/chromedriver/key_converter.cc
index c9eba36..57f98a4 100644
--- a/chrome/test/chromedriver/key_converter.cc
+++ b/chrome/test/chromedriver/key_converter.cc
@@ -139,7 +139,7 @@
 bool KeyCodeFromShorthandKey(char16 key_utf16,
                              ui::KeyboardCode* key_code,
                              bool* client_should_skip) {
-  string16 key_str_utf16;
+  base::string16 key_str_utf16;
   key_str_utf16.push_back(key_utf16);
   std::string key_str_utf8 = UTF16ToUTF8(key_str_utf16);
   if (key_str_utf8.length() != 1)
@@ -186,13 +186,13 @@
                   ui::VKEY_UNKNOWN);
 }
 
-Status ConvertKeysToKeyEvents(const string16& client_keys,
+Status ConvertKeysToKeyEvents(const base::string16& client_keys,
                               bool release_modifiers,
                               int* modifiers,
                               std::list<KeyEvent>* client_key_events) {
   std::list<KeyEvent> key_events;
 
-  string16 keys = client_keys;
+  base::string16 keys = client_keys;
   // Add an implicit NULL character to the end of the input to depress all
   // modifiers.
   if (release_modifiers)
diff --git a/chrome/test/chromedriver/key_converter.h b/chrome/test/chromedriver/key_converter.h
index 4cbb0b4c..eabc6ca 100644
--- a/chrome/test/chromedriver/key_converter.h
+++ b/chrome/test/chromedriver/key_converter.h
@@ -26,7 +26,7 @@
 // an error message. If |release_modifiers| is true, all modifiers would be
 // depressed. |modifiers| acts both an input and an output, however, only when
 // the conversion process is successful will |modifiers| be changed.
-Status ConvertKeysToKeyEvents(const string16& keys,
+Status ConvertKeysToKeyEvents(const base::string16& keys,
                               bool release_modifiers,
                               int* modifiers,
                               std::list<KeyEvent>* key_events);
diff --git a/chrome/test/chromedriver/key_converter_unittest.cc b/chrome/test/chromedriver/key_converter_unittest.cc
index 183f813d..3318ca8a 100644
--- a/chrome/test/chromedriver/key_converter_unittest.cc
+++ b/chrome/test/chromedriver/key_converter_unittest.cc
@@ -15,7 +15,7 @@
 
 namespace {
 
-void CheckEvents(const string16& keys,
+void CheckEvents(const base::string16& keys,
                  KeyEvent expected_events[],
                  bool release_modifiers,
                  size_t expected_size,
@@ -40,7 +40,7 @@
   EXPECT_EQ(expected_modifiers, modifiers);
 }
 
-void CheckEventsReleaseModifiers(const string16& keys,
+void CheckEventsReleaseModifiers(const base::string16& keys,
                                  KeyEvent expected_events[],
                                  size_t expected_size) {
   CheckEvents(keys, expected_events, true /* release_modifier */,
@@ -135,7 +135,7 @@
       CreateKeyDownEvent(ui::VKEY_SPACE, 0),
       CreateCharEvent(" ", " ", 0),
       CreateKeyUpEvent(ui::VKEY_SPACE, 0)};
-  string16 keys;
+  base::string16 keys;
   keys.push_back(static_cast<char16>(0xE00DU));
   CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array));
 }
@@ -144,7 +144,7 @@
   KeyEvent event_array[] = {
       CreateKeyDownEvent(ui::VKEY_F1, 0),
       CreateKeyUpEvent(ui::VKEY_F1, 0)};
-  string16 keys;
+  base::string16 keys;
   keys.push_back(static_cast<char16>(0xE031U));
   CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array));
 }
@@ -208,7 +208,7 @@
       CreateCharEvent("c", "C", kShiftKeyModifierMask),
       CreateKeyUpEvent(ui::VKEY_C, kShiftKeyModifierMask),
       CreateKeyUpEvent(ui::VKEY_SHIFT, 0)};
-  string16 keys;
+  base::string16 keys;
   keys.push_back(static_cast<char16>(0xE008U));
   keys.append(UTF8ToUTF16("aBc"));
   CheckEventsReleaseModifiers(keys, event_array, arraysize(event_array));
@@ -224,7 +224,7 @@
       CreateKeyUpEvent(ui::VKEY_MENU, 0),
       CreateKeyDownEvent(ui::VKEY_COMMAND, kMetaKeyModifierMask),
       CreateKeyUpEvent(ui::VKEY_COMMAND, 0)};
-  string16 keys;
+  base::string16 keys;
   keys.push_back(static_cast<char16>(0xE008U));
   keys.push_back(static_cast<char16>(0xE008U));
   keys.push_back(static_cast<char16>(0xE009U));
@@ -276,7 +276,7 @@
 #endif
 
 TEST(KeyConverter, MAYBE_AllEnglishKeyboardSymbols) {
-  string16 keys;
+  base::string16 keys;
   const ui::KeyboardCode kSymbolKeyCodes[] = {
       ui::VKEY_OEM_3,
       ui::VKEY_OEM_MINUS,
@@ -344,7 +344,7 @@
   for (size_t i = 0; i <= 0x3D; ++i) {
     if (i > 0x29 && i < 0x31)
       continue;
-    string16 keys;
+    base::string16 keys;
     int modifiers = 0;
     keys.push_back(0xE000U + i);
     std::list<KeyEvent> events;
@@ -385,7 +385,7 @@
       CreateKeyDownEvent(ui::VKEY_CONTROL, control_key_modifier),
       CreateKeyDownEvent(ui::VKEY_MENU, alt_key_modifier),
       CreateKeyDownEvent(ui::VKEY_COMMAND, meta_key_modifier)};
-  string16 keys;
+  base::string16 keys;
   keys.push_back(static_cast<char16>(0xE008U));
   keys.push_back(static_cast<char16>(0xE009U));
   keys.push_back(static_cast<char16>(0xE00AU));
@@ -402,7 +402,7 @@
           kShiftKeyModifierMask | kControlKeyModifierMask),
       CreateKeyUpEvent(ui::VKEY_SHIFT, 0),
       CreateKeyUpEvent(ui::VKEY_CONTROL, 0)};
-  string16 keys;
+  base::string16 keys;
   keys.push_back(static_cast<char16>(0xE008U));
   keys.push_back(static_cast<char16>(0xE009U));
 
diff --git a/chrome/test/chromedriver/keycode_text_conversion_mac.mm b/chrome/test/chromedriver/keycode_text_conversion_mac.mm
index ed00190..a5abaa6 100644
--- a/chrome/test/chromedriver/keycode_text_conversion_mac.mm
+++ b/chrome/test/chromedriver/keycode_text_conversion_mac.mm
@@ -64,7 +64,7 @@
       &char_count,
       &character);
   if (status == noErr && char_count == 1 && !std::iscntrl(character)) {
-    string16 text16;
+    base::string16 text16;
     text16.push_back(character);
     *text = UTF16ToUTF8(text16);
     return true;
@@ -76,7 +76,7 @@
 bool ConvertCharToKeyCode(
     char16 key, ui::KeyboardCode* key_code, int *necessary_modifiers,
     std::string* error_msg) {
-  string16 key_string;
+  base::string16 key_string;
   key_string.push_back(key);
   std::string key_string_utf8 = UTF16ToUTF8(key_string);
   bool found_code = false;
diff --git a/chrome/test/chromedriver/keycode_text_conversion_x.cc b/chrome/test/chromedriver/keycode_text_conversion_x.cc
index c489e07..fbb5888 100644
--- a/chrome/test/chromedriver/keycode_text_conversion_x.cc
+++ b/chrome/test/chromedriver/keycode_text_conversion_x.cc
@@ -224,7 +224,7 @@
   if (!character)
     *text = std::string();
   else
-    *text = UTF16ToUTF8(string16(1, character));
+    *text = UTF16ToUTF8(base::string16(1, character));
   return true;
 }
 
@@ -233,7 +233,7 @@
     ui::KeyboardCode* key_code,
     int* necessary_modifiers,
     std::string* error_msg) {
-  std::string key_string(UTF16ToUTF8(string16(1, key)));
+  std::string key_string(UTF16ToUTF8(base::string16(1, key)));
   bool found = false;
   ui::KeyboardCode test_code;
   int test_modifiers;
diff --git a/chrome/test/chromedriver/util.cc b/chrome/test/chromedriver/util.cc
index 911de01..39dd768 100644
--- a/chrome/test/chromedriver/util.cc
+++ b/chrome/test/chromedriver/util.cc
@@ -29,10 +29,10 @@
 
 namespace {
 
-Status FlattenStringArray(const base::ListValue* src, string16* dest) {
-  string16 keys;
+Status FlattenStringArray(const base::ListValue* src, base::string16* dest) {
+  base::string16 keys;
   for (size_t i = 0; i < src->GetSize(); ++i) {
-    string16 keys_list_part;
+    base::string16 keys_list_part;
     if (!src->GetString(i, &keys_list_part))
       return Status(kUnknownError, "keys should be a string");
     for (size_t j = 0; j < keys_list_part.size(); ++j) {
@@ -54,7 +54,7 @@
     const base::ListValue* key_list,
     bool release_modifiers,
     int* sticky_modifiers) {
-  string16 keys;
+  base::string16 keys;
   Status status = FlattenStringArray(key_list, &keys);
   if (status.IsError())
     return status;
diff --git a/chrome/test/perf/generate_profile.cc b/chrome/test/perf/generate_profile.cc
index 0e38251..44c72ad 100644
--- a/chrome/test/perf/generate_profile.cc
+++ b/chrome/test/perf/generate_profile.cc
@@ -55,14 +55,14 @@
 }
 
 // Return a string of |count| lowercase random characters.
-string16 RandomChars(int count) {
-  string16 str;
+base::string16 RandomChars(int count) {
+  base::string16 str;
   for (int i = 0; i < count; ++i)
     str += L'a' + rand() % 26;
   return str;
 }
 
-string16 RandomWord() {
+base::string16 RandomWord() {
   // TODO(evanm): should we instead use the markov chain based
   // version of this that I already wrote?
 
@@ -78,8 +78,8 @@
 }
 
 // Return a string of |count| random words.
-string16 RandomWords(int count) {
-  string16 str;
+base::string16 RandomWords(int count) {
+  base::string16 str;
   for (int i = 0; i < count; ++i) {
     if (!str.empty())
       str += L' ';
@@ -95,7 +95,7 @@
 }
 
 // Return a random page title-looking string.
-string16 ConstructRandomTitle() {
+base::string16 ConstructRandomTitle() {
   return RandomWords(RandomInt(3, 15));
 }
 
diff --git a/chrome/test/perf/startup_test.cc b/chrome/test/perf/startup_test.cc
index 3aa48dd..679d1802 100644
--- a/chrome/test/perf/startup_test.cc
+++ b/chrome/test/perf/startup_test.cc
@@ -119,7 +119,7 @@
     // Read in preferences template.
     std::string pref_string;
     EXPECT_TRUE(base::ReadFileToString(pref_template_path, &pref_string));
-    string16 format_string = ASCIIToUTF16(pref_string);
+    base::string16 format_string = ASCIIToUTF16(pref_string);
 
     // Make sure temp directory has the proper format for writing to prefs file.
 #if defined(OS_POSIX)
@@ -133,7 +133,7 @@
 #endif
 
     // Rewrite prefs file.
-    std::vector<string16> subst;
+    std::vector<base::string16> subst;
     subst.push_back(WideToUTF16(user_data_dir_w));
     const std::string prefs_string =
         UTF16ToASCII(ReplaceStringPlaceholders(format_string, subst, NULL));
diff --git a/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp b/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp
index bcea88e..42a0f62 100644
--- a/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp
+++ b/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp
@@ -446,7 +446,7 @@
     rv = l10n_util::GetStringUTF8(IDS_CERT_X509_BASIC_CONSTRAINT_IS_NOT_CA);
   rv += '\n';
   if (value.pathLenConstraint != -1) {
-    string16 depth;
+    base::string16 depth;
     if (value.pathLenConstraint == CERT_UNLIMITED_PATH_CONSTRAINT) {
       depth = l10n_util::GetStringUTF16(
           IDS_CERT_X509_BASIC_CONSTRAINT_PATH_LEN_UNLIMITED);
@@ -827,8 +827,8 @@
 
   while (*aia != NULL) {
     desc = *aia++;
-    string16 location_str = UTF8ToUTF16(ProcessGeneralName(arena.get(),
-                                                           desc->location));
+    base::string16 location_str =
+        UTF8ToUTF16(ProcessGeneralName(arena.get(), desc->location));
     switch (SECOID_FindOIDTag(&desc->method)) {
     case SEC_OID_PKIX_OCSP:
       rv += l10n_util::GetStringFUTF8(IDS_CERT_OCSP_RESPONDER_FORMAT,
diff --git a/chrome/tools/convert_dict/convert_dict_unittest.cc b/chrome/tools/convert_dict/convert_dict_unittest.cc
index 4fee2fb..5d895d3 100644
--- a/chrome/tools/convert_dict/convert_dict_unittest.cc
+++ b/chrome/tools/convert_dict/convert_dict_unittest.cc
@@ -62,12 +62,12 @@
 // * Creates bdict data.
 // * Verify the bdict data.
 void RunDictionaryTest(const char* codepage,
-                       const std::map<string16, bool>& word_list) {
+                       const std::map<base::string16, bool>& word_list) {
   // Create an affix data and a dictionary data.
   std::string aff_data(base::StringPrintf("SET %s\n", codepage));
 
   std::string dic_data(base::StringPrintf("%" PRIuS "\n", word_list.size()));
-  for (std::map<string16, bool>::const_iterator it = word_list.begin();
+  for (std::map<base::string16, bool>::const_iterator it = word_list.begin();
        it != word_list.end(); ++it) {
     std::string encoded_word;
     EXPECT_TRUE(UTF16ToCodepage(it->first,
@@ -101,7 +101,7 @@
     for (size_t i = 0; i < dic_reader.words().size(); ++i) {
       SCOPED_TRACE(base::StringPrintf("dic_reader.words()[%" PRIuS "]: %s",
                                       i, dic_reader.words()[i].first.c_str()));
-      string16 word(UTF8ToUTF16(dic_reader.words()[i].first));
+      base::string16 word(UTF8ToUTF16(dic_reader.words()[i].first));
       EXPECT_TRUE(word_list.find(word) != word_list.end());
     }
 
@@ -149,10 +149,10 @@
     L"they",
   };
 
-  std::map<string16, bool> word_list;
+  std::map<base::string16, bool> word_list;
   for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kWords); ++i)
-    word_list.insert(std::make_pair<string16, bool>(WideToUTF16(kWords[i]),
-                                                    true));
+    word_list.insert(
+        std::make_pair<base::string16, bool>(WideToUTF16(kWords[i]), true));
 
   RunDictionaryTest(kCodepage, word_list);
 }
@@ -171,10 +171,10 @@
     L"\x043e\x043d\x0438",
   };
 
-  std::map<string16, bool> word_list;
+  std::map<base::string16, bool> word_list;
   for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kWords); ++i)
-    word_list.insert(std::make_pair<string16, bool>(WideToUTF16(kWords[i]),
-                                                    true));
+    word_list.insert(
+        std::make_pair<base::string16, bool>(WideToUTF16(kWords[i]), true));
 
   RunDictionaryTest(kCodepage, word_list);
 }
@@ -195,10 +195,10 @@
     L"\x006d\x0061\x0067\x0075\x006b",
   };
 
-  std::map<string16, bool> word_list;
+  std::map<base::string16, bool> word_list;
   for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kWords); ++i)
-    word_list.insert(std::make_pair<string16, bool>(WideToUTF16(kWords[i]),
-                                                    true));
+    word_list.insert(
+        std::make_pair<base::string16, bool>(WideToUTF16(kWords[i]), true));
 
   RunDictionaryTest(kCodepage, word_list);
 }
diff --git a/chrome/tools/mac_helpers/infoplist_strings_util.mm b/chrome/tools/mac_helpers/infoplist_strings_util.mm
index ec51d7c..6531342d 100644
--- a/chrome/tools/mac_helpers/infoplist_strings_util.mm
+++ b/chrome/tools/mac_helpers/infoplist_strings_util.mm
@@ -256,7 +256,7 @@
 
     base::Time::Exploded exploded_time;
     base::Time::Now().LocalExplode(&exploded_time);
-    std::vector<string16> replacements;
+    std::vector<base::string16> replacements;
     replacements.push_back(base::IntToString16(exploded_time.year));
     NSString* copyright = base::SysUTF16ToNSString(
         ReplaceStringPlaceholders(base::SysNSStringToUTF16(copyright_format),
diff --git a/chrome/utility/extensions/unpacker.cc b/chrome/utility/extensions/unpacker.cc
index 10b95b96..75c3741 100644
--- a/chrome/utility/extensions/unpacker.cc
+++ b/chrome/utility/extensions/unpacker.cc
@@ -289,7 +289,7 @@
   scoped_ptr<base::DictionaryValue> root(static_cast<base::DictionaryValue*>(
       serializer.Deserialize(NULL, &error)));
   if (!root.get()) {
-    string16 messages_file = message_path.LossyDisplayName();
+    base::string16 messages_file = message_path.LossyDisplayName();
     if (error.empty()) {
       // If file is missing, Deserialize will fail with empty error.
       SetError(base::StringPrintf("%s %s", errors::kLocalesMessagesFileMissing,
@@ -323,7 +323,7 @@
   SetUTF16Error(UTF8ToUTF16(error));
 }
 
-void Unpacker::SetUTF16Error(const string16 &error) {
+void Unpacker::SetUTF16Error(const base::string16& error) {
   error_message_ = error;
 }
 
diff --git a/chrome/utility/extensions/unpacker.h b/chrome/utility/extensions/unpacker.h
index 53e866b5..8d44b1b 100644
--- a/chrome/utility/extensions/unpacker.h
+++ b/chrome/utility/extensions/unpacker.h
@@ -46,7 +46,7 @@
   // success.
   bool DumpMessageCatalogsToFile();
 
-  const string16& error_message() { return error_message_; }
+  const base::string16& error_message() { return error_message_; }
   base::DictionaryValue* parsed_manifest() {
     return parsed_manifest_.get();
   }
@@ -70,7 +70,7 @@
 
   // Set the error message.
   void SetError(const std::string& error);
-  void SetUTF16Error(const string16& error);
+  void SetUTF16Error(const base::string16& error);
 
   // The extension to unpack.
   base::FilePath extension_path_;
@@ -100,7 +100,7 @@
   scoped_ptr<base::DictionaryValue> parsed_catalogs_;
 
   // The last error message that was set.  Empty if there were no errors.
-  string16 error_message_;
+  base::string16 error_message_;
 
   DISALLOW_COPY_AND_ASSIGN(Unpacker);
 };
diff --git a/chrome/utility/importer/external_process_importer_bridge.cc b/chrome/utility/importer/external_process_importer_bridge.cc
index 747a55c..813bdd8 100644
--- a/chrome/utility/importer/external_process_importer_bridge.cc
+++ b/chrome/utility/importer/external_process_importer_bridge.cc
@@ -41,7 +41,7 @@
 
 void ExternalProcessImporterBridge::AddBookmarks(
     const std::vector<ImportedBookmarkEntry>& bookmarks,
-    const string16& first_folder_name) {
+    const base::string16& first_folder_name) {
   Send(new ProfileImportProcessHostMsg_NotifyBookmarksImportStart(
       first_folder_name, bookmarks.size()));
 
@@ -158,8 +158,9 @@
   // The internal process detects import end when all items have been received.
 }
 
-string16 ExternalProcessImporterBridge::GetLocalizedString(int message_id) {
-  string16 message;
+base::string16 ExternalProcessImporterBridge::GetLocalizedString(
+    int message_id) {
+  base::string16 message;
   localized_strings_->GetString(base::IntToString(message_id), &message);
   return message;
 }
diff --git a/chrome/utility/importer/external_process_importer_bridge.h b/chrome/utility/importer/external_process_importer_bridge.h
index 9bf5700..57efe35 100644
--- a/chrome/utility/importer/external_process_importer_bridge.h
+++ b/chrome/utility/importer/external_process_importer_bridge.h
@@ -47,9 +47,8 @@
       base::TaskRunner* task_runner);
 
   // Begin ImporterBridge implementation:
-  virtual void AddBookmarks(
-      const std::vector<ImportedBookmarkEntry>& bookmarks,
-      const string16& first_folder_name) OVERRIDE;
+  virtual void AddBookmarks(const std::vector<ImportedBookmarkEntry>& bookmarks,
+                            const base::string16& first_folder_name) OVERRIDE;
 
   virtual void AddHomePage(const GURL& home_page) OVERRIDE;
 
@@ -79,7 +78,7 @@
   virtual void NotifyItemEnded(importer::ImportItem item) OVERRIDE;
   virtual void NotifyEnded() OVERRIDE;
 
-  virtual string16 GetLocalizedString(int message_id) OVERRIDE;
+  virtual base::string16 GetLocalizedString(int message_id) OVERRIDE;
   // End ImporterBridge implementation.
 
  private:
diff --git a/chrome/utility/importer/firefox_importer.cc b/chrome/utility/importer/firefox_importer.cc
index ab7d2966..3c826d2 100644
--- a/chrome/utility/importer/firefox_importer.cc
+++ b/chrome/utility/importer/firefox_importer.cc
@@ -81,7 +81,7 @@
   int parent;
   int id;
   GURL url;
-  string16 title;
+  base::string16 title;
   BookmarkItemType type;
   std::string keyword;
   base::Time date_added;
@@ -258,7 +258,7 @@
       continue;
 
     // Find the bookmark path by tracing their links to parent folders.
-    std::vector<string16> path;
+    std::vector<base::string16> path;
     BookmarkItem* child = item;
     bool found_path = false;
     bool is_in_toolbar = false;
@@ -321,7 +321,7 @@
 
   // Write into profile.
   if (!bookmarks.empty() && !cancelled()) {
-    const string16& first_folder_name =
+    const base::string16& first_folder_name =
         bridge_->GetLocalizedString(IDS_BOOKMARK_GROUP_FROM_FIREFOX);
     bridge_->AddBookmarks(bookmarks, first_folder_name);
   }
diff --git a/chrome/utility/importer/firefox_importer_unittest_messages_internal.h b/chrome/utility/importer/firefox_importer_unittest_messages_internal.h
index ce299475..8882ffbf 100644
--- a/chrome/utility/importer/firefox_importer_unittest_messages_internal.h
+++ b/chrome/utility/importer/firefox_importer_unittest_messages_internal.h
@@ -22,7 +22,7 @@
                      std::string /* crypt */)
 // Child->Server: Decrypted String.
 IPC_MESSAGE_CONTROL1(Msg_Decryptor_Response,
-                     string16 /* unencrypted_str */)
+                     base::string16 /* unencrypted_str */)
 
 // Server->Child: Die.
 IPC_MESSAGE_CONTROL0(Msg_Decryptor_Quit)
diff --git a/chrome/utility/importer/firefox_importer_unittest_utils.h b/chrome/utility/importer/firefox_importer_unittest_utils.h
index 3bff323..2c20991 100644
--- a/chrome/utility/importer/firefox_importer_unittest_utils.h
+++ b/chrome/utility/importer/firefox_importer_unittest_utils.h
@@ -43,7 +43,7 @@
   // This match the parallel functions in NSSDecryptor.
   bool DecryptorInit(const base::FilePath& dll_path,
                      const base::FilePath& db_path);
-  string16 Decrypt(const std::string& crypt);
+  base::string16 Decrypt(const std::string& crypt);
 
  private:
 #if defined(OS_MACOSX)
@@ -81,7 +81,7 @@
   return decryptor_.Init(dll_path, db_path);
 }
 
-string16 FFUnitTestDecryptorProxy::Decrypt(const std::string& crypt) {
+base::string16 FFUnitTestDecryptorProxy::Decrypt(const std::string& crypt) {
   return decryptor_.Decrypt(crypt);
 }
 #endif  // !OS_MACOSX
diff --git a/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc b/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc
index 4b5bc871..6b21149 100644
--- a/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc
+++ b/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc
@@ -87,7 +87,7 @@
     base::MessageLoop::current()->Quit();
   }
 
-  void OnDecryptedTextResonse(const string16& decrypted_text) {
+  void OnDecryptedTextResonse(const base::string16& decrypted_text) {
     DCHECK(!got_result);
     result_string = decrypted_text;
     got_result = true;
@@ -116,7 +116,7 @@
   }
 
   // Results of IPC calls.
-  string16 result_string;
+  base::string16 result_string;
   bool result_bool;
   // True if IPC call succeeded and data in above variables is valid.
   bool got_result;
@@ -206,14 +206,14 @@
   return false;
 }
 
-string16 FFUnitTestDecryptorProxy::Decrypt(const std::string& crypt) {
+base::string16 FFUnitTestDecryptorProxy::Decrypt(const std::string& crypt) {
   channel_->Send(new Msg_Decrypt(crypt));
   bool ok = WaitForClientResponse();
   if (ok && listener_->got_result) {
     listener_->got_result = false;
     return listener_->result_string;
   }
-  return string16();
+  return base::string16();
 }
 
 //---------------------------- Child Process -----------------------
@@ -235,7 +235,7 @@
   }
 
   void OnDecrypt(std::string crypt) {
-    string16 unencrypted_str = decryptor_.Decrypt(crypt);
+    base::string16 unencrypted_str = decryptor_.Decrypt(crypt);
     sender_->Send(new Msg_Decryptor_Response(unencrypted_str));
   }
 
diff --git a/chrome/utility/importer/ie_importer_win.cc b/chrome/utility/importer/ie_importer_win.cc
index b8b7f9b..6dbe5d8 100644
--- a/chrome/utility/importer/ie_importer_win.cc
+++ b/chrome/utility/importer/ie_importer_win.cc
@@ -58,13 +58,13 @@
 
 // A struct that hosts the information of AutoComplete data in PStore.
 struct AutoCompleteInfo {
-  string16 key;
-  std::vector<string16> data;
+  base::string16 key;
+  std::vector<base::string16> data;
   bool is_url;
 };
 
 // Gets the creation time of the given file or directory.
-base::Time GetFileCreationTime(const string16& file) {
+base::Time GetFileCreationTime(const base::string16& file) {
   base::Time creation_time;
   base::win::ScopedHandle file_handle(
       CreateFile(file.c_str(), GENERIC_READ,
@@ -266,7 +266,7 @@
 // Reads an internet shortcut (*.url) |file| and returns a COM object
 // representing it.
 bool LoadInternetShortcut(
-    const string16& file,
+    const base::string16& file,
     base::win::ScopedComPtr<IUniformResourceLocator>* shortcut) {
   base::win::ScopedComPtr<IUniformResourceLocator> url_locator;
   if (FAILED(url_locator.CreateInstance(CLSID_InternetShortcut, NULL,
@@ -320,7 +320,7 @@
 
 // Reads the favicon imaga data in an NTFS alternate data stream. This is where
 // IE7 and above store the data.
-bool ReadFaviconDataFromInternetShortcut(const string16& file,
+bool ReadFaviconDataFromInternetShortcut(const base::string16& file,
                                          std::string* data) {
   return base::ReadFileToString(
       base::FilePath(file + kFaviconStreamName), data);
@@ -349,7 +349,7 @@
 // Reads the binary image data of favicon of an internet shortcut file |file|.
 // |favicon_url| read by ReadFaviconURLFromInternetShortcut is also needed to
 // examine the IE cache.
-bool ReadReencodedFaviconData(const string16& file,
+bool ReadReencodedFaviconData(const base::string16& file,
                               const GURL& favicon_url,
                               std::vector<unsigned char>* data) {
   std::string image_data;
@@ -364,11 +364,10 @@
 }
 
 // Loads favicon image data and registers to |favicon_map|.
-void UpdateFaviconMap(
-    const string16& url_file,
-    const GURL& url,
-    IUniformResourceLocator* url_locator,
-    std::map<GURL, ImportedFaviconUsage>* favicon_map) {
+void UpdateFaviconMap(const base::string16& url_file,
+                      const GURL& url,
+                      IUniformResourceLocator* url_locator,
+                      std::map<GURL, ImportedFaviconUsage>* favicon_map) {
   GURL favicon_url = ReadFaviconURLFromInternetShortcut(url_locator);
   if (!favicon_url.is_valid())
     return;
@@ -460,7 +459,7 @@
   ParseFavoritesFolder(info, &bookmarks, &favicons);
 
   if (!bookmarks.empty() && !cancelled()) {
-    const string16& first_folder_name =
+    const base::string16& first_folder_name =
         l10n_util::GetStringUTF16(IDS_BOOKMARK_GROUP_FROM_IE);
     bridge_->AddBookmarks(bookmarks, first_folder_name);
   }
@@ -488,12 +487,12 @@
     ULONG fetched;
     while (!cancelled() &&
            (result = enum_url->Next(1, &stat_url, &fetched)) == S_OK) {
-      string16 url_string;
+      base::string16 url_string;
       if (stat_url.pwcsUrl) {
         url_string = stat_url.pwcsUrl;
         CoTaskMemFree(stat_url.pwcsUrl);
       }
-      string16 title_string;
+      base::string16 title_string;
       if (stat_url.pwcsTitle) {
         title_string = stat_url.pwcsTitle;
         CoTaskMemFree(stat_url.pwcsTitle);
@@ -575,16 +574,16 @@
     if (SUCCEEDED(result)) {
       AutoCompleteInfo ac;
       ac.key = item_name;
-      string16 data;
+      base::string16 data;
       data.insert(0, reinterpret_cast<wchar_t*>(buffer),
                   length / sizeof(wchar_t));
 
       // The key name is always ended with ":StringData".
       const wchar_t kDataSuffix[] = L":StringData";
       size_t i = ac.key.rfind(kDataSuffix);
-      if (i != string16::npos && ac.key.substr(i) == kDataSuffix) {
+      if (i != base::string16::npos && ac.key.substr(i) == kDataSuffix) {
         ac.key.erase(i);
-        ac.is_url = (ac.key.find(L"://") != string16::npos);
+        ac.is_url = (ac.key.find(L"://") != base::string16::npos);
         ac_list.push_back(ac);
         base::SplitString(data, L'\0', &ac_list[ac_list.size() - 1].data);
       }
@@ -676,15 +675,15 @@
   // Software\Microsoft\Internet Explorer\SearchScopes
   // Each key represents a search engine. The URL value contains the URL and
   // the DisplayName the name.
-  typedef std::map<std::string, string16> SearchEnginesMap;
+  typedef std::map<std::string, base::string16> SearchEnginesMap;
   SearchEnginesMap search_engines_map;
   for (base::win::RegistryKeyIterator key_iter(HKEY_CURRENT_USER,
        kSearchScopePath); key_iter.Valid(); ++key_iter) {
-    string16 sub_key_name = kSearchScopePath;
+    base::string16 sub_key_name = kSearchScopePath;
     sub_key_name.append(L"\\").append(key_iter.Name());
     base::win::RegKey sub_key(HKEY_CURRENT_USER, sub_key_name.c_str(),
                               KEY_READ);
-    string16 wide_url;
+    base::string16 wide_url;
     if ((sub_key.ReadValue(L"URL", &wide_url) != ERROR_SUCCESS) ||
         wide_url.empty()) {
       VLOG(1) << "No URL for IE search engine at " << key_iter.Name();
@@ -693,7 +692,7 @@
     // For the name, we try the default value first (as Live Search uses a
     // non displayable name in DisplayName, and the readable name under the
     // default value).
-    string16 name;
+    base::string16 name;
     if ((sub_key.ReadValue(NULL, &name) != ERROR_SUCCESS) || name.empty()) {
       // Try the displayable name.
       if ((sub_key.ReadValue(L"DisplayName", &name) != ERROR_SUCCESS) ||
@@ -732,7 +731,7 @@
   base::string16 key_path(importer::GetIESettingsKey());
 
   base::win::RegKey key(HKEY_CURRENT_USER, key_path.c_str(), KEY_READ);
-  string16 homepage_url;
+  base::string16 homepage_url;
   if (key.ReadValue(kIEHomepage, &homepage_url) != ERROR_SUCCESS ||
       homepage_url.empty())
     return;
@@ -743,7 +742,7 @@
 
   // Check to see if this is the default website and skip import.
   base::win::RegKey keyDefault(HKEY_LOCAL_MACHINE, key_path.c_str(), KEY_READ);
-  string16 default_homepage_url;
+  base::string16 default_homepage_url;
   LONG result = keyDefault.ReadValue(kIEDefaultHomepage, &default_homepage_url);
   if (result == ERROR_SUCCESS && !default_homepage_url.empty()) {
     if (homepage.spec() == GURL(default_homepage_url).spec())
diff --git a/chrome/utility/importer/ie_importer_win.h b/chrome/utility/importer/ie_importer_win.h
index db22a22..2e0752a 100644
--- a/chrome/utility/importer/ie_importer_win.h
+++ b/chrome/utility/importer/ie_importer_win.h
@@ -32,7 +32,7 @@
   // A struct that hosts the information of IE Favorite folder.

   struct FavoritesInfo {

     base::FilePath path;

-    string16 links_folder;

+    base::string16 links_folder;

   };

 

   // IE PStore subkey GUID: AutoComplete password & form data.

diff --git a/chrome/utility/importer/nss_decryptor.cc b/chrome/utility/importer/nss_decryptor.cc
index a06f208..652fed7 100644
--- a/chrome/utility/importer/nss_decryptor.cc
+++ b/chrome/utility/importer/nss_decryptor.cc
@@ -61,10 +61,10 @@
 *
 * ***** END LICENSE BLOCK ***** */
 
-string16 NSSDecryptor::Decrypt(const std::string& crypt) const {
+base::string16 NSSDecryptor::Decrypt(const std::string& crypt) const {
   // Do nothing if NSS is not loaded.
   if (!is_nss_initialized_)
-    return string16();
+    return base::string16();
 
   // The old style password is encoded in base64. They are identified
   // by a leading '~'. Otherwise, we should decrypt the text.
@@ -76,7 +76,7 @@
     SECStatus result = PK11_Authenticate(slot, PR_TRUE, NULL);
     if (result != SECSuccess) {
       FreeSlot(slot);
-      return string16();
+      return base::string16();
     }
 
     SECItem request;
diff --git a/chrome/utility/importer/nss_decryptor_mac.h b/chrome/utility/importer/nss_decryptor_mac.h
index 88fbad24..a2e1e555 100644
--- a/chrome/utility/importer/nss_decryptor_mac.h
+++ b/chrome/utility/importer/nss_decryptor_mac.h
@@ -126,7 +126,7 @@
 
   // Decrypts Firefox stored passwords. Before using this method,
   // make sure Init() returns true.
-  string16 Decrypt(const std::string& crypt) const;
+  base::string16 Decrypt(const std::string& crypt) const;
 
   // Parses the Firefox password file content, decrypts the
   // username/password and reads other related information.
diff --git a/chrome/utility/importer/nss_decryptor_null.h b/chrome/utility/importer/nss_decryptor_null.h
index 82744e6..e99334ba 100644
--- a/chrome/utility/importer/nss_decryptor_null.h
+++ b/chrome/utility/importer/nss_decryptor_null.h
@@ -27,7 +27,9 @@
   bool Init(const base::FilePath& dll_path, const base::FilePath& db_path) {
     return false;
   }
-  string16 Decrypt(const std::string& crypt) const { return string16(); }
+  base::string16 Decrypt(const std::string& crypt) const {
+    return base::string16();
+  }
   void ParseSignons(const std::string& content,
                     std::vector<autofill::PasswordForm>* forms) {}
   bool ReadAndParseSignons(const base::FilePath& sqlite_file,
diff --git a/chrome/utility/importer/nss_decryptor_system_nss.h b/chrome/utility/importer/nss_decryptor_system_nss.h
index 412fe947..23ad3c9 100644
--- a/chrome/utility/importer/nss_decryptor_system_nss.h
+++ b/chrome/utility/importer/nss_decryptor_system_nss.h
@@ -31,7 +31,7 @@
 
   // Decrypts Firefox stored passwords. Before using this method,
   // make sure Init() returns true.
-  string16 Decrypt(const std::string& crypt) const;
+  base::string16 Decrypt(const std::string& crypt) const;
 
   // Parses the Firefox password file content, decrypts the
   // username/password and reads other related information.
diff --git a/chrome/utility/importer/nss_decryptor_win.h b/chrome/utility/importer/nss_decryptor_win.h
index f664de7..fa9415f 100644
--- a/chrome/utility/importer/nss_decryptor_win.h
+++ b/chrome/utility/importer/nss_decryptor_win.h
@@ -124,7 +124,7 @@
 
   // Decrypts Firefox stored passwords. Before using this method,
   // make sure Init() returns true.
-  string16 Decrypt(const std::string& crypt) const;
+  base::string16 Decrypt(const std::string& crypt) const;
 
   // Parses the Firefox password file content, decrypts the
   // username/password and reads other related information.
diff --git a/chrome/utility/importer/safari_importer.h b/chrome/utility/importer/safari_importer.h
index ea64284..756dac9c 100644
--- a/chrome/utility/importer/safari_importer.h
+++ b/chrome/utility/importer/safari_importer.h
@@ -61,7 +61,7 @@
   void ImportHistory();
 
   // Parse Safari's stored bookmarks.
-  void ParseBookmarks(const string16& toolbar_name,
+  void ParseBookmarks(const base::string16& toolbar_name,
                       std::vector<ImportedBookmarkEntry>* bookmarks);
 
   // Function to recursively read Bookmarks out of Safari plist.
@@ -71,9 +71,9 @@
   // |out_bookmarks| BookMark element array to write into.
   void RecursiveReadBookmarksFolder(
       NSDictionary* bookmark_folder,
-      const std::vector<string16>& parent_path_elements,
+      const std::vector<base::string16>& parent_path_elements,
       bool is_in_toolbar,
-      const string16& toolbar_name,
+      const base::string16& toolbar_name,
       std::vector<ImportedBookmarkEntry>* out_bookmarks);
 
   // Converts history time stored by Safari as a double serialized as a string,
diff --git a/chrome/utility/importer/safari_importer.mm b/chrome/utility/importer/safari_importer.mm
index 2bcbce9f..ef06b8a 100644
--- a/chrome/utility/importer/safari_importer.mm
+++ b/chrome/utility/importer/safari_importer.mm
@@ -77,14 +77,14 @@
 }
 
 void SafariImporter::ImportBookmarks() {
-  string16 toolbar_name =
+  base::string16 toolbar_name =
       bridge_->GetLocalizedString(IDS_BOOKMARK_BAR_FOLDER_NAME);
   std::vector<ImportedBookmarkEntry> bookmarks;
   ParseBookmarks(toolbar_name, &bookmarks);
 
   // Write bookmarks into profile.
   if (!bookmarks.empty() && !cancelled()) {
-    const string16& first_folder_name =
+    const base::string16& first_folder_name =
         bridge_->GetLocalizedString(IDS_BOOKMARK_GROUP_FROM_SAFARI);
     bridge_->AddBookmarks(bookmarks, first_folder_name);
   }
@@ -166,9 +166,9 @@
 
 void SafariImporter::RecursiveReadBookmarksFolder(
     NSDictionary* bookmark_folder,
-    const std::vector<string16>& parent_path_elements,
+    const std::vector<base::string16>& parent_path_elements,
     bool is_in_toolbar,
-    const string16& toolbar_name,
+    const base::string16& toolbar_name,
     std::vector<ImportedBookmarkEntry>* out_bookmarks) {
   DCHECK(bookmark_folder);
 
@@ -210,7 +210,7 @@
     return;
   }
 
-  std::vector<string16> path_elements(parent_path_elements);
+  std::vector<base::string16> path_elements(parent_path_elements);
   // Create a folder for the toolbar, but not for the bookmarks menu.
   if (path_elements.empty() && [title isEqualToString:@"BookmarksBar"]) {
     is_in_toolbar = true;
@@ -263,7 +263,7 @@
 }
 
 void SafariImporter::ParseBookmarks(
-    const string16& toolbar_name,
+    const base::string16& toolbar_name,
     std::vector<ImportedBookmarkEntry>* bookmarks) {
   DCHECK(bookmarks);
 
@@ -282,7 +282,7 @@
     return;
 
   // Recursively read in bookmarks.
-  std::vector<string16> parent_path_elements;
+  std::vector<base::string16> parent_path_elements;
   RecursiveReadBookmarksFolder(bookmarks_dict, parent_path_elements, false,
                                toolbar_name, bookmarks);
 }
diff --git a/chrome/utility/importer/safari_importer_unittest.mm b/chrome/utility/importer/safari_importer_unittest.mm
index d6c93e2..d7f3c65 100644
--- a/chrome/utility/importer/safari_importer_unittest.mm
+++ b/chrome/utility/importer/safari_importer_unittest.mm
@@ -82,8 +82,8 @@
     bool in_toolbar;
     GURL url;
     // We store the path with levels of nesting delimited by forward slashes.
-    string16 path;
-    string16 title;
+    base::string16 path;
+    base::string16 title;
   } kImportedBookmarksData[] = {
     {
       true,
@@ -112,19 +112,19 @@
     {
       false,
       GURL("http://www.reddit.com/"),
-      string16(),
+      base::string16(),
       ASCIIToUTF16("reddit.com: what's new online!")
     },
     {
       false,
       GURL(),
-      string16(),
+      base::string16(),
       ASCIIToUTF16("Empty Folder")
     },
     {
       false,
       GURL("http://www.webkit.org/blog/"),
-      string16(),
+      base::string16(),
       ASCIIToUTF16("Surfin' Safari - The WebKit Blog")
     },
   };
@@ -140,7 +140,7 @@
     EXPECT_EQ(kImportedBookmarksData[i].in_toolbar, entry.in_toolbar);
     EXPECT_EQ(kImportedBookmarksData[i].url, entry.url);
 
-    std::vector<string16> path;
+    std::vector<base::string16> path;
     Tokenize(kImportedBookmarksData[i].path, ASCIIToUTF16("/"), &path);
     ASSERT_EQ(path.size(), entry.path.size());
     for (size_t j = 0; j < path.size(); ++j) {
diff --git a/chrome/utility/media_galleries/itunes_library_parser.cc b/chrome/utility/media_galleries/itunes_library_parser.cc
index 85871a3..aef27f7 100644
--- a/chrome/utility/media_galleries/itunes_library_parser.cc
+++ b/chrome/utility/media_galleries/itunes_library_parser.cc
@@ -74,9 +74,11 @@
                                          url.path().length() - 1,
                                          &decoded_location);
 #if defined(OS_WIN)
-      string16 location(decoded_location.data(), decoded_location.length());
+      base::string16 location(decoded_location.data(),
+                              decoded_location.length());
 #else
-      string16 location16(decoded_location.data(), decoded_location.length());
+      base::string16 location16(decoded_location.data(),
+                                decoded_location.length());
       std::string location = "/" + UTF16ToUTF8(location16);
 #endif
       result->location = base::FilePath(location);