blob: f9add929e6359ced7a8a214a3fb45eede5389f59 [file] [log] [blame]
[email protected]411f8ae2014-05-22 11:12:231// Copyright 2014 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.
4
5#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_UI_UTIL_H_
6#define CHROME_BROWSER_EXTENSIONS_EXTENSION_UI_UTIL_H_
7
8namespace content {
9class BrowserContext;
10}
11
12namespace extensions {
13
14class Extension;
15
16namespace ui_util {
17
18// Returns true if the extension should be displayed in the app launcher.
19// Checks whether the extension is an ephemeral app or should be hidden due to
20// policy.
21bool ShouldDisplayInAppLauncher(const Extension* extension,
22 content::BrowserContext* context);
23
24// Returns true if the extension should be displayed in the browser NTP.
25// Checks whether the extension is an ephemeral app or should be hidden due to
26// policy.
27bool ShouldDisplayInNewTabPage(const Extension* extension,
28 content::BrowserContext* context);
29
30// Returns true if the extension should be displayed in the extension
31// settings page (i.e. chrome://extensions). Checks whether the extension is
32// an ephemeral app.
33bool ShouldDisplayInExtensionSettings(const Extension* extension,
34 content::BrowserContext* context);
35
36// Returns true if the extension should not be shown anywhere. This is
37// mostly the same as the extension being a component extension, but also
38// includes non-component apps that are hidden from the app launcher and NTP,
39// as well as ephemeral apps.
40bool ShouldNotBeVisible(const Extension* extension,
41 content::BrowserContext* context);
42
43} // namespace ui_util
44} // namespace extensions
45
46#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_UI_UTIL_H_