Index: chrome/browser/favicon/favicon_handler.cc |
diff --git a/chrome/browser/favicon/favicon_handler.cc b/chrome/browser/favicon/favicon_handler.cc |
index 87909fa52718954f6064065087a8ff8ef34701dd..19c68b1204bb6c8af893281d6f64c90ee2ce1cc7 100644 |
--- a/chrome/browser/favicon/favicon_handler.cc |
+++ b/chrome/browser/favicon/favicon_handler.cc |
@@ -210,13 +210,16 @@ FaviconHandler::FaviconCandidate::FaviconCandidate( |
//////////////////////////////////////////////////////////////////////////////// |
FaviconHandler::FaviconHandler(Profile* profile, |
+ FaviconClient* client, |
FaviconHandlerDelegate* delegate, |
Type icon_type) |
: got_favicon_from_history_(false), |
favicon_expired_or_incomplete_(false), |
- icon_types_(icon_type == FAVICON ? chrome::FAVICON : |
- chrome::TOUCH_ICON | chrome::TOUCH_PRECOMPOSED_ICON), |
+ icon_types_(icon_type == FAVICON |
+ ? chrome::FAVICON |
+ : chrome::TOUCH_ICON | chrome::TOUCH_PRECOMPOSED_ICON), |
profile_(profile), |
+ client_(client), |
delegate_(delegate) { |
DCHECK(profile_); |
DCHECK(delegate_); |
@@ -236,7 +239,7 @@ void FaviconHandler::FetchFavicon(const GURL& url) { |
// Request the favicon from the history service. In parallel to this the |
// renderer is going to notify us (well WebContents) when the favicon url is |
// available. |
- if (GetFaviconService()) { |
+ if (client_->GetFaviconService()) { |
GetFaviconForURLFromFaviconService( |
url_, |
icon_types_, |
@@ -247,11 +250,6 @@ void FaviconHandler::FetchFavicon(const GURL& url) { |
} |
} |
-FaviconService* FaviconHandler::GetFaviconService() { |
- return FaviconServiceFactory::GetForProfile( |
- profile_, Profile::EXPLICIT_ACCESS); |
-} |
- |
bool FaviconHandler::UpdateFaviconCandidate(const GURL& url, |
const GURL& image_url, |
const gfx::Image& image, |
@@ -272,7 +270,7 @@ void FaviconHandler::SetFavicon( |
const GURL& icon_url, |
const gfx::Image& image, |
chrome::IconType icon_type) { |
- if (GetFaviconService() && ShouldSaveFavicon(url)) |
+ if (client_->GetFaviconService() && ShouldSaveFavicon(url)) |
SetHistoryFavicons(url, icon_url, icon_type, image); |
if (UrlMatches(url, url_) && icon_type == chrome::FAVICON) { |
@@ -332,7 +330,7 @@ void FaviconHandler::OnUpdateFaviconURL( |
if (image_urls_.empty()) |
return; |
- if (!GetFaviconService()) |
+ if (!client_->GetFaviconService()) |
return; |
ProcessCurrentUrl(); |
@@ -439,7 +437,7 @@ void FaviconHandler::UpdateFaviconMappingAndFetch( |
// UpdateFaviconMappingsAndFetch(). |
std::vector<GURL> icon_urls; |
icon_urls.push_back(icon_url); |
- GetFaviconService()->UpdateFaviconMappingsAndFetch( |
+ client_->GetFaviconService()->UpdateFaviconMappingsAndFetch( |
page_url, icon_urls, icon_type, preferred_icon_size(), callback, tracker); |
} |
@@ -448,7 +446,7 @@ void FaviconHandler::GetFaviconFromFaviconService( |
chrome::IconType icon_type, |
const FaviconService::FaviconResultsCallback& callback, |
base::CancelableTaskTracker* tracker) { |
- GetFaviconService()->GetFavicon( |
+ client_->GetFaviconService()->GetFavicon( |
icon_url, icon_type, preferred_icon_size(), callback, tracker); |
} |
@@ -457,9 +455,9 @@ void FaviconHandler::GetFaviconForURLFromFaviconService( |
int icon_types, |
const FaviconService::FaviconResultsCallback& callback, |
base::CancelableTaskTracker* tracker) { |
- GetFaviconService()->GetFaviconForURL( |
- FaviconService::FaviconForURLParams(page_url, icon_types, |
- preferred_icon_size()), |
+ client_->GetFaviconService()->GetFaviconForURL( |
+ FaviconService::FaviconForURLParams( |
+ page_url, icon_types, preferred_icon_size()), |
callback, |
tracker); |
} |
@@ -468,7 +466,8 @@ void FaviconHandler::SetHistoryFavicons(const GURL& page_url, |
const GURL& icon_url, |
chrome::IconType icon_type, |
const gfx::Image& image) { |
- GetFaviconService()->SetFavicons(page_url, icon_url, icon_type, image); |
+ client_->GetFaviconService()->SetFavicons( |
+ page_url, icon_url, icon_type, image); |
} |
bool FaviconHandler::ShouldSaveFavicon(const GURL& url) { |
@@ -545,7 +544,7 @@ void FaviconHandler::DownloadFaviconOrAskFaviconService( |
if (favicon_expired_or_incomplete_) { |
// We have the mapping, but the favicon is out of date. Download it now. |
ScheduleDownload(page_url, icon_url, icon_type); |
- } else if (GetFaviconService()) { |
+ } else if (client_->GetFaviconService()) { |
// We don't know the favicon, but we may have previously downloaded the |
// favicon for another page that shares the same favicon. Ask for the |
// favicon given the favicon URL. |