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

Side by Side Diff: chrome/installer/setup/install.cc

Issue 12825006: Merge 186681 "Added master_preferences to control shortcuts on w..." (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1410/src/
Patch Set: Created 7 years, 9 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 | chrome/installer/util/master_preferences_constants.h » ('j') | 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 #include "chrome/installer/setup/install.h" 5 #include "chrome/installer/setup/install.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shlobj.h> 8 #include <shlobj.h>
9 #include <time.h> 9 #include <time.h>
10 #include <winuser.h> 10 #include <winuser.h>
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 } 375 }
376 } 376 }
377 } 377 }
378 378
379 void CreateOrUpdateShortcuts( 379 void CreateOrUpdateShortcuts(
380 const base::FilePath& target, 380 const base::FilePath& target,
381 const Product& product, 381 const Product& product,
382 const MasterPreferences& prefs, 382 const MasterPreferences& prefs,
383 InstallShortcutLevel install_level, 383 InstallShortcutLevel install_level,
384 InstallShortcutOperation install_operation) { 384 InstallShortcutOperation install_operation) {
385 bool do_not_create_any_shortcuts = false;
386 prefs.GetBool(master_preferences::kDoNotCreateAnyShortcuts,
387 &do_not_create_any_shortcuts);
388 if (do_not_create_any_shortcuts)
389 return;
390
385 // Extract shortcut preferences from |prefs|. 391 // Extract shortcut preferences from |prefs|.
386 bool do_not_create_desktop_shortcut = false; 392 bool do_not_create_desktop_shortcut = false;
387 bool do_not_create_quick_launch_shortcut = false; 393 bool do_not_create_quick_launch_shortcut = false;
394 bool do_not_create_taskbar_shortcut = false;
388 bool alternate_desktop_shortcut = false; 395 bool alternate_desktop_shortcut = false;
389 prefs.GetBool(master_preferences::kDoNotCreateDesktopShortcut, 396 prefs.GetBool(master_preferences::kDoNotCreateDesktopShortcut,
390 &do_not_create_desktop_shortcut); 397 &do_not_create_desktop_shortcut);
391 prefs.GetBool(master_preferences::kDoNotCreateQuickLaunchShortcut, 398 prefs.GetBool(master_preferences::kDoNotCreateQuickLaunchShortcut,
392 &do_not_create_quick_launch_shortcut); 399 &do_not_create_quick_launch_shortcut);
400 prefs.GetBool(master_preferences::kDoNotCreateTaskbarShortcut,
401 &do_not_create_taskbar_shortcut);
393 prefs.GetBool(master_preferences::kAltShortcutText, 402 prefs.GetBool(master_preferences::kAltShortcutText,
394 &alternate_desktop_shortcut); 403 &alternate_desktop_shortcut);
395 404
396 BrowserDistribution* dist = product.distribution(); 405 BrowserDistribution* dist = product.distribution();
397 406
398 // The default operation on update is to overwrite shortcuts with the 407 // The default operation on update is to overwrite shortcuts with the
399 // currently desired properties, but do so only for shortcuts that still 408 // currently desired properties, but do so only for shortcuts that still
400 // exist. 409 // exist.
401 ShellUtil::ShortcutOperation shortcut_operation; 410 ShellUtil::ShortcutOperation shortcut_operation;
402 switch (install_operation) { 411 switch (install_operation) {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 ExecuteAndLogShortcutOperation( 459 ExecuteAndLogShortcutOperation(
451 ShellUtil::SHORTCUT_LOCATION_QUICK_LAUNCH, dist, 460 ShellUtil::SHORTCUT_LOCATION_QUICK_LAUNCH, dist,
452 quick_launch_properties, shortcut_operation); 461 quick_launch_properties, shortcut_operation);
453 } 462 }
454 463
455 ShellUtil::ShortcutProperties start_menu_properties(base_properties); 464 ShellUtil::ShortcutProperties start_menu_properties(base_properties);
456 // IMPORTANT: Only the default (no arguments and default browserappid) browser 465 // IMPORTANT: Only the default (no arguments and default browserappid) browser
457 // shortcut in the Start menu (Start screen on Win8+) should be made dual 466 // shortcut in the Start menu (Start screen on Win8+) should be made dual
458 // mode. 467 // mode.
459 start_menu_properties.set_dual_mode(true); 468 start_menu_properties.set_dual_mode(true);
460 if (shortcut_operation == ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS || 469 if (!do_not_create_taskbar_shortcut &&
461 shortcut_operation == 470 (shortcut_operation == ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS ||
462 ShellUtil::SHELL_SHORTCUT_CREATE_IF_NO_SYSTEM_LEVEL) { 471 shortcut_operation ==
472 ShellUtil::SHELL_SHORTCUT_CREATE_IF_NO_SYSTEM_LEVEL)) {
463 start_menu_properties.set_pin_to_taskbar(true); 473 start_menu_properties.set_pin_to_taskbar(true);
464 } 474 }
465 ExecuteAndLogShortcutOperation(ShellUtil::SHORTCUT_LOCATION_START_MENU, 475 ExecuteAndLogShortcutOperation(ShellUtil::SHORTCUT_LOCATION_START_MENU,
466 dist, start_menu_properties, 476 dist, start_menu_properties,
467 shortcut_operation); 477 shortcut_operation);
468 } 478 }
469 479
470 void RegisterChromeOnMachine(const InstallerState& installer_state, 480 void RegisterChromeOnMachine(const InstallerState& installer_state,
471 const Product& product, 481 const Product& product,
472 bool make_chrome_default) { 482 bool make_chrome_default) {
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 if (app_host_path.empty()) 714 if (app_host_path.empty())
705 return false; 715 return false;
706 716
707 CommandLine cmd(app_host_path); 717 CommandLine cmd(app_host_path);
708 cmd.AppendSwitchASCII(::switches::kInstallFromWebstore, app_code); 718 cmd.AppendSwitchASCII(::switches::kInstallFromWebstore, app_code);
709 VLOG(1) << "App install command: " << cmd.GetCommandLineString(); 719 VLOG(1) << "App install command: " << cmd.GetCommandLineString();
710 return base::LaunchProcess(cmd, base::LaunchOptions(), NULL); 720 return base::LaunchProcess(cmd, base::LaunchOptions(), NULL);
711 } 721 }
712 722
713 } // namespace installer 723 } // namespace installer
OLDNEW
« no previous file with comments | « no previous file | chrome/installer/util/master_preferences_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698