Index: chrome/browser/favicon_service.cc |
diff --git a/chrome/browser/favicon_service.cc b/chrome/browser/favicon_service.cc |
index 3a309494bfb6aa5f2aab732517f4820faf66f547..7b4def9908d5971bddfc44ad832602182a0c6c6f 100644 |
--- a/chrome/browser/favicon_service.cc |
+++ b/chrome/browser/favicon_service.cc |
@@ -10,18 +10,28 @@ |
#include "chrome/common/url_constants.h" |
#include "content/browser/webui/web_ui_factory.h" |
+FaviconService::FaviconData::FaviconData() |
+ : known_icon(false), |
+ expired(false), |
+ icon_type(history::INVALID_ICON) { |
+} |
+ |
+FaviconService::FaviconData::~FaviconData() { |
+} |
+ |
FaviconService::FaviconService(Profile* profile) : profile_(profile) { |
} |
FaviconService::Handle FaviconService::GetFavicon( |
const GURL& icon_url, |
+ history::IconType icon_type, |
CancelableRequestConsumerBase* consumer, |
FaviconDataCallback* callback) { |
GetFaviconRequest* request = new GetFaviconRequest(callback); |
AddRequest(request, consumer); |
HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
if (hs) |
- hs->GetFavicon(request, icon_url); |
+ hs->GetFavicon(request, icon_url, icon_type); |
else |
ForwardEmptyResultAsync(request); |
return request->handle(); |
@@ -30,13 +40,14 @@ FaviconService::Handle FaviconService::GetFavicon( |
FaviconService::Handle FaviconService::UpdateFaviconMappingAndFetch( |
const GURL& page_url, |
const GURL& icon_url, |
+ history::IconType icon_type, |
CancelableRequestConsumerBase* consumer, |
FaviconService::FaviconDataCallback* callback) { |
GetFaviconRequest* request = new GetFaviconRequest(callback); |
AddRequest(request, consumer); |
HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
if (hs) |
- hs->UpdateFaviconMappingAndFetch(request, page_url, icon_url); |
+ hs->UpdateFaviconMappingAndFetch(request, page_url, icon_url, icon_type); |
else |
ForwardEmptyResultAsync(request); |
return request->handle(); |
@@ -44,6 +55,7 @@ FaviconService::Handle FaviconService::UpdateFaviconMappingAndFetch( |
FaviconService::Handle FaviconService::GetFaviconForURL( |
const GURL& page_url, |
+ int icon_types, |
CancelableRequestConsumerBase* consumer, |
FaviconDataCallback* callback) { |
GetFaviconRequest* request = new GetFaviconRequest(callback); |
@@ -55,7 +67,7 @@ FaviconService::Handle FaviconService::GetFaviconForURL( |
} else { |
HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
if (hs) |
- hs->GetFaviconForURL(request, page_url); |
+ hs->GetFaviconForURL(request, page_url, icon_types); |
else |
ForwardEmptyResultAsync(request); |
} |
@@ -77,10 +89,11 @@ void FaviconService::SetImportedFavicons( |
void FaviconService::SetFavicon(const GURL& page_url, |
const GURL& icon_url, |
- const std::vector<unsigned char>& image_data) { |
+ const std::vector<unsigned char>& image_data, |
+ history::IconType icon_type) { |
HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
if (hs) |
- hs->SetFavicon(page_url, icon_url, image_data); |
+ hs->SetFavicon(page_url, icon_url, image_data, icon_type); |
} |
FaviconService::~FaviconService() { |
@@ -88,5 +101,5 @@ FaviconService::~FaviconService() { |
void FaviconService::ForwardEmptyResultAsync(GetFaviconRequest* request) { |
request->ForwardResultAsync(FaviconDataCallback::TupleType(request->handle(), |
- false, NULL, false, GURL())); |
+ FaviconData())); |
} |