webapps: allow callers of icon downloader/selector to specify a minimum size
[chromium-blink-merge.git] / chrome / browser / banners / app_banner_data_fetcher_desktop.h
blobed2e92728077f996c5915ba42206ecaf4e27ac6d
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;
12 class Extension;
13 } // namespace extensions
15 namespace banners {
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 {
20 public:
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);
30 protected:
31 ~AppBannerDataFetcherDesktop() override;
33 private:
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_