| // Copyright 2014 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_UI_UTIL_H_ |
| #define CHROME_BROWSER_EXTENSIONS_EXTENSION_UI_UTIL_H_ |
| |
| #include "content/public/browser/web_contents.h" |
| #include "extensions/buildflags/buildflags.h" |
| #include "url/gurl.h" |
| |
| static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE)); |
| |
| namespace content { |
| class BrowserContext; |
| } |
| |
| namespace extensions { |
| |
| class Extension; |
| |
| namespace ui_util { |
| |
| // Returns true if the extension should be displayed in the app launcher. |
| // Checks whether the extension is an ephemeral app or should be hidden due to |
| // policy. |
| bool ShouldDisplayInAppLauncher(const Extension* extension, |
| content::BrowserContext* context); |
| |
| // Returns true if the extension can be displayed in the app launcher. |
| // Checks whether the extension should be hidden due to policy, but does not |
| // exclude ephemeral apps. |
| bool CanDisplayInAppLauncher(const Extension* extension, |
| content::BrowserContext* context); |
| |
| // Returns true if the extension should be displayed in the browser NTP. |
| // Checks whether the extension is an ephemeral app or should be hidden due to |
| // policy. |
| bool ShouldDisplayInNewTabPage(const Extension* extension, |
| content::BrowserContext* context); |
| |
| // If `url` is an extension URL, returns the name of the associated extension, |
| // with whitespace collapsed. Otherwise, returns empty string. `context` is used |
| // to get at the extension registry. |
| std::u16string GetEnabledExtensionNameForUrl(const GURL& url, |
| content::BrowserContext* context); |
| |
| // Returns whether `browser_context` contains any extensions that are manageable |
| // - i.e. visible to the user on the extensions settings page, |
| // chrome://extensions. |
| bool HasManageableExtensions(content::BrowserContext* browser_context); |
| |
| // Returns a human-readable string representing the host of the last committed |
| // URL in the given `web_contents`, formatted for display. This formatting |
| // omits the URL scheme, path, and trivial subdomains (e.g., "www."). |
| std::u16string GetFormattedHostForDisplay(content::WebContents& web_contents); |
| |
| } // namespace ui_util |
| } // namespace extensions |
| |
| #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_UI_UTIL_H_ |