| 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()));
|
| }
|
|
|