| Index: chrome/browser/history/history_backend.cc
|
| diff --git a/chrome/browser/history/history_backend.cc b/chrome/browser/history/history_backend.cc
|
| index b34cb14a5e79b13a333725e68e4e400be6380cc9..60e191a16eed8f4f15f3379aee9f45d316a97567 100644
|
| --- a/chrome/browser/history/history_backend.cc
|
| +++ b/chrome/browser/history/history_backend.cc
|
| @@ -1899,10 +1899,10 @@ void HistoryBackend::UpdateFaviconMappingAndFetchImpl(
|
| icon_url, icon_types, &favicon.icon_type);
|
| if (favicon_id) {
|
| scoped_refptr<base::RefCountedMemory> data;
|
| - favicon.known_icon = true;
|
| Time last_updated;
|
| if (thumbnail_db_->GetFavicon(favicon_id, &last_updated, &data,
|
| NULL, NULL)) {
|
| + favicon.known_icon = true;
|
| favicon.expired = (Time::Now() - last_updated) >
|
| TimeDelta::FromDays(kFaviconRefetchDays);
|
| favicon.image_data = data;
|
| @@ -1953,15 +1953,17 @@ void HistoryBackend::SetFavicon(
|
|
|
| FaviconID id = thumbnail_db_->GetFaviconIDForFaviconURL(
|
| icon_url, icon_type, NULL);
|
| - if (id)
|
| + if (!id) {
|
| + id = thumbnail_db_->AddFavicon(icon_url,
|
| + icon_type,
|
| + "0 0",
|
| + data,
|
| + Time::Now(),
|
| + gfx::Size());
|
| + } else {
|
| thumbnail_db_->DeleteFaviconBitmapsForFavicon(id);
|
| -
|
| - id = thumbnail_db_->AddFavicon(icon_url,
|
| - icon_type,
|
| - "0 0",
|
| - data,
|
| - Time::Now(),
|
| - gfx::Size());
|
| + thumbnail_db_->AddFaviconBitmap(id, data, Time::Now(), gfx::Size());
|
| + }
|
|
|
| SetFaviconMapping(page_url, id, icon_type);
|
| }
|
|
|