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

Side by Side Diff: chrome/browser/first_run/first_run_win.cc

Issue 10836247: Refactor ShellUtil shortcut code -- single multi-purpose methods as opposed to many slighlty diffe… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix some comments Created 8 years, 4 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/browser/first_run/first_run.h" 5 #include "chrome/browser/first_run/first_run.h"
6 6
7 #include <shlobj.h> 7 #include <shlobj.h>
8 #include <windows.h> 8 #include <windows.h>
9 9
10 #include "base/environment.h" 10 #include "base/environment.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 101
102 // Creates the desktop shortcut to chrome for the current user. Returns 102 // Creates the desktop shortcut to chrome for the current user. Returns
103 // false if it fails. It will overwrite the shortcut if it exists. 103 // false if it fails. It will overwrite the shortcut if it exists.
104 bool CreateChromeDesktopShortcut() { 104 bool CreateChromeDesktopShortcut() {
105 FilePath chrome_exe; 105 FilePath chrome_exe;
106 if (!PathService::Get(base::FILE_EXE, &chrome_exe)) 106 if (!PathService::Get(base::FILE_EXE, &chrome_exe))
107 return false; 107 return false;
108 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); 108 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
109 if (!dist || !dist->CanCreateDesktopShortcuts()) 109 if (!dist || !dist->CanCreateDesktopShortcuts())
110 return false; 110 return false;
111 return ShellUtil::CreateChromeDesktopShortcut( 111 return ShellUtil::CreateOrUpdateChromeShortcut(
112 ShellUtil::SHORTCUT_DESKTOP,
112 dist, 113 dist,
113 chrome_exe.value(), 114 chrome_exe.value(),
114 dist->GetAppDescription(), 115 dist->GetAppDescription(),
115 L"", 116 string16(),
116 L"", 117 string16(),
117 chrome_exe.value(), 118 chrome_exe.value(),
118 dist->GetIconIndex(), 119 dist->GetIconIndex(),
119 ShellUtil::CURRENT_USER,
120 ShellUtil::SHORTCUT_CREATE_ALWAYS); 120 ShellUtil::SHORTCUT_CREATE_ALWAYS);
121 } 121 }
122 122
123 // Creates the quick launch shortcut to chrome for the current user. Returns 123 // Creates the quick launch shortcut to chrome for the current user. Returns
124 // false if it fails. It will overwrite the shortcut if it exists. 124 // false if it fails. It will overwrite the shortcut if it exists.
125 bool CreateChromeQuickLaunchShortcut() { 125 bool CreateChromeQuickLaunchShortcut() {
126 FilePath chrome_exe; 126 FilePath chrome_exe;
127 if (!PathService::Get(base::FILE_EXE, &chrome_exe)) 127 if (!PathService::Get(base::FILE_EXE, &chrome_exe))
128 return false; 128 return false;
129 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); 129 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
130 return ShellUtil::CreateChromeQuickLaunchShortcut( 130 return ShellUtil::CreateOrUpdateChromeShortcut(
131 ShellUtil::SHORTCUT_QUICK_LAUNCH,
131 dist, 132 dist,
132 chrome_exe.value(), 133 chrome_exe.value(),
133 ShellUtil::CURRENT_USER, // create only for current user. 134 dist->GetAppDescription(),
135 string16(),
136 string16(),
137 chrome_exe.value(),
138 dist->GetIconIndex(),
134 ShellUtil::SHORTCUT_CREATE_ALWAYS); 139 ShellUtil::SHORTCUT_CREATE_ALWAYS);
135 } 140 }
136 141
137 void PlatformSetup(Profile* profile) { 142 void PlatformSetup(Profile* profile) {
138 if (CreateChromeDesktopShortcut()) 143 if (CreateChromeDesktopShortcut())
139 profile->GetPrefs()->SetBoolean(prefs::kProfileShortcutCreated, true); 144 profile->GetPrefs()->SetBoolean(prefs::kProfileShortcutCreated, true);
140 145
141 // Windows 7 has deprecated the quick launch bar. 146 // Windows 7 has deprecated the quick launch bar.
142 if (base::win::GetVersion() < base::win::VERSION_WIN7) 147 if (base::win::GetVersion() < base::win::VERSION_WIN7)
143 CreateChromeQuickLaunchShortcut(); 148 CreateChromeQuickLaunchShortcut();
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 return false; 615 return false;
611 616
612 internal::SetShowWelcomePagePrefIfNeeded(install_prefs.get()); 617 internal::SetShowWelcomePagePrefIfNeeded(install_prefs.get());
613 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get()); 618 internal::SetImportPreferencesAndLaunchImport(out_prefs, install_prefs.get());
614 internal::SetDefaultBrowser(install_prefs.get()); 619 internal::SetDefaultBrowser(install_prefs.get());
615 620
616 return false; 621 return false;
617 } 622 }
618 623
619 } // namespace first_run 624 } // namespace first_run
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698