| Index: chrome/browser/banners/app_banner_manager.h
|
| diff --git a/chrome/browser/banners/app_banner_manager.h b/chrome/browser/banners/app_banner_manager.h
|
| index f29c0bdbe89d583143d4ae604529d2f111d7d3e8..4b8ff1245be83094f44bb76c9b475ee6e2111be3 100644
|
| --- a/chrome/browser/banners/app_banner_manager.h
|
| +++ b/chrome/browser/banners/app_banner_manager.h
|
| @@ -11,6 +11,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "chrome/browser/banners/app_banner_data_fetcher.h"
|
| +#include "chrome/browser/engagement/site_engagement_observer.h"
|
| #include "content/public/browser/web_contents_observer.h"
|
| #include "third_party/WebKit/public/platform/modules/app_banner/WebAppBannerPromptReply.h"
|
|
|
| @@ -30,7 +31,8 @@ class AppBannerDataFetcher;
|
| * requested app. Any work in progress for other apps is discarded.
|
| */
|
| class AppBannerManager : public content::WebContentsObserver,
|
| - public AppBannerDataFetcher::Delegate {
|
| + public AppBannerDataFetcher::Delegate,
|
| + public SiteEngagementObserver {
|
| public:
|
| static void DisableSecureSchemeCheckForTesting();
|
|
|
| @@ -42,11 +44,8 @@ class AppBannerManager : public content::WebContentsObserver,
|
|
|
| // Requests an app banner. Set |is_debug_mode| when it is triggered by the
|
| // developer's action in DevTools.
|
| - void RequestAppBanner(content::RenderFrameHost* render_frame_host,
|
| - const GURL& validated_url,
|
| - bool is_debug_mode);
|
| + void RequestAppBanner(const GURL& validated_url, bool is_debug_mode);
|
|
|
| - AppBannerManager();
|
| ~AppBannerManager() override;
|
|
|
| protected:
|
| @@ -73,18 +72,30 @@ class AppBannerManager : public content::WebContentsObserver,
|
| void DidFinishLoad(content::RenderFrameHost* render_frame_host,
|
| const GURL& validated_url) override;
|
|
|
| + void WasShown() override;
|
| + void WasHidden() override;
|
| +
|
| // AppBannerDataFetcher::Delegate overrides.
|
| bool HandleNonWebApp(const std::string& platform,
|
| const GURL& url,
|
| const std::string& id,
|
| bool is_debug_mode) override;
|
|
|
| + // SiteEngagementObserver overrides.
|
| + void OnEngagementIncreased(const SiteEngagementService* service,
|
| + const GURL& url,
|
| + double score) override;
|
| +
|
| // Cancels an active DataFetcher, stopping its banners from appearing.
|
| void CancelActiveFetcher();
|
|
|
| // The type of navigation made to the page
|
| ui::PageTransition last_transition_type_;
|
|
|
| + GURL validated_url_;
|
| +
|
| + bool is_visible_;
|
| +
|
| // Fetches the data required to display a banner for the current page.
|
| scoped_refptr<AppBannerDataFetcher> data_fetcher_;
|
|
|
|
|