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

Unified Diff: chrome/browser/favicon/favicon_tab_helper.cc

Issue 11411180: move favicon download code from chrome/ into content/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: WebContentsObserver and callback Created 8 years 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/favicon/favicon_tab_helper.cc
diff --git a/chrome/browser/favicon/favicon_tab_helper.cc b/chrome/browser/favicon/favicon_tab_helper.cc
index 912c6369a5a914a6481ad2aa858a74604ec16ffe..6ce78d0978364059bfc68960a7bfba8a861b1268 100644
--- a/chrome/browser/favicon/favicon_tab_helper.cc
+++ b/chrome/browser/favicon/favicon_tab_helper.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/favicon/favicon_tab_helper.h"
-#include "chrome/browser/favicon/favicon_download_helper.h"
#include "chrome/browser/favicon/favicon_handler.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/favicon/favicon_util.h"
@@ -13,7 +12,6 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_notification_types.h"
-#include "chrome/common/icon_messages.h"
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/invalidate_type.h"
#include "content/public/browser/navigation_controller.h"
@@ -30,6 +28,7 @@
#include "ui/gfx/image/image_skia_rep.h"
using content::FaviconStatus;
+using content::FaviconURL;
using content::NavigationController;
using content::NavigationEntry;
using content::WebContents;
@@ -39,7 +38,6 @@ DEFINE_WEB_CONTENTS_USER_DATA_KEY(FaviconTabHelper)
FaviconTabHelper::FaviconTabHelper(WebContents* web_contents)
: content::WebContentsObserver(web_contents),
profile_(Profile::FromBrowserContext(web_contents->GetBrowserContext())) {
- favicon_download_helper_.reset(new FaviconDownloadHelper(web_contents, this));
favicon_handler_.reset(new FaviconHandler(profile_, this,
FaviconHandler::FAVICON));
if (chrome::kEnableTouchIcon)
@@ -95,14 +93,6 @@ bool FaviconTabHelper::ShouldDisplayFavicon() {
return true;
}
-void FaviconTabHelper::OnUpdateFaviconURL(
- int32 page_id,
- const std::vector<FaviconURL>& candidates) {
- favicon_handler_->OnUpdateFaviconURL(page_id, candidates);
- if (touch_icon_handler_.get())
- touch_icon_handler_->OnUpdateFaviconURL(page_id, candidates);
-}
-
void FaviconTabHelper::SaveFavicon() {
NavigationEntry* entry = web_contents()->GetController().GetActiveEntry();
if (!entry || entry->GetURL().is_empty())
@@ -134,7 +124,9 @@ NavigationEntry* FaviconTabHelper::GetActiveEntry() {
}
int FaviconTabHelper::StartDownload(const GURL& url, int image_size) {
- return favicon_download_helper_->DownloadFavicon(url, image_size);
+ return web_contents()->DownloadFavicon(url, image_size,
+ base::Bind(&FaviconTabHelper::DidDownloadFavicon,
+ base::Unretained(this)));
}
void FaviconTabHelper::NotifyFaviconUpdated() {
@@ -164,7 +156,15 @@ void FaviconTabHelper::DidNavigateMainFrame(
FetchFavicon(details.entry->GetURL());
}
-void FaviconTabHelper::OnDidDownloadFavicon(
+void FaviconTabHelper::DidUpdateFaviconURL(
+ int32 page_id,
+ const std::vector<FaviconURL>& candidates) {
+ favicon_handler_->OnUpdateFaviconURL(page_id, candidates);
+ if (touch_icon_handler_.get())
+ touch_icon_handler_->OnUpdateFaviconURL(page_id, candidates);
+}
+
+void FaviconTabHelper::DidDownloadFavicon(
int id,
const GURL& image_url,
bool errored,

Powered by Google App Engine
This is Rietveld 408576698