Only grant permissions to new extensions from sync if they have the expected version
[chromium-blink-merge.git] / chrome / browser / banners / app_banner_data_fetcher_desktop.h
blobfbe037aaec770800ba0b77fa1be16ca1bb208185
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);
25 // Callback for finishing bookmark app creation
26 void FinishCreateBookmarkApp(const extensions::Extension* extension,
27 const WebApplicationInfo& web_app_info);
29 protected:
30 ~AppBannerDataFetcherDesktop() override;
32 private:
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_