Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Side by Side Diff: chrome/installer/util/google_chrome_distribution.cc

Issue 12186016: Add BrowserDistribution support for Win64 build (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 -
294 // see the comment in google_chrome_distribution_dummy.cc
295 #ifndef _WIN64
296 bool GoogleChromeDistribution::BuildUninstallMetricsString( 293 bool GoogleChromeDistribution::BuildUninstallMetricsString(
297 const DictionaryValue* uninstall_metrics_dict, string16* metrics) { 294 const DictionaryValue* uninstall_metrics_dict, string16* metrics) {
298 DCHECK(NULL != metrics); 295 DCHECK(NULL != metrics);
299 bool has_values = false; 296 bool has_values = false;
300 297
301 for (DictionaryValue::Iterator iter(*uninstall_metrics_dict); !iter.IsAtEnd(); 298 for (DictionaryValue::Iterator iter(*uninstall_metrics_dict); !iter.IsAtEnd();
302 iter.Advance()) { 299 iter.Advance()) {
303 has_values = true; 300 has_values = true;
304 metrics->append(L"&"); 301 metrics->append(L"&");
305 metrics->append(UTF8ToWide(iter.key())); 302 metrics->append(UTF8ToWide(iter.key()));
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 return false; 347 return false;
351 } 348 }
352 349
353 if (!BuildUninstallMetricsString(uninstall_metrics_dict, 350 if (!BuildUninstallMetricsString(uninstall_metrics_dict,
354 uninstall_metrics_string)) { 351 uninstall_metrics_string)) {
355 return false; 352 return false;
356 } 353 }
357 354
358 return true; 355 return true;
359 } 356 }
360 #endif
361 357
362 void GoogleChromeDistribution::DoPostUninstallOperations( 358 void GoogleChromeDistribution::DoPostUninstallOperations(
363 const Version& version, 359 const Version& version,
364 const FilePath& local_data_path, 360 const FilePath& local_data_path,
365 const string16& distribution_data) { 361 const string16& distribution_data) {
366 // Send the Chrome version and OS version as params to the form. 362 // 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 363 // 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 364 // easy way to get that in the existing code. It's something we
369 // can add later, if needed. 365 // can add later, if needed.
370 // We depend on installed_version.GetString() not having spaces or other 366 // We depend on installed_version.GetString() not having spaces or other
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 // string (if it is present) regardless of whether installer failed or not. 561 // string (if it is present) regardless of whether installer failed or not.
566 // There is no fall-back for full installer :) 562 // There is no fall-back for full installer :)
567 void GoogleChromeDistribution::UpdateInstallStatus(bool system_install, 563 void GoogleChromeDistribution::UpdateInstallStatus(bool system_install,
568 installer::ArchiveType archive_type, 564 installer::ArchiveType archive_type,
569 installer::InstallStatus install_status) { 565 installer::InstallStatus install_status) {
570 GoogleUpdateSettings::UpdateInstallStatus(system_install, 566 GoogleUpdateSettings::UpdateInstallStatus(system_install,
571 archive_type, InstallUtil::GetInstallReturnCode(install_status), 567 archive_type, InstallUtil::GetInstallReturnCode(install_status),
572 product_guid()); 568 product_guid());
573 } 569 }
574 570
575 // The functions below are not used by the 64-bit Windows binary -
576 // see the comment in google_chrome_distribution_dummy.cc
577 #ifndef _WIN64
578 // A helper function that writes to HKLM if the handle was passed through the 571 // 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 572 // 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 573 // and |last_write| is used when writing to HKLM to determine whether to close
581 // the handle when done. 574 // the handle when done.
582 void SetClient(const string16& experiment_group, bool last_write) { 575 void SetClient(const string16& experiment_group, bool last_write) {
583 static int reg_key_handle = -1; 576 static int reg_key_handle = -1;
584 if (reg_key_handle == -1) { 577 if (reg_key_handle == -1) {
585 // If a specific Toast Results key handle (presumably to our HKLM key) was 578 // 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 579 // passed in to the command line (such as for system level installs), we use
587 // it. Otherwise, we write to the key under HKCU. 580 // it. Otherwise, we write to the key under HKCU.
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
865 // The user wants to uninstall. This is a best effort operation. Note that 858 // 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 859 // we waited for chrome to exit so the uninstall would not detect chrome
867 // running. 860 // running.
868 bool system_level_toast = CommandLine::ForCurrentProcess()->HasSwitch( 861 bool system_level_toast = CommandLine::ForCurrentProcess()->HasSwitch(
869 installer::switches::kSystemLevelToast); 862 installer::switches::kSystemLevelToast);
870 863
871 CommandLine cmd(InstallUtil::GetChromeUninstallCmd(system_level_toast, 864 CommandLine cmd(InstallUtil::GetChromeUninstallCmd(system_level_toast,
872 GetType())); 865 GetType()));
873 base::LaunchProcess(cmd, base::LaunchOptions(), NULL); 866 base::LaunchProcess(cmd, base::LaunchOptions(), NULL);
874 } 867 }
875 #endif // ifndef _WIN64
876 868
877 bool GoogleChromeDistribution::ShouldSetExperimentLabels() { 869 bool GoogleChromeDistribution::ShouldSetExperimentLabels() {
878 return true; 870 return true;
879 } 871 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698