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 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 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. 27bool 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. 33bool 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. 39bool 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. 46bool 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