• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // 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 
8 namespace content {
9 class BrowserContext;
10 }
11 
12 namespace extensions {
13 
14 class Extension;
15 
16 namespace 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.
21 bool ShouldDisplayInAppLauncher(const Extension* extension,
22                                 content::BrowserContext* context);
23 
24 // Returns true if the extension can be displayed in the app launcher.
25 // Checks whether the extension should be hidden due to policy, but does not
26 // exclude ephemeral apps.
27 bool CanDisplayInAppLauncher(const Extension* extension,
28                              content::BrowserContext* context);
29 
30 // Returns true if the extension should be displayed in the browser NTP.
31 // Checks whether the extension is an ephemeral app or should be hidden due to
32 // policy.
33 bool ShouldDisplayInNewTabPage(const Extension* extension,
34                                content::BrowserContext* context);
35 
36 // Returns true if the extension should be displayed in the extension
37 // settings page (i.e. chrome://extensions). Checks whether the extension is
38 // an ephemeral app.
39 bool ShouldDisplayInExtensionSettings(const Extension* extension,
40                                       content::BrowserContext* context);
41 
42 // Returns true if the extension should not be shown anywhere. This is
43 // mostly the same as the extension being a component extension, but also
44 // includes non-component apps that are hidden from the app launcher and NTP,
45 // as well as ephemeral apps.
46 bool ShouldNotBeVisible(const Extension* extension,
47                         content::BrowserContext* context);
48 
49 }  // namespace ui_util
50 }  // namespace extensions
51 
52 #endif  // CHROME_BROWSER_EXTENSIONS_EXTENSION_UI_UTIL_H_
53