• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "chrome/installer/util/chrome_binaries_operations.h"
6 
7 #include "base/command_line.h"
8 #include "base/files/file_path.h"
9 #include "base/logging.h"
10 #include "chrome/installer/util/channel_info.h"
11 #include "chrome/installer/util/helper.h"
12 #include "chrome/installer/util/master_preferences.h"
13 #include "chrome/installer/util/master_preferences_constants.h"
14 #include "chrome/installer/util/util_constants.h"
15 
16 namespace installer {
17 
ReadOptions(const MasterPreferences & prefs,std::set<string16> * options) const18 void ChromeBinariesOperations::ReadOptions(const MasterPreferences& prefs,
19                                            std::set<string16>* options) const {
20   DCHECK(options);
21   options->insert(kOptionMultiInstall);
22 }
23 
ReadOptions(const CommandLine & uninstall_command,std::set<string16> * options) const24 void ChromeBinariesOperations::ReadOptions(const CommandLine& uninstall_command,
25                                            std::set<string16>* options) const {
26   DCHECK(options);
27   options->insert(kOptionMultiInstall);
28 }
29 
AddKeyFiles(const std::set<string16> & options,std::vector<base::FilePath> * key_files) const30 void ChromeBinariesOperations::AddKeyFiles(
31     const std::set<string16>& options,
32     std::vector<base::FilePath>* key_files) const {
33   DCHECK(key_files);
34   key_files->push_back(base::FilePath(installer::kChromeDll));
35 }
36 
AddComDllList(const std::set<string16> & options,std::vector<base::FilePath> * com_dll_list) const37 void ChromeBinariesOperations::AddComDllList(
38     const std::set<string16>& options,
39     std::vector<base::FilePath>* com_dll_list) const {
40 }
41 
AppendProductFlags(const std::set<string16> & options,CommandLine * cmd_line) const42 void ChromeBinariesOperations::AppendProductFlags(
43     const std::set<string16>& options,
44     CommandLine* cmd_line) const {
45   DCHECK(cmd_line);
46 
47   DCHECK(options.find(kOptionMultiInstall) != options.end());
48 
49   // Add --multi-install if it isn't already there.
50   if (!cmd_line->HasSwitch(switches::kMultiInstall))
51     cmd_line->AppendSwitch(switches::kMultiInstall);
52 }
53 
AppendRenameFlags(const std::set<string16> & options,CommandLine * cmd_line) const54 void ChromeBinariesOperations::AppendRenameFlags(
55     const std::set<string16>& options,
56     CommandLine* cmd_line) const {
57   DCHECK(cmd_line);
58 
59   DCHECK(options.find(kOptionMultiInstall) != options.end());
60 
61   // Add --multi-install if it isn't already there.
62   if (!cmd_line->HasSwitch(switches::kMultiInstall))
63     cmd_line->AppendSwitch(switches::kMultiInstall);
64 }
65 
SetChannelFlags(const std::set<string16> & options,bool set,ChannelInfo * channel_info) const66 bool ChromeBinariesOperations::SetChannelFlags(
67     const std::set<string16>& options,
68     bool set,
69     ChannelInfo* channel_info) const {
70   return false;
71 }
72 
ShouldCreateUninstallEntry(const std::set<string16> & options) const73 bool ChromeBinariesOperations::ShouldCreateUninstallEntry(
74     const std::set<string16>& options) const {
75   return false;
76 }
77 
AddDefaultShortcutProperties(BrowserDistribution * dist,const base::FilePath & target_exe,ShellUtil::ShortcutProperties * properties) const78 void ChromeBinariesOperations::AddDefaultShortcutProperties(
79     BrowserDistribution* dist,
80     const base::FilePath& target_exe,
81     ShellUtil::ShortcutProperties* properties) const {
82   NOTREACHED() << "Chrome Binaries do not create shortcuts.";
83 }
84 
LaunchUserExperiment(const base::FilePath & setup_path,const std::set<string16> & options,InstallStatus status,bool system_level) const85 void ChromeBinariesOperations::LaunchUserExperiment(
86     const base::FilePath& setup_path,
87     const std::set<string16>& options,
88     InstallStatus status,
89     bool system_level) const {
90   // Not meaningful to have binaries run experiments.
91   NOTREACHED();
92 }
93 
94 }  // namespace installer
95