blob: a429c7e047f1e150ed5b6f3c49877bf560f5c769 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
// Copyright 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_
|