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

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

Issue 94013004: Add base:: to string16s in chrome/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: try again Created 7 years 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
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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 CHROME_APP_HOST_CHROME_FRAME_SINGLE, 162 CHROME_APP_HOST_CHROME_FRAME_SINGLE,
163 CHROME_APP_HOST_CHROME_FRAME_SINGLE_CHROME_MULTI, 163 CHROME_APP_HOST_CHROME_FRAME_SINGLE_CHROME_MULTI,
164 CHROME_APP_HOST_CHROME_FRAME_MULTI, 164 CHROME_APP_HOST_CHROME_FRAME_MULTI,
165 CHROME_APP_HOST_CHROME_FRAME_MULTI_CHROME_MULTI, 165 CHROME_APP_HOST_CHROME_FRAME_MULTI_CHROME_MULTI,
166 CHROME_APP_HOST_CHROME_MULTI, 166 CHROME_APP_HOST_CHROME_MULTI,
167 }; 167 };
168 168
169 void InstallationValidator::ValidateAppCommandFlags( 169 void InstallationValidator::ValidateAppCommandFlags(
170 const ProductContext& ctx, 170 const ProductContext& ctx,
171 const AppCommand& app_cmd, 171 const AppCommand& app_cmd,
172 const std::set<string16>& flags_exp, 172 const std::set<base::string16>& flags_exp,
173 const string16& name, 173 const base::string16& name,
174 bool* is_valid) { 174 bool* is_valid) {
175 const struct { 175 const struct {
176 const string16 exp_key; 176 const base::string16 exp_key;
177 bool val; 177 bool val;
178 const char* msg; 178 const char* msg;
179 } check_list[] = { 179 } check_list[] = {
180 {google_update::kRegSendsPingsField, 180 {google_update::kRegSendsPingsField,
181 app_cmd.sends_pings(), 181 app_cmd.sends_pings(),
182 "be configured to send pings"}, 182 "be configured to send pings"},
183 {google_update::kRegWebAccessibleField, 183 {google_update::kRegWebAccessibleField,
184 app_cmd.is_web_accessible(), 184 app_cmd.is_web_accessible(),
185 "be web accessible"}, 185 "be web accessible"},
186 {google_update::kRegAutoRunOnOSUpgradeField, 186 {google_update::kRegAutoRunOnOSUpgradeField,
(...skipping 19 matching lines...) Expand all
206 void InstallationValidator::ValidateInstallCommand( 206 void InstallationValidator::ValidateInstallCommand(
207 const ProductContext& ctx, 207 const ProductContext& ctx,
208 const AppCommand& app_cmd, 208 const AppCommand& app_cmd,
209 const wchar_t* expected_command, 209 const wchar_t* expected_command,
210 const wchar_t* expected_app_name, 210 const wchar_t* expected_app_name,
211 const char* expected_switch, 211 const char* expected_switch,
212 bool* is_valid) { 212 bool* is_valid) {
213 DCHECK(is_valid); 213 DCHECK(is_valid);
214 214
215 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line())); 215 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
216 string16 name(expected_command); 216 base::string16 name(expected_command);
217 217
218 base::FilePath expected_path( 218 base::FilePath expected_path(
219 installer::GetChromeInstallPath(ctx.system_install, ctx.dist) 219 installer::GetChromeInstallPath(ctx.system_install, ctx.dist)
220 .Append(expected_app_name)); 220 .Append(expected_app_name));
221 221
222 if (!base::FilePath::CompareEqualIgnoreCase(expected_path.value(), 222 if (!base::FilePath::CompareEqualIgnoreCase(expected_path.value(),
223 cmd_line.GetProgram().value())) { 223 cmd_line.GetProgram().value())) {
224 *is_valid = false; 224 *is_valid = false;
225 LOG(ERROR) << name << "'s path is not " 225 LOG(ERROR) << name << "'s path is not "
226 << expected_path.value() << ": " 226 << expected_path.value() << ": "
227 << cmd_line.GetProgram().value(); 227 << cmd_line.GetProgram().value();
228 } 228 }
229 229
230 SwitchExpectations expected; 230 SwitchExpectations expected;
231 expected.push_back(std::make_pair(std::string(expected_switch), true)); 231 expected.push_back(std::make_pair(std::string(expected_switch), true));
232 232
233 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid); 233 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
234 234
235 std::set<string16> flags_exp; 235 std::set<base::string16> flags_exp;
236 flags_exp.insert(google_update::kRegSendsPingsField); 236 flags_exp.insert(google_update::kRegSendsPingsField);
237 flags_exp.insert(google_update::kRegWebAccessibleField); 237 flags_exp.insert(google_update::kRegWebAccessibleField);
238 flags_exp.insert(google_update::kRegRunAsUserField); 238 flags_exp.insert(google_update::kRegRunAsUserField);
239 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid); 239 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid);
240 } 240 }
241 241
242 // Validates the "install-application" Google Update product command. 242 // Validates the "install-application" Google Update product command.
243 void InstallationValidator::ValidateInstallAppCommand( 243 void InstallationValidator::ValidateInstallAppCommand(
244 const ProductContext& ctx, 244 const ProductContext& ctx,
245 const AppCommand& app_cmd, 245 const AppCommand& app_cmd,
(...skipping 14 matching lines...) Expand all
260 } 260 }
261 261
262 // Validates the "on-os-upgrade" Google Update internal command. 262 // Validates the "on-os-upgrade" Google Update internal command.
263 void InstallationValidator::ValidateOnOsUpgradeCommand( 263 void InstallationValidator::ValidateOnOsUpgradeCommand(
264 const ProductContext& ctx, 264 const ProductContext& ctx,
265 const AppCommand& app_cmd, 265 const AppCommand& app_cmd,
266 bool* is_valid) { 266 bool* is_valid) {
267 DCHECK(is_valid); 267 DCHECK(is_valid);
268 268
269 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line())); 269 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
270 string16 name(kCmdOnOsUpgrade); 270 base::string16 name(kCmdOnOsUpgrade);
271 271
272 ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid); 272 ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid);
273 273
274 SwitchExpectations expected; 274 SwitchExpectations expected;
275 expected.push_back(std::make_pair(std::string(switches::kOnOsUpgrade), true)); 275 expected.push_back(std::make_pair(std::string(switches::kOnOsUpgrade), true));
276 expected.push_back(std::make_pair(std::string(switches::kSystemLevel), 276 expected.push_back(std::make_pair(std::string(switches::kSystemLevel),
277 ctx.system_install)); 277 ctx.system_install));
278 expected.push_back(std::make_pair(std::string(switches::kMultiInstall), 278 expected.push_back(std::make_pair(std::string(switches::kMultiInstall),
279 ctx.state.is_multi_install())); 279 ctx.state.is_multi_install()));
280 // Expecting kChrome if and only if kMultiInstall. 280 // Expecting kChrome if and only if kMultiInstall.
281 expected.push_back(std::make_pair(std::string(switches::kChrome), 281 expected.push_back(std::make_pair(std::string(switches::kChrome),
282 ctx.state.is_multi_install())); 282 ctx.state.is_multi_install()));
283 283
284 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid); 284 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
285 285
286 std::set<string16> flags_exp; 286 std::set<base::string16> flags_exp;
287 flags_exp.insert(google_update::kRegAutoRunOnOSUpgradeField); 287 flags_exp.insert(google_update::kRegAutoRunOnOSUpgradeField);
288 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid); 288 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid);
289 } 289 }
290 290
291 // Validates the "query-eula-acceptance" Google Update product command. 291 // Validates the "query-eula-acceptance" Google Update product command.
292 void InstallationValidator::ValidateQueryEULAAcceptanceCommand( 292 void InstallationValidator::ValidateQueryEULAAcceptanceCommand(
293 const ProductContext& ctx, 293 const ProductContext& ctx,
294 const AppCommand& app_cmd, 294 const AppCommand& app_cmd,
295 bool* is_valid) { 295 bool* is_valid) {
296 DCHECK(is_valid); 296 DCHECK(is_valid);
297 297
298 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line())); 298 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
299 string16 name(kCmdQueryEULAAcceptance); 299 base::string16 name(kCmdQueryEULAAcceptance);
300 300
301 ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid); 301 ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid);
302 302
303 SwitchExpectations expected; 303 SwitchExpectations expected;
304 expected.push_back(std::make_pair(std::string(switches::kQueryEULAAcceptance), 304 expected.push_back(std::make_pair(std::string(switches::kQueryEULAAcceptance),
305 true)); 305 true));
306 expected.push_back(std::make_pair(std::string(switches::kSystemLevel), 306 expected.push_back(std::make_pair(std::string(switches::kSystemLevel),
307 ctx.system_install)); 307 ctx.system_install));
308 308
309 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid); 309 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
310 310
311 std::set<string16> flags_exp; 311 std::set<base::string16> flags_exp;
312 flags_exp.insert(google_update::kRegWebAccessibleField); 312 flags_exp.insert(google_update::kRegWebAccessibleField);
313 flags_exp.insert(google_update::kRegRunAsUserField); 313 flags_exp.insert(google_update::kRegRunAsUserField);
314 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid); 314 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid);
315 } 315 }
316 316
317 // Validates the "quick-enable-application-host" Google Update product command. 317 // Validates the "quick-enable-application-host" Google Update product command.
318 void InstallationValidator::ValidateQuickEnableApplicationHostCommand( 318 void InstallationValidator::ValidateQuickEnableApplicationHostCommand(
319 const ProductContext& ctx, 319 const ProductContext& ctx,
320 const AppCommand& app_cmd, 320 const AppCommand& app_cmd,
321 bool* is_valid) { 321 bool* is_valid) {
322 DCHECK(is_valid); 322 DCHECK(is_valid);
323 323
324 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line())); 324 CommandLine cmd_line(CommandLine::FromString(app_cmd.command_line()));
325 string16 name(kCmdQuickEnableApplicationHost); 325 base::string16 name(kCmdQuickEnableApplicationHost);
326 326
327 ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid); 327 ValidateSetupPath(ctx, cmd_line.GetProgram(), name, is_valid);
328 328
329 SwitchExpectations expected; 329 SwitchExpectations expected;
330 330
331 expected.push_back(std::make_pair( 331 expected.push_back(std::make_pair(
332 std::string(switches::kChromeAppLauncher), true)); 332 std::string(switches::kChromeAppLauncher), true));
333 expected.push_back(std::make_pair( 333 expected.push_back(std::make_pair(
334 std::string(switches::kSystemLevel), false)); 334 std::string(switches::kSystemLevel), false));
335 expected.push_back(std::make_pair( 335 expected.push_back(std::make_pair(
336 std::string(switches::kMultiInstall), true)); 336 std::string(switches::kMultiInstall), true));
337 expected.push_back(std::make_pair( 337 expected.push_back(std::make_pair(
338 std::string(switches::kEnsureGoogleUpdatePresent), true)); 338 std::string(switches::kEnsureGoogleUpdatePresent), true));
339 339
340 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid); 340 ValidateCommandExpectations(ctx, cmd_line, expected, name, is_valid);
341 341
342 std::set<string16> flags_exp; 342 std::set<base::string16> flags_exp;
343 flags_exp.insert(google_update::kRegSendsPingsField); 343 flags_exp.insert(google_update::kRegSendsPingsField);
344 flags_exp.insert(google_update::kRegWebAccessibleField); 344 flags_exp.insert(google_update::kRegWebAccessibleField);
345 flags_exp.insert(google_update::kRegRunAsUserField); 345 flags_exp.insert(google_update::kRegRunAsUserField);
346 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid); 346 ValidateAppCommandFlags(ctx, app_cmd, flags_exp, name, is_valid);
347 } 347 }
348 348
349 // Validates a product's set of Google Update product commands against a 349 // Validates a product's set of Google Update product commands against a
350 // collection of expectations. 350 // collection of expectations.
351 void InstallationValidator::ValidateAppCommandExpectations( 351 void InstallationValidator::ValidateAppCommandExpectations(
352 const ProductContext& ctx, 352 const ProductContext& ctx,
353 const CommandExpectations& expectations, 353 const CommandExpectations& expectations,
354 bool* is_valid) { 354 bool* is_valid) {
355 DCHECK(is_valid); 355 DCHECK(is_valid);
356 356
357 CommandExpectations the_expectations(expectations); 357 CommandExpectations the_expectations(expectations);
358 358
359 AppCommands::CommandMapRange cmd_iterators( 359 AppCommands::CommandMapRange cmd_iterators(
360 ctx.state.commands().GetIterators()); 360 ctx.state.commands().GetIterators());
361 CommandExpectations::iterator expectation; 361 CommandExpectations::iterator expectation;
362 for (; cmd_iterators.first != cmd_iterators.second; ++cmd_iterators.first) { 362 for (; cmd_iterators.first != cmd_iterators.second; ++cmd_iterators.first) {
363 const string16& cmd_id = cmd_iterators.first->first; 363 const base::string16& cmd_id = cmd_iterators.first->first;
364 // Do we have an expectation for this command? 364 // Do we have an expectation for this command?
365 expectation = the_expectations.find(cmd_id); 365 expectation = the_expectations.find(cmd_id);
366 if (expectation != the_expectations.end()) { 366 if (expectation != the_expectations.end()) {
367 (expectation->second)(ctx, cmd_iterators.first->second, is_valid); 367 (expectation->second)(ctx, cmd_iterators.first->second, is_valid);
368 // Remove this command from the set of expectations since we found it. 368 // Remove this command from the set of expectations since we found it.
369 the_expectations.erase(expectation); 369 the_expectations.erase(expectation);
370 } else { 370 } else {
371 *is_valid = false; 371 *is_valid = false;
372 LOG(ERROR) << ctx.dist->GetDisplayName() 372 LOG(ERROR) << ctx.dist->GetDisplayName()
373 << " has an unexpected Google Update product command named \"" 373 << " has an unexpected Google Update product command named \""
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 binaries_rules); 499 binaries_rules);
500 500
501 ValidateBinariesCommands(ctx, is_valid); 501 ValidateBinariesCommands(ctx, is_valid);
502 502
503 ValidateUsageStats(ctx, is_valid); 503 ValidateUsageStats(ctx, is_valid);
504 } 504 }
505 505
506 // Validates the path to |setup_exe| for the product described by |ctx|. 506 // Validates the path to |setup_exe| for the product described by |ctx|.
507 void InstallationValidator::ValidateSetupPath(const ProductContext& ctx, 507 void InstallationValidator::ValidateSetupPath(const ProductContext& ctx,
508 const base::FilePath& setup_exe, 508 const base::FilePath& setup_exe,
509 const string16& purpose, 509 const base::string16& purpose,
510 bool* is_valid) { 510 bool* is_valid) {
511 DCHECK(is_valid); 511 DCHECK(is_valid);
512 512
513 BrowserDistribution* bins_dist = ctx.dist; 513 BrowserDistribution* bins_dist = ctx.dist;
514 if (ctx.state.is_multi_install()) { 514 if (ctx.state.is_multi_install()) {
515 bins_dist = BrowserDistribution::GetSpecificDistribution( 515 bins_dist = BrowserDistribution::GetSpecificDistribution(
516 BrowserDistribution::CHROME_BINARIES); 516 BrowserDistribution::CHROME_BINARIES);
517 } 517 }
518 518
519 base::FilePath expected_path = installer::GetChromeInstallPath( 519 base::FilePath expected_path = installer::GetChromeInstallPath(
520 ctx.system_install, bins_dist); 520 ctx.system_install, bins_dist);
521 expected_path = expected_path 521 expected_path = expected_path
522 .AppendASCII(ctx.state.version().GetString()) 522 .AppendASCII(ctx.state.version().GetString())
523 .Append(installer::kInstallerDir) 523 .Append(installer::kInstallerDir)
524 .Append(installer::kSetupExe); 524 .Append(installer::kSetupExe);
525 if (!base::FilePath::CompareEqualIgnoreCase(expected_path.value(), 525 if (!base::FilePath::CompareEqualIgnoreCase(expected_path.value(),
526 setup_exe.value())) { 526 setup_exe.value())) {
527 *is_valid = false; 527 *is_valid = false;
528 LOG(ERROR) << ctx.dist->GetDisplayName() << " path to " << purpose 528 LOG(ERROR) << ctx.dist->GetDisplayName() << " path to " << purpose
529 << " is not " << expected_path.value() << ": " 529 << " is not " << expected_path.value() << ": "
530 << setup_exe.value(); 530 << setup_exe.value();
531 } 531 }
532 } 532 }
533 533
534 // Validates that |command| meets the expectations described in |expected|. 534 // Validates that |command| meets the expectations described in |expected|.
535 void InstallationValidator::ValidateCommandExpectations( 535 void InstallationValidator::ValidateCommandExpectations(
536 const ProductContext& ctx, 536 const ProductContext& ctx,
537 const CommandLine& command, 537 const CommandLine& command,
538 const SwitchExpectations& expected, 538 const SwitchExpectations& expected,
539 const string16& source, 539 const base::string16& source,
540 bool* is_valid) { 540 bool* is_valid) {
541 for (SwitchExpectations::size_type i = 0, size = expected.size(); i < size; 541 for (SwitchExpectations::size_type i = 0, size = expected.size(); i < size;
542 ++i) { 542 ++i) {
543 const SwitchExpectations::value_type& expectation = expected[i]; 543 const SwitchExpectations::value_type& expectation = expected[i];
544 if (command.HasSwitch(expectation.first) != expectation.second) { 544 if (command.HasSwitch(expectation.first) != expectation.second) {
545 *is_valid = false; 545 *is_valid = false;
546 LOG(ERROR) << ctx.dist->GetDisplayName() << " " << source 546 LOG(ERROR) << ctx.dist->GetDisplayName() << " " << source
547 << (expectation.second ? " is missing" : " has") << " \"" 547 << (expectation.second ? " is missing" : " has") << " \""
548 << expectation.first << "\"" 548 << expectation.first << "\""
549 << (expectation.second ? "" : " but shouldn't") << ": " 549 << (expectation.second ? "" : " but shouldn't") << ": "
550 << command.GetCommandLineString(); 550 << command.GetCommandLineString();
551 } 551 }
552 } 552 }
553 } 553 }
554 554
555 // Validates that |command|, originating from |source|, is formed properly for 555 // Validates that |command|, originating from |source|, is formed properly for
556 // the product described by |ctx| 556 // the product described by |ctx|
557 void InstallationValidator::ValidateUninstallCommand(const ProductContext& ctx, 557 void InstallationValidator::ValidateUninstallCommand(
558 const CommandLine& command, 558 const ProductContext& ctx,
559 const string16& source, 559 const CommandLine& command,
560 bool* is_valid) { 560 const base::string16& source,
561 bool* is_valid) {
561 DCHECK(is_valid); 562 DCHECK(is_valid);
562 563
563 ValidateSetupPath(ctx, command.GetProgram(), ASCIIToUTF16("uninstaller"), 564 ValidateSetupPath(ctx, command.GetProgram(), ASCIIToUTF16("uninstaller"),
564 is_valid); 565 is_valid);
565 566
566 const bool is_multi_install = ctx.state.is_multi_install(); 567 const bool is_multi_install = ctx.state.is_multi_install();
567 SwitchExpectations expected; 568 SwitchExpectations expected;
568 569
569 expected.push_back(std::make_pair(std::string(switches::kUninstall), true)); 570 expected.push_back(std::make_pair(std::string(switches::kUninstall), true));
570 expected.push_back(std::make_pair(std::string(switches::kSystemLevel), 571 expected.push_back(std::make_pair(std::string(switches::kSystemLevel),
571 ctx.system_install)); 572 ctx.system_install));
572 expected.push_back(std::make_pair(std::string(switches::kMultiInstall), 573 expected.push_back(std::make_pair(std::string(switches::kMultiInstall),
573 is_multi_install)); 574 is_multi_install));
574 ctx.rules.AddUninstallSwitchExpectations(ctx, &expected); 575 ctx.rules.AddUninstallSwitchExpectations(ctx, &expected);
575 576
576 ValidateCommandExpectations(ctx, command, expected, source, is_valid); 577 ValidateCommandExpectations(ctx, command, expected, source, is_valid);
577 } 578 }
578 579
579 // Validates the rename command for the product described by |ctx|. 580 // Validates the rename command for the product described by |ctx|.
580 void InstallationValidator::ValidateRenameCommand(const ProductContext& ctx, 581 void InstallationValidator::ValidateRenameCommand(const ProductContext& ctx,
581 bool* is_valid) { 582 bool* is_valid) {
582 DCHECK(is_valid); 583 DCHECK(is_valid);
583 DCHECK(!ctx.state.rename_cmd().empty()); 584 DCHECK(!ctx.state.rename_cmd().empty());
584 585
585 CommandLine command = CommandLine::FromString(ctx.state.rename_cmd()); 586 CommandLine command = CommandLine::FromString(ctx.state.rename_cmd());
586 string16 name(ASCIIToUTF16("in-use renamer")); 587 base::string16 name(ASCIIToUTF16("in-use renamer"));
587 588
588 ValidateSetupPath(ctx, command.GetProgram(), name, is_valid); 589 ValidateSetupPath(ctx, command.GetProgram(), name, is_valid);
589 590
590 SwitchExpectations expected; 591 SwitchExpectations expected;
591 592
592 expected.push_back(std::make_pair(std::string(switches::kRenameChromeExe), 593 expected.push_back(std::make_pair(std::string(switches::kRenameChromeExe),
593 true)); 594 true));
594 expected.push_back(std::make_pair(std::string(switches::kSystemLevel), 595 expected.push_back(std::make_pair(std::string(switches::kSystemLevel),
595 ctx.system_install)); 596 ctx.system_install));
596 expected.push_back(std::make_pair(std::string(switches::kMultiInstall), 597 expected.push_back(std::make_pair(std::string(switches::kMultiInstall),
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 InstallationType* type) { 813 InstallationType* type) {
813 DCHECK(type); 814 DCHECK(type);
814 InstallationState machine_state; 815 InstallationState machine_state;
815 816
816 machine_state.Initialize(); 817 machine_state.Initialize();
817 818
818 return ValidateInstallationTypeForState(machine_state, system_level, type); 819 return ValidateInstallationTypeForState(machine_state, system_level, type);
819 } 820 }
820 821
821 } // namespace installer 822 } // namespace installer
OLDNEW
« no previous file with comments | « chrome/installer/util/installation_validator.h ('k') | chrome/installer/util/installer_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698