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