OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // The App Launcher is an adjunct product of Google Chrome, but it has a | 5 // The App Launcher is an adjunct product of Google Chrome, but it has a |
6 // distinct registry entry. The functions in this file tap into various points | 6 // distinct registry entry. The functions in this file tap into various points |
7 // in installer flow to update the App Launcher's registry, including the | 7 // in installer flow to update the App Launcher's registry, including the |
8 // removal of deprecated app commands. This concentrates ugly code to to one | 8 // removal of deprecated app commands. This concentrates ugly code to to one |
9 // place to facilitate future refactoring. | 9 // place to facilitate future refactoring. |
10 | 10 |
11 #ifndef CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ | 11 #ifndef CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ |
12 #define CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ | 12 #define CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ |
13 | 13 |
14 #if defined(GOOGLE_CHROME_BUILD) | 14 #if defined(GOOGLE_CHROME_BUILD) |
15 | 15 |
16 #include <windows.h> | 16 #include <windows.h> |
17 | 17 |
18 namespace base { | 18 namespace base { |
19 class FilePath; | 19 class FilePath; |
20 class Version; | 20 class Version; |
21 } // namespace base | 21 } // namespace base |
22 | 22 |
23 class WorkItemList; | 23 class WorkItemList; |
24 | 24 |
25 namespace installer { | 25 namespace installer { |
26 | 26 |
27 class InstallerState; | 27 class InstallerState; |
28 | 28 |
29 // Create Version key for a App Launcher (if not already present) and sets the | |
30 // new product version as the last step. We need this for App Launcher in | |
31 // order for shadow registry key to work. | |
32 void AddAppLauncherVersionKeyWorkItems( | |
33 HKEY root, | |
34 const base::Version& new_version, | |
35 bool add_language_identifier, | |
36 WorkItemList* list); | |
37 | |
38 // Remove App Launcher's registry key, so it is in sync with Google Chrome's. | 29 // Remove App Launcher's registry key, so it is in sync with Google Chrome's. |
39 // Note: The key is added by App Launcher in SetDidRunForNDayActiveStats(). | 30 // Note: The key is added by App Launcher in SetDidRunForNDayActiveStats(). |
40 void RemoveAppLauncherVersionKey(HKEY reg_root); | 31 void RemoveAppLauncherVersionKey(HKEY reg_root); |
41 | 32 |
42 // Adds work item to unconditionally remove legacy executables. | 33 // Adds work item to unconditionally remove legacy executables. |
43 void AddRemoveLegacyAppHostExeWorkItems(const base::FilePath& target_path, | 34 void AddRemoveLegacyAppHostExeWorkItems(const base::FilePath& target_path, |
44 const base::FilePath& temp_path, | 35 const base::FilePath& temp_path, |
45 WorkItemList* list); | 36 WorkItemList* list); |
46 | 37 |
47 // Adds work item to unconditionally remove legacy app commands like | 38 // Adds work item to unconditionally remove legacy app commands like |
48 // "install-application", "install-extension", and | 39 // "install-application", "install-extension", and |
49 // "quick-enable-application-host". | 40 // "quick-enable-application-host". |
50 void AddRemoveLegacyAppCommandsWorkItems( | 41 void AddRemoveLegacyAppCommandsWorkItems( |
51 const InstallerState& installer_state, | 42 const InstallerState& installer_state, |
52 WorkItemList* work_item_list); | 43 WorkItemList* work_item_list); |
53 | 44 |
54 } // namespace installer | 45 } // namespace installer |
55 | 46 |
56 #endif // defined(GOOGLE_CHROME_BUILD) | 47 #endif // defined(GOOGLE_CHROME_BUILD) |
57 | 48 |
58 #endif // CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ | 49 #endif // CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ |
OLD | NEW |