Index: chrome/installer/setup/app_launcher_installer.h |
diff --git a/chrome/installer/setup/app_launcher_installer.h b/chrome/installer/setup/app_launcher_installer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..50ce64eb67cd939644f0d9643ed1925f63cd90e7 |
--- /dev/null |
+++ b/chrome/installer/setup/app_launcher_installer.h |
@@ -0,0 +1,49 @@ |
+// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ |
+#define CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ |
+ |
+#include <windows.h> |
+ |
+namespace base { |
+class Version; |
+} // namespace base |
+ |
+class WorkItemList; |
+ |
+namespace installer { |
+ |
+class InstallerState; |
+ |
+// The App Launcher is an adjunct product of Chrome Browser, but it has a |
+// distinct registry entry. This class taps into various points in installer |
+// flow to update the App Launcher's registry, including the removal of |
+// deprecated app commands. This concentrates ugly code to to one place to |
+// facilitate future refactoring. |
+class AppLauncherInstaller { |
grt (UTC plus 2)
2014/12/18 19:27:36
don't use a class as a container of static member
huangs
2015/01/05 06:01:12
Replaced with namespace app_launcher_installer.
|
+ public: |
+ // Create Version key for a App Launcher (if not already present) and sets the |
+ // new product version as the last step. We need this for App Launcher in |
+ // order for shadow registry key to work. |
+ static void AddAppLauncherVersionKeyWorkItems( |
+ HKEY root, |
+ const base::Version& new_version, |
+ bool add_language_identifier, |
+ WorkItemList* list); |
+ |
+ // Called during uninstall, to remove "shadow" registry key for App Launcher. |
+ // Note: The key is added by App Launcher in SetDidRunForNDayActiveStats(). |
+ static void OnUninstall(HKEY reg_root); |
+ |
+ // Unconditionally remove legacy app commands like "install-application", |
+ // "install-extension", and "quick-enable-application-host". |
+ static void RemoveLegacyAppCommandsWorkItems( |
grt (UTC plus 2)
2014/12/18 19:27:36
these functions are normally called AddFooWorkItem
huangs
2015/01/05 06:01:12
Renamed to AddRemoveLegacyAppCommandsWorkItems() a
|
+ const InstallerState& installer_state, |
+ WorkItemList* work_item_list); |
+}; |
+ |
+} // namespace installer |
+ |
+#endif // CHROME_INSTALLER_SETUP_APP_LAUNCHER_INSTALLER_H_ |