Convert browser_tests to Swarming.
[chromium-blink-merge.git] / chrome / installer / setup / app_launcher_installer.h
blob132005e072e779e14bbf11d45e6b89a91a776816
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
3 // found in the LICENSE file.
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
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
9 // place to facilitate future refactoring.
11 #ifndef CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_
12 #define CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_
14 #if defined(GOOGLE_CHROME_BUILD)
16 #include <windows.h>
18 namespace base {
19 class FilePath;
20 class Version;
21 } // namespace base
23 class WorkItemList;
25 namespace installer {
27 class InstallerState;
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);
38 // 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().
40 void RemoveAppLauncherVersionKey(HKEY reg_root);
42 // Adds work item to unconditionally remove legacy executables.
43 void AddRemoveLegacyAppHostExeWorkItems(const base::FilePath& target_path,
44 const base::FilePath& temp_path,
45 WorkItemList* list);
47 // Adds work item to unconditionally remove legacy app commands like
48 // "install-application", "install-extension", and
49 // "quick-enable-application-host".
50 void AddRemoveLegacyAppCommandsWorkItems(
51 const InstallerState& installer_state,
52 WorkItemList* work_item_list);
54 } // namespace installer
56 #endif // defined(GOOGLE_CHROME_BUILD)
58 #endif // CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_