Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1822)

Unified Diff: chrome/browser/extensions/launch_util.h

Issue 105733003: Move LaunchType out of ExtensionPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix indenting Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/browser/extensions/launch_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/launch_util.h
diff --git a/chrome/browser/extensions/launch_util.h b/chrome/browser/extensions/launch_util.h
new file mode 100644
index 0000000000000000000000000000000000000000..da8c431b61111c09c7a6de174cacc539178c9010
--- /dev/null
+++ b/chrome/browser/extensions/launch_util.h
@@ -0,0 +1,59 @@
+// Copyright (c) 2013 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_BROWSER_EXTENSIONS_LAUNCH_UTIL_H_
+#define CHROME_BROWSER_EXTENSIONS_LAUNCH_UTIL_H_
+
+#include <string>
+
+#include "extensions/common/constants.h"
+
+namespace extensions {
+
+class Extension;
+class ExtensionPrefs;
+
+// This enum is used for the launch type the user wants to use for an
+// application.
+// Do not remove items or re-order this enum as it is used in preferences
+// and histograms.
+enum LaunchType {
+ LAUNCH_TYPE_PINNED,
+ LAUNCH_TYPE_REGULAR,
+ LAUNCH_TYPE_FULLSCREEN,
+ LAUNCH_TYPE_WINDOW,
+
+ // Launch an app in the in the way a click on the NTP would,
+ // if no user pref were set. Update this constant to change
+ // the default for the NTP and chrome.management.launchApp().
+ LAUNCH_TYPE_DEFAULT = LAUNCH_TYPE_REGULAR
+};
+
+// Gets the launch type preference. If no preference is set, returns
+// LAUNCH_DEFAULT.
+// Returns LAUNCH_WINDOW if there's no preference and
+// 'streamlined hosted apps' are enabled.
+LaunchType GetLaunchType(const ExtensionPrefs* prefs,
+ const Extension* extension);
+
+// Sets an extension's launch type preference.
+void SetLaunchType(ExtensionPrefs* prefs,
+ const std::string& extension_id,
+ LaunchType launch_type);
+
+// Finds the right launch container based on the launch type.
+// If |extension|'s prefs do not have a launch type set, then the default
+// value from GetLaunchType() is used to choose the launch container.
+LaunchContainer GetLaunchContainer(const ExtensionPrefs* prefs,
+ const Extension* extension);
+
+// Returns true if a launch container preference has been specified for
+// |extension|. GetLaunchContainer() will still return a default value even if
+// this returns false.
+bool HasPreferredLaunchContainer(const ExtensionPrefs* prefs,
+ const Extension* extension);
+
+} // namespace extensions
+
+#endif // CHROME_BROWSER_EXTENSIONS_LAUNCH_UTIL_H_
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/browser/extensions/launch_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698