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
,
25 // Callback for finishing bookmark app creation
26 void FinishCreateBookmarkApp(const extensions::Extension
* extension
,
27 const WebApplicationInfo
& web_app_info
);
30 ~AppBannerDataFetcherDesktop() override
;
33 // AppBannerDataFetcher override.
34 bool IsWebAppInstalled(content::BrowserContext
* browser_context
,
35 const GURL
& start_url
) override
;
37 // AppBannerDataFetcher override.
38 void ShowBanner(const SkBitmap
* icon
,
39 const base::string16
& title
,
40 const std::string
& referrer
) override
;
42 scoped_ptr
<extensions::BookmarkAppHelper
> bookmark_app_helper_
;
44 DISALLOW_COPY_AND_ASSIGN(AppBannerDataFetcherDesktop
);
47 } // namespace banners
49 #endif // CHROME_BROWSER_BANNERS_APP_BANNER_DATA_FETCHER_DESKTOP_H_