| OLD | NEW |
| 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/chrome_browser_main_win.h" | 5 #include "chrome/browser/chrome_browser_main_win.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <shellapi.h> | 8 #include <shellapi.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 if (browser_util::IsBrowserAlreadyRunning()) { | 131 if (browser_util::IsBrowserAlreadyRunning()) { |
| 132 ShowCloseBrowserFirstMessageBox(); | 132 ShowCloseBrowserFirstMessageBox(); |
| 133 return chrome::RESULT_CODE_UNINSTALL_CHROME_ALIVE; | 133 return chrome::RESULT_CODE_UNINSTALL_CHROME_ALIVE; |
| 134 } | 134 } |
| 135 | 135 |
| 136 if (result != chrome::RESULT_CODE_UNINSTALL_USER_CANCEL) { | 136 if (result != chrome::RESULT_CODE_UNINSTALL_USER_CANCEL) { |
| 137 // The following actions are just best effort. | 137 // The following actions are just best effort. |
| 138 VLOG(1) << "Executing uninstall actions"; | 138 VLOG(1) << "Executing uninstall actions"; |
| 139 if (!first_run::RemoveSentinel()) | 139 if (!first_run::RemoveSentinel()) |
| 140 VLOG(1) << "Failed to delete sentinel file."; | 140 VLOG(1) << "Failed to delete sentinel file."; |
| 141 // We want to remove user level shortcuts and we only care about the ones | |
| 142 // created by us and not by the installer so |alternate| is false. | |
| 143 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); | |
| 144 FilePath chrome_exe; | 141 FilePath chrome_exe; |
| 145 if (PathService::Get(base::FILE_EXE, &chrome_exe)) { | 142 if (PathService::Get(base::FILE_EXE, &chrome_exe)) { |
| 146 ShellUtil::ShortcutLocation user_shortcut_locations[] = { | 143 ShellUtil::ShortcutLocation user_shortcut_locations[] = { |
| 147 ShellUtil::SHORTCUT_LOCATION_DESKTOP, | 144 ShellUtil::SHORTCUT_LOCATION_DESKTOP, |
| 148 ShellUtil::SHORTCUT_LOCATION_QUICK_LAUNCH, | 145 ShellUtil::SHORTCUT_LOCATION_QUICK_LAUNCH, |
| 149 ShellUtil::SHORTCUT_LOCATION_START_MENU, | 146 ShellUtil::SHORTCUT_LOCATION_START_MENU, |
| 150 }; | 147 }; |
| 148 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); |
| 151 for (size_t i = 0; i < arraysize(user_shortcut_locations); ++i) { | 149 for (size_t i = 0; i < arraysize(user_shortcut_locations); ++i) { |
| 152 if (!ShellUtil::RemoveShortcut( | 150 if (!ShellUtil::RemoveShortcut(user_shortcut_locations[i], dist, |
| 153 user_shortcut_locations[i], dist, chrome_exe.value(), | 151 chrome_exe, ShellUtil::CURRENT_USER, |
| 154 ShellUtil::CURRENT_USER, NULL)) { | 152 NULL)) { |
| 155 VLOG(1) << "Failed to delete shortcut at location " | 153 VLOG(1) << "Failed to delete shortcut at location " |
| 156 << user_shortcut_locations[i]; | 154 << user_shortcut_locations[i]; |
| 157 } | 155 } |
| 158 } | 156 } |
| 159 // TODO(rlp): Cleanup profiles shortcuts. | |
| 160 } else { | 157 } else { |
| 161 NOTREACHED(); | 158 NOTREACHED(); |
| 162 } | 159 } |
| 163 } | 160 } |
| 164 return result; | 161 return result; |
| 165 } | 162 } |
| 166 | 163 |
| 167 // ChromeBrowserMainPartsWin --------------------------------------------------- | 164 // ChromeBrowserMainPartsWin --------------------------------------------------- |
| 168 | 165 |
| 169 ChromeBrowserMainPartsWin::ChromeBrowserMainPartsWin( | 166 ChromeBrowserMainPartsWin::ChromeBrowserMainPartsWin( |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 412 if (resource_id) | 409 if (resource_id) |
| 413 return l10n_util::GetStringUTF16(resource_id); | 410 return l10n_util::GetStringUTF16(resource_id); |
| 414 return string16(); | 411 return string16(); |
| 415 } | 412 } |
| 416 | 413 |
| 417 // static | 414 // static |
| 418 void ChromeBrowserMainPartsWin::SetupInstallerUtilStrings() { | 415 void ChromeBrowserMainPartsWin::SetupInstallerUtilStrings() { |
| 419 CR_DEFINE_STATIC_LOCAL(TranslationDelegate, delegate, ()); | 416 CR_DEFINE_STATIC_LOCAL(TranslationDelegate, delegate, ()); |
| 420 installer::SetTranslationDelegate(&delegate); | 417 installer::SetTranslationDelegate(&delegate); |
| 421 } | 418 } |
| OLD | NEW |