1 // Copyright 2015 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.
5 #ifndef CHROME_BROWSER_BANNERS_APP_BANNER_DATA_FETCHER_DESKTOP_H_
6 #define CHROME_BROWSER_BANNERS_APP_BANNER_DATA_FETCHER_DESKTOP_H_
8 #include "chrome/browser/banners/app_banner_data_fetcher.h"
10 namespace extensions
{
11 class BookmarkAppHelper
;
13 } // namespace extensions
17 // Fetches data required to show a banner for the URL currently shown by the
18 // WebContents. Extends the regular fetch to support desktop web apps.
19 class AppBannerDataFetcherDesktop
: public AppBannerDataFetcher
{
21 AppBannerDataFetcherDesktop(content::WebContents
* web_contents
,
22 base::WeakPtr
<Delegate
> weak_delegate
,
23 int ideal_icon_size_in_dp
,
24 int minimum_icon_size_in_dp
);
26 // Callback for finishing bookmark app creation
27 void FinishCreateBookmarkApp(const extensions::Extension
* extension
,
28 const WebApplicationInfo
& web_app_info
);
31 ~AppBannerDataFetcherDesktop() override
;
34 // AppBannerDataFetcher override.
35 bool IsWebAppInstalled(content::BrowserContext
* browser_context
,
36 const GURL
& start_url
) override
;
38 // AppBannerDataFetcher override.
39 void ShowBanner(const SkBitmap
* icon
,
40 const base::string16
& title
,
41 const std::string
& referrer
) override
;
43 scoped_ptr
<extensions::BookmarkAppHelper
> bookmark_app_helper_
;
45 DISALLOW_COPY_AND_ASSIGN(AppBannerDataFetcherDesktop
);
48 } // namespace banners
50 #endif // CHROME_BROWSER_BANNERS_APP_BANNER_DATA_FETCHER_DESKTOP_H_