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

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

Issue 612093007: Remove kCmdInstallExtension and kCmdInstallApp from Installer code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
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 // Implementation of the installation validator. 5 // Implementation of the installation validator.
6 6
7 #include "chrome/installer/util/installation_validator.h" 7 #include "chrome/installer/util/installation_validator.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <set> 10 #include <set>
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 bool expected = flags_exp.find(check_list[i].exp_key) != flags_exp.end(); 194 bool expected = flags_exp.find(check_list[i].exp_key) != flags_exp.end();
195 if (check_list[i].val != expected) { 195 if (check_list[i].val != expected) {
196 *is_valid = false; 196 *is_valid = false;
197 LOG(ERROR) << ctx.dist->GetDisplayName() << ": " 197 LOG(ERROR) << ctx.dist->GetDisplayName() << ": "
198 << name << " command should " << (expected ? "" : "not ") 198 << name << " command should " << (expected ? "" : "not ")
199 << check_list[i].msg << "."; 199 << check_list[i].msg << ".";
200 } 200 }
201 } 201 }
202 } 202 }
203 203
204 // Validates both "install-application" and "install-extension" depending on
205 // what is passed in.
206 void InstallationValidator::ValidateInstallCommand(
Devlin 2014/09/30 18:03:01 My understanding is that, since these should never
grt (UTC plus 2) 2014/09/30 18:30:33 Could you make it validate that the commands aren'
Devlin 2014/09/30 18:51:02 I *think* (still very new to this code, so could b
grt (UTC plus 2) 2014/09/30 18:59:26 i think you're right, thanks.
207 const ProductContext& ctx,
208 const AppCommand& app_cmd,
209 const wchar_t* expected_command,
210 const wchar_t* expected_app_name,
211 const char* expected_switch,
212 bool* is_valid) {
213 DCHECK(is_valid);
214
215 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
216 base::string16 name(expected_command);
217
218 base::FilePath expected_path(
219 installer::GetChromeInstallPath(ctx.system_install, ctx.dist)
220 .Append(expected_app_name));
221
222 if (!base::FilePath::CompareEqualIgnoreCase(expected_path.value(),
223 cmd_line.GetProgram().value())) {
224 *is_valid = false;
225 LOG(ERROR) << name << "'s path is not "
226 << expected_path.value() << ": "
227 << cmd_line.GetProgram().value();
228 }
229
230 SwitchExpectations expected;
231 expected.push_back(std::make_pair(std::string(expected_switch), true));
232
233 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
234
235 std::set<base::string16> flags_exp;
236 flags_exp.insert(google_update::kRegSendsPingsField);
237 flags_exp.insert(google_update::kRegWebAccessibleField);
238 flags_exp.insert(google_update::kRegRunAsUserField);
239 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid);
240 }
241
242 // Validates the "install-application" Google Update product command.
243 void InstallationValidator::ValidateInstallAppCommand(
244 const ProductContext& ctx,
245 const AppCommand& app_cmd,
246 bool* is_valid) {
247 ValidateInstallCommand(ctx, app_cmd, kCmdInstallApp,
248 installer::kChromeAppHostExe,
249 ::switches::kInstallFromWebstore, is_valid);
250 }
251
252 // Validates the "install-extension" Google Update product command.
253 void InstallationValidator::ValidateInstallExtensionCommand(
254 const ProductContext& ctx,
255 const AppCommand& app_cmd,
256 bool* is_valid) {
257 ValidateInstallCommand(ctx, app_cmd, kCmdInstallExtension,
258 installer::kChromeExe,
259 ::switches::kLimitedInstallFromWebstore, is_valid);
260 }
261
262 // Validates the "on-os-upgrade" Google Update internal command. 204 // Validates the "on-os-upgrade" Google Update internal command.
263 void InstallationValidator::ValidateOnOsUpgradeCommand( 205 void InstallationValidator::ValidateOnOsUpgradeCommand(
264 const ProductContext& ctx, 206 const ProductContext& ctx,
265 const AppCommand& app_cmd, 207 const AppCommand& app_cmd,
266 bool* is_valid) { 208 bool* is_valid) {
267 DCHECK(is_valid); 209 DCHECK(is_valid);
268 210
269 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line())); 211 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
270 base::string16 name(kCmdOnOsUpgrade); 212 base::string16 name(kCmdOnOsUpgrade);
271 213
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 } 621 }
680 622
681 // Validates the Google Update commands for the product described in |ctx|. 623 // Validates the Google Update commands for the product described in |ctx|.
682 void InstallationValidator::ValidateAppCommands( 624 void InstallationValidator::ValidateAppCommands(
683 const ProductContext& ctx, 625 const ProductContext& ctx,
684 bool* is_valid) { 626 bool* is_valid) {
685 DCHECK(is_valid); 627 DCHECK(is_valid);
686 628
687 CommandExpectations expectations; 629 CommandExpectations expectations;
688 630
689 if (ctx.dist->GetType() == BrowserDistribution::CHROME_APP_HOST) { 631 if (ctx.dist->GetType() == BrowserDistribution::CHROME_BROWSER)
690 expectations[kCmdInstallApp] = &ValidateInstallAppCommand;
691 }
692 if (ctx.dist->GetType() == BrowserDistribution::CHROME_BROWSER) {
693 expectations[kCmdInstallExtension] = &ValidateInstallExtensionCommand;
694 expectations[kCmdOnOsUpgrade] = &ValidateOnOsUpgradeCommand; 632 expectations[kCmdOnOsUpgrade] = &ValidateOnOsUpgradeCommand;
695 }
696 633
697 ValidateAppCommandExpectations(ctx, expectations, is_valid); 634 ValidateAppCommandExpectations(ctx, expectations, is_valid);
698 } 635 }
699 636
700 // Validates usagestats for the product or binaries in |ctx|. 637 // Validates usagestats for the product or binaries in |ctx|.
701 void InstallationValidator::ValidateUsageStats(const ProductContext& ctx, 638 void InstallationValidator::ValidateUsageStats(const ProductContext& ctx,
702 bool* is_valid) { 639 bool* is_valid) {
703 DWORD usagestats = 0; 640 DWORD usagestats = 0;
704 if (ctx.state.GetUsageStats(&usagestats)) { 641 if (ctx.state.GetUsageStats(&usagestats)) {
705 if (!ctx.rules.UsageStatsAllowed(ctx)) { 642 if (!ctx.rules.UsageStatsAllowed(ctx)) {
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 InstallationType* type) { 752 InstallationType* type) {
816 DCHECK(type); 753 DCHECK(type);
817 InstallationState machine_state; 754 InstallationState machine_state;
818 755
819 machine_state.Initialize(); 756 machine_state.Initialize();
820 757
821 return ValidateInstallationTypeForState(machine_state, system_level, type); 758 return ValidateInstallationTypeForState(machine_state, system_level, type);
822 } 759 }
823 760
824 } // namespace installer 761 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698