123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef COMPONENTS_WEBAPPS_BROWSER_WEBAPPS_CLIENT_H_
- #define COMPONENTS_WEBAPPS_BROWSER_WEBAPPS_CLIENT_H_
- #include "build/build_config.h"
- #include "components/security_state/core/security_state.h"
- class GURL;
- namespace content {
- class WebContents;
- } // namespace content
- namespace infobars {
- class ContentInfoBarManager;
- } // namespace infobars
- namespace webapps {
- class AppBannerManager;
- enum class InstallTrigger;
- enum class WebappInstallSource;
- struct AddToHomescreenParams;
- // Interface to be implemented by the embedder (such as Chrome or WebLayer) to
- // expose embedder specific logic.
- class WebappsClient {
- public:
- WebappsClient();
- WebappsClient(const WebappsClient&) = delete;
- WebappsClient& operator=(const WebappsClient&) = delete;
- virtual ~WebappsClient();
- // Return the webapps client.
- static WebappsClient* Get();
- virtual security_state::SecurityLevel GetSecurityLevelForWebContents(
- content::WebContents* web_contents) = 0;
- virtual infobars::ContentInfoBarManager* GetInfoBarManagerForWebContents(
- content::WebContents* web_contents) = 0;
- virtual WebappInstallSource GetInstallSource(
- content::WebContents* web_contents,
- InstallTrigger trigger) = 0;
- virtual AppBannerManager* GetAppBannerManager(
- content::WebContents* web_contents) = 0;
- #if BUILDFLAG(IS_ANDROID)
- virtual bool IsInstallationInProgress(content::WebContents* web_contents,
- const GURL& manifest_url) = 0;
- virtual bool CanShowAppBanners(content::WebContents* web_contents) = 0;
- virtual void OnWebApkInstallInitiatedFromAppMenu(
- content::WebContents* web_contents) = 0;
- virtual void InstallWebApk(content::WebContents* web_contents,
- const AddToHomescreenParams& params) = 0;
- virtual void InstallShortcut(content::WebContents* web_contents,
- const AddToHomescreenParams& params) = 0;
- #endif
- };
- } // namespace webapps
- #endif // COMPONENTS_WEBAPPS_BROWSER_WEBAPPS_CLIENT_H_
|