 Chromium Code Reviews
 Chromium Code Reviews Issue 1261143004:
  Implement manifest icon downloader  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1261143004:
  Implement manifest icon downloader  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: chrome/browser/banners/app_banner_data_fetcher.h | 
| diff --git a/chrome/browser/banners/app_banner_data_fetcher.h b/chrome/browser/banners/app_banner_data_fetcher.h | 
| index 3ed3d6eb9e564426b1ceae754f8c858ecdf1fa16..321fde28ec567f1d0d95f3bb0eaf8c08d3d5dc45 100644 | 
| --- a/chrome/browser/banners/app_banner_data_fetcher.h | 
| +++ b/chrome/browser/banners/app_banner_data_fetcher.h | 
| @@ -10,7 +10,7 @@ | 
| #include "base/memory/weak_ptr.h" | 
| #include "base/observer_list.h" | 
| #include "base/time/time.h" | 
| -#include "chrome/browser/bitmap_fetcher/bitmap_fetcher_delegate.h" | 
| +#include "chrome/browser/manifest/manifest_icon_downloader.h" | 
| #include "chrome/common/web_application_info.h" | 
| #include "content/public/browser/web_contents.h" | 
| #include "content/public/browser/web_contents_observer.h" | 
| @@ -32,7 +32,6 @@ class AppBannerDataFetcher; | 
| // the WebContents. | 
| class AppBannerDataFetcher | 
| : public base::RefCounted<AppBannerDataFetcher>, | 
| - public chrome::BitmapFetcherDelegate, | 
| public content::WebContentsObserver { | 
| public: | 
| class Observer { | 
| @@ -120,15 +119,22 @@ class AppBannerDataFetcher | 
| void OnRequestShowAppBanner(content::RenderFrameHost* render_frame_host, | 
| int request_id); | 
| + // Called when it is determined that the webapp has fulfilled the intial | 
| + // criterion of having a manifest and a service worker. | 
| 
mlamouri (slow - plz ping)
2015/08/10 15:08:08
First time I read "criterion" :)
 
Lalit Maganti
2015/08/10 16:55:45
In this case "criteria" is actually correct becaus
 | 
| + void OnHasServiceWorker(content::WebContents* web_contents); | 
| + | 
| content::WebContents* GetWebContents(); | 
| virtual std::string GetAppIdentifier(); | 
| const content::Manifest& web_app_data() { return web_app_data_; } | 
| void set_app_title(const base::string16& title) { app_title_ = title; } | 
| int event_request_id() { return event_request_id_; } | 
| + const scoped_ptr<ManifestIconDownloader>& icon_downloader() { | 
| + return icon_downloader_; | 
| + } | 
| // Fetches the icon at the given URL asynchronously, returning |false| if a | 
| // load could not be started. | 
| - bool FetchIcon(const GURL& image_url); | 
| + bool FetchAppIcon(const GURL& url); | 
| // Records that a banner was shown. The |event_name| corresponds to the RAPPOR | 
| // metric being recorded. | 
| @@ -138,16 +144,13 @@ class AppBannerDataFetcher | 
| // Callbacks for data retrieval. | 
| void OnDidGetManifest(const content::Manifest& manifest); | 
| void OnDidCheckHasServiceWorker(bool has_service_worker); | 
| - void OnFetchComplete(const GURL& url, const SkBitmap* icon) override; | 
| + void OnAppIconFetched(const SkBitmap& bitmap); | 
| // Returns whether the given web app has already been installed. | 
| // Implemented on desktop platforms only. | 
| virtual bool IsWebAppInstalled(content::BrowserContext* browser_context, | 
| const GURL& start_url); | 
| - // Shows a banner for the app, if the given |icon| is valid. | 
| - virtual void RequestShowBanner(const SkBitmap* icon); | 
| - | 
| // Record that the banner could be shown at this point, if the triggering | 
| // heuristic allowed. | 
| void RecordCouldShowBanner(); | 
| @@ -176,7 +179,7 @@ class AppBannerDataFetcher | 
| bool page_requested_prompt_; | 
| ui::PageTransition transition_type_; | 
| int event_request_id_; | 
| - scoped_ptr<chrome::BitmapFetcher> bitmap_fetcher_; | 
| + scoped_ptr<ManifestIconDownloader> icon_downloader_; | 
| scoped_ptr<SkBitmap> app_icon_; | 
| GURL validated_url_; |