Home | History | Annotate | Download | only in extensions
      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