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.
5 #include "chrome/installer/util/chrome_binaries_operations.h"
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"
18 void ChromeBinariesOperations::ReadOptions(const MasterPreferences
& prefs
,
19 std::set
<base::string16
>* options
)
22 options
->insert(kOptionMultiInstall
);
25 void ChromeBinariesOperations::ReadOptions(
26 const base::CommandLine
& uninstall_command
,
27 std::set
<base::string16
>* options
) const {
29 options
->insert(kOptionMultiInstall
);
32 void ChromeBinariesOperations::AddKeyFiles(
33 const std::set
<base::string16
>& options
,
34 std::vector
<base::FilePath
>* key_files
) const {
36 key_files
->push_back(base::FilePath(installer::kChromeDll
));
39 void ChromeBinariesOperations::AddComDllList(
40 const std::set
<base::string16
>& options
,
41 std::vector
<base::FilePath
>* com_dll_list
) const {
44 void ChromeBinariesOperations::AppendProductFlags(
45 const std::set
<base::string16
>& options
,
46 base::CommandLine
* cmd_line
) const {
49 DCHECK(options
.find(kOptionMultiInstall
) != options
.end());
51 // Add --multi-install if it isn't already there.
52 if (!cmd_line
->HasSwitch(switches::kMultiInstall
))
53 cmd_line
->AppendSwitch(switches::kMultiInstall
);
56 void ChromeBinariesOperations::AppendRenameFlags(
57 const std::set
<base::string16
>& options
,
58 base::CommandLine
* cmd_line
) const {
61 DCHECK(options
.find(kOptionMultiInstall
) != options
.end());
63 // Add --multi-install if it isn't already there.
64 if (!cmd_line
->HasSwitch(switches::kMultiInstall
))
65 cmd_line
->AppendSwitch(switches::kMultiInstall
);
68 bool ChromeBinariesOperations::SetChannelFlags(
69 const std::set
<base::string16
>& options
,
71 ChannelInfo
* channel_info
) const {
75 bool ChromeBinariesOperations::ShouldCreateUninstallEntry(
76 const std::set
<base::string16
>& options
) const {
80 void ChromeBinariesOperations::AddDefaultShortcutProperties(
81 BrowserDistribution
* dist
,
82 const base::FilePath
& target_exe
,
83 ShellUtil::ShortcutProperties
* properties
) const {
84 NOTREACHED() << "Chrome Binaries do not create shortcuts.";
87 void ChromeBinariesOperations::LaunchUserExperiment(
88 const base::FilePath
& setup_path
,
89 const std::set
<base::string16
>& options
,
91 bool system_level
) const {
92 // Not meaningful to have binaries run experiments.
96 } // namespace installer