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

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

Issue 10914109: Refactoring and tests for the highly undertested file_util::CreateOrUpdateShortcutLink() method. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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
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 <shlobj.h> 7 #include <shlobj.h>
8 #include <time.h> 8 #include <time.h>
9 #include <winuser.h> 9 #include <winuser.h>
10 10
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 // Add/Remove Programs dialog. 320 // Add/Remove Programs dialog.
321 // TODO(robertshield): We could add a shortcut to msiexec /X {GUID} here. 321 // TODO(robertshield): We could add a shortcut to msiexec /X {GUID} here.
322 if (!installer_state.is_msi()) { 322 if (!installer_state.is_msi()) {
323 // Uninstall Chrome link 323 // Uninstall Chrome link
324 FilePath uninstall_link(start_menu_folder_path.Append( 324 FilePath uninstall_link(start_menu_folder_path.Append(
325 browser_dist->GetUninstallLinkName() + L".lnk")); 325 browser_dist->GetUninstallLinkName() + L".lnk"));
326 326
327 CommandLine arguments(CommandLine::NO_PROGRAM); 327 CommandLine arguments(CommandLine::NO_PROGRAM);
328 AppendUninstallCommandLineFlags(installer_state, product, &arguments); 328 AppendUninstallCommandLineFlags(installer_state, product, &arguments);
329 VLOG(1) << operation << " uninstall link at " << uninstall_link.value(); 329 VLOG(1) << operation << " uninstall link at " << uninstall_link.value();
330 if (!file_util::CreateOrUpdateShortcutLink(setup_exe.value().c_str(), 330 file_util::ShortcutProperties shortcut_properties;
331 uninstall_link.value().c_str(), NULL, 331 shortcut_properties.set_target(setup_exe.value());
332 arguments.GetCommandLineString().c_str(), NULL, 332 shortcut_properties.set_arguments(arguments.GetCommandLineString());
333 setup_exe.value().c_str(), 0, NULL, 333 shortcut_properties.set_icon(setup_exe.value(), 0);
334 if (!file_util::CreateOrUpdateShortcutLink(
335 uninstall_link.value().c_str(), shortcut_properties,
334 create_always ? file_util::SHORTCUT_CREATE_ALWAYS : 336 create_always ? file_util::SHORTCUT_CREATE_ALWAYS :
335 file_util::SHORTCUT_NO_OPTIONS)) { 337 file_util::SHORTCUT_UPDATE_EXISTING)) {
336 LOG(WARNING) << operation << " uninstall link at " 338 LOG(WARNING) << operation << " uninstall link at "
337 << uninstall_link.value() << " failed."; 339 << uninstall_link.value() << " failed.";
338 } 340 }
339 } 341 }
340 } 342 }
341 343
342 void CreateOrUpdateDesktopAndQuickLaunchShortcuts( 344 void CreateOrUpdateDesktopAndQuickLaunchShortcuts(
343 const InstallerState& installer_state, 345 const InstallerState& installer_state,
344 const Product& product, 346 const Product& product,
345 uint32 options) { 347 uint32 options) {
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 uint32 shortcut_options = ShellUtil::SHORTCUT_DUAL_MODE; 565 uint32 shortcut_options = ShellUtil::SHORTCUT_DUAL_MODE;
564 CreateOrUpdateDesktopAndQuickLaunchShortcuts( 566 CreateOrUpdateDesktopAndQuickLaunchShortcuts(
565 installer_state, chrome, shortcut_options); 567 installer_state, chrome, shortcut_options);
566 CreateOrUpdateStartMenuAndTaskbarShortcuts( 568 CreateOrUpdateStartMenuAndTaskbarShortcuts(
567 installer_state, setup_exe, chrome, shortcut_options); 569 installer_state, setup_exe, chrome, shortcut_options);
568 RegisterChromeOnMachine(installer_state, chrome, false); 570 RegisterChromeOnMachine(installer_state, chrome, false);
569 } 571 }
570 } 572 }
571 573
572 } // namespace installer 574 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698