Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Unified Diff: chrome/browser/banners/app_banner_data_fetcher.h

Issue 1261143004: Implement manifest icon downloader (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix favicon fallback in add to homescreen helper Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..e420f4d52e6611fd8f6eccc1cbb19fcd0467f497 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 initial
+ // criteria of having a manifest and a service worker.
+ 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() {
mlamouri (slow - plz ping) 2015/08/21 12:59:08 Is that actually used somewhere?
Lalit Maganti 2015/08/21 13:21:34 It was intended for use in the future when splascr
+ 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(content::WebContents* web_contents, 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_;

Powered by Google App Engine
This is Rietveld 408576698