Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This file defines specific implementation of BrowserDistribution class for | 5 // This file defines specific implementation of BrowserDistribution class for |
| 6 // Google Chrome. | 6 // Google Chrome. |
| 7 | 7 |
| 8 #include "chrome/installer/util/google_chrome_distribution.h" | 8 #include "chrome/installer/util/google_chrome_distribution.h" |
| 9 | 9 |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 283 return launched; | 283 return launched; |
| 284 } | 284 } |
| 285 | 285 |
| 286 } // namespace | 286 } // namespace |
| 287 | 287 |
| 288 GoogleChromeDistribution::GoogleChromeDistribution() | 288 GoogleChromeDistribution::GoogleChromeDistribution() |
| 289 : BrowserDistribution(CHROME_BROWSER), | 289 : BrowserDistribution(CHROME_BROWSER), |
| 290 product_guid_(kChromeGuid) { | 290 product_guid_(kChromeGuid) { |
| 291 } | 291 } |
| 292 | 292 |
| 293 // The functions below are not used by the 64-bit Windows binary - | 293 // The functions below are not used by the NaCl 64-bit Windows binary - |
| 294 // see the comment in google_chrome_distribution_dummy.cc | 294 // see the comment in google_chrome_distribution_dummy.cc |
| 295 #ifndef _WIN64 | 295 #if !defined(NACL_WIN64) |
|
grt (UTC plus 2)
2013/02/04 19:03:47
under what conditions is this file compiled with N
jschuh
2013/02/04 19:16:41
NACL_WIN64 is enabled when building a 64-bit NaCl
grt (UTC plus 2)
2013/02/04 19:34:39
I don't see this file ever being compiled with tha
robertshield
2013/02/04 19:44:33
What Greg said, at first glance it looks like ever
| |
| 296 bool GoogleChromeDistribution::BuildUninstallMetricsString( | 296 bool GoogleChromeDistribution::BuildUninstallMetricsString( |
| 297 const DictionaryValue* uninstall_metrics_dict, string16* metrics) { | 297 const DictionaryValue* uninstall_metrics_dict, string16* metrics) { |
| 298 DCHECK(NULL != metrics); | 298 DCHECK(NULL != metrics); |
| 299 bool has_values = false; | 299 bool has_values = false; |
| 300 | 300 |
| 301 for (DictionaryValue::Iterator iter(*uninstall_metrics_dict); !iter.IsAtEnd(); | 301 for (DictionaryValue::Iterator iter(*uninstall_metrics_dict); !iter.IsAtEnd(); |
| 302 iter.Advance()) { | 302 iter.Advance()) { |
| 303 has_values = true; | 303 has_values = true; |
| 304 metrics->append(L"&"); | 304 metrics->append(L"&"); |
| 305 metrics->append(UTF8ToWide(iter.key())); | 305 metrics->append(UTF8ToWide(iter.key())); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 350 return false; | 350 return false; |
| 351 } | 351 } |
| 352 | 352 |
| 353 if (!BuildUninstallMetricsString(uninstall_metrics_dict, | 353 if (!BuildUninstallMetricsString(uninstall_metrics_dict, |
| 354 uninstall_metrics_string)) { | 354 uninstall_metrics_string)) { |
| 355 return false; | 355 return false; |
| 356 } | 356 } |
| 357 | 357 |
| 358 return true; | 358 return true; |
| 359 } | 359 } |
| 360 #endif | 360 #endif // if !defined(NACL_WIN64). |
| 361 | 361 |
| 362 void GoogleChromeDistribution::DoPostUninstallOperations( | 362 void GoogleChromeDistribution::DoPostUninstallOperations( |
| 363 const Version& version, | 363 const Version& version, |
| 364 const FilePath& local_data_path, | 364 const FilePath& local_data_path, |
| 365 const string16& distribution_data) { | 365 const string16& distribution_data) { |
| 366 // Send the Chrome version and OS version as params to the form. | 366 // Send the Chrome version and OS version as params to the form. |
| 367 // It would be nice to send the locale, too, but I don't see an | 367 // It would be nice to send the locale, too, but I don't see an |
| 368 // easy way to get that in the existing code. It's something we | 368 // easy way to get that in the existing code. It's something we |
| 369 // can add later, if needed. | 369 // can add later, if needed. |
| 370 // We depend on installed_version.GetString() not having spaces or other | 370 // We depend on installed_version.GetString() not having spaces or other |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 567 void GoogleChromeDistribution::UpdateInstallStatus(bool system_install, | 567 void GoogleChromeDistribution::UpdateInstallStatus(bool system_install, |
| 568 installer::ArchiveType archive_type, | 568 installer::ArchiveType archive_type, |
| 569 installer::InstallStatus install_status) { | 569 installer::InstallStatus install_status) { |
| 570 GoogleUpdateSettings::UpdateInstallStatus(system_install, | 570 GoogleUpdateSettings::UpdateInstallStatus(system_install, |
| 571 archive_type, InstallUtil::GetInstallReturnCode(install_status), | 571 archive_type, InstallUtil::GetInstallReturnCode(install_status), |
| 572 product_guid()); | 572 product_guid()); |
| 573 } | 573 } |
| 574 | 574 |
| 575 // The functions below are not used by the 64-bit Windows binary - | 575 // The functions below are not used by the 64-bit Windows binary - |
| 576 // see the comment in google_chrome_distribution_dummy.cc | 576 // see the comment in google_chrome_distribution_dummy.cc |
| 577 #ifndef _WIN64 | 577 #if !defined(NACL_WIN64) |
| 578 // A helper function that writes to HKLM if the handle was passed through the | 578 // A helper function that writes to HKLM if the handle was passed through the |
| 579 // command line, but HKCU otherwise. |experiment_group| is the value to write | 579 // command line, but HKCU otherwise. |experiment_group| is the value to write |
| 580 // and |last_write| is used when writing to HKLM to determine whether to close | 580 // and |last_write| is used when writing to HKLM to determine whether to close |
| 581 // the handle when done. | 581 // the handle when done. |
| 582 void SetClient(const string16& experiment_group, bool last_write) { | 582 void SetClient(const string16& experiment_group, bool last_write) { |
| 583 static int reg_key_handle = -1; | 583 static int reg_key_handle = -1; |
| 584 if (reg_key_handle == -1) { | 584 if (reg_key_handle == -1) { |
| 585 // If a specific Toast Results key handle (presumably to our HKLM key) was | 585 // If a specific Toast Results key handle (presumably to our HKLM key) was |
| 586 // passed in to the command line (such as for system level installs), we use | 586 // passed in to the command line (such as for system level installs), we use |
| 587 // it. Otherwise, we write to the key under HKCU. | 587 // it. Otherwise, we write to the key under HKCU. |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 865 // The user wants to uninstall. This is a best effort operation. Note that | 865 // The user wants to uninstall. This is a best effort operation. Note that |
| 866 // we waited for chrome to exit so the uninstall would not detect chrome | 866 // we waited for chrome to exit so the uninstall would not detect chrome |
| 867 // running. | 867 // running. |
| 868 bool system_level_toast = CommandLine::ForCurrentProcess()->HasSwitch( | 868 bool system_level_toast = CommandLine::ForCurrentProcess()->HasSwitch( |
| 869 installer::switches::kSystemLevelToast); | 869 installer::switches::kSystemLevelToast); |
| 870 | 870 |
| 871 CommandLine cmd(InstallUtil::GetChromeUninstallCmd(system_level_toast, | 871 CommandLine cmd(InstallUtil::GetChromeUninstallCmd(system_level_toast, |
| 872 GetType())); | 872 GetType())); |
| 873 base::LaunchProcess(cmd, base::LaunchOptions(), NULL); | 873 base::LaunchProcess(cmd, base::LaunchOptions(), NULL); |
| 874 } | 874 } |
| 875 #endif // ifndef _WIN64 | 875 #endif // if !defined(NACL_WIN64). |
| 876 | 876 |
| 877 bool GoogleChromeDistribution::ShouldSetExperimentLabels() { | 877 bool GoogleChromeDistribution::ShouldSetExperimentLabels() { |
| 878 return true; | 878 return true; |
| 879 } | 879 } |
| OLD | NEW |