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/installer/util/installer_state.h" | 5 #include "chrome/installer/util/installer_state.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 if (is_uninstall && prefs.is_multi_install()) { | 178 if (is_uninstall && prefs.is_multi_install()) { |
179 if (FindProduct(BrowserDistribution::CHROME_BROWSER)) { | 179 if (FindProduct(BrowserDistribution::CHROME_BROWSER)) { |
180 // Uninstall each product of type |type| listed below based on the | 180 // Uninstall each product of type |type| listed below based on the |
181 // presence or absence of |switch_name| in that product's uninstall | 181 // presence or absence of |switch_name| in that product's uninstall |
182 // command. | 182 // command. |
183 const struct { | 183 const struct { |
184 BrowserDistribution::Type type; | 184 BrowserDistribution::Type type; |
185 const char* switch_name; | 185 const char* switch_name; |
186 bool switch_expected; | 186 bool switch_expected; |
187 } conditional_additions[] = { | 187 } conditional_additions[] = { |
188 // If Chrome Frame is installed in Ready Mode, remove it with Chrome. | |
189 { BrowserDistribution::CHROME_FRAME, | |
190 switches::kChromeFrameReadyMode, | |
191 true }, | |
192 // If the App Host is installed, but not the App Launcher, remove it | 188 // If the App Host is installed, but not the App Launcher, remove it |
193 // with Chrome. Note however that for system-level Chrome uninstalls, | 189 // with Chrome. Note however that for system-level Chrome uninstalls, |
194 // any installed user-level App Host will remain even if there is no | 190 // any installed user-level App Host will remain even if there is no |
195 // App Launcher present (the orphaned app_host.exe will prompt the user | 191 // App Launcher present (the orphaned app_host.exe will prompt the user |
196 // for further action when executed). | 192 // for further action when executed). |
197 { BrowserDistribution::CHROME_APP_HOST, | 193 { BrowserDistribution::CHROME_APP_HOST, |
198 switches::kChromeAppLauncher, | 194 switches::kChromeAppLauncher, |
199 false }, | 195 false }, |
200 }; | 196 }; |
201 | 197 |
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 } | 843 } |
848 if (!install_list->Do()) | 844 if (!install_list->Do()) |
849 LOG(ERROR) << "Failed to record installer error information in registry."; | 845 LOG(ERROR) << "Failed to record installer error information in registry."; |
850 } | 846 } |
851 | 847 |
852 bool InstallerState::RequiresActiveSetup() const { | 848 bool InstallerState::RequiresActiveSetup() const { |
853 return system_install() && FindProduct(BrowserDistribution::CHROME_BROWSER); | 849 return system_install() && FindProduct(BrowserDistribution::CHROME_BROWSER); |
854 } | 850 } |
855 | 851 |
856 } // namespace installer | 852 } // namespace installer |
OLD | NEW |