| Index: components/history/core/browser/history_backend.cc
|
| diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
|
| index 62187120cff3ae3d97a93a60b1fdcd8759dff2e5..2db1a7696a81eb9e1cb4748047ca290b2188c854 100644
|
| --- a/components/history/core/browser/history_backend.cc
|
| +++ b/components/history/core/browser/history_backend.cc
|
| @@ -1699,12 +1699,13 @@ void HistoryBackend::MergeFavicon(
|
| ScheduleCommit();
|
| }
|
|
|
| -void HistoryBackend::SetFavicons(const GURL& page_url,
|
| - favicon_base::IconType icon_type,
|
| - const GURL& icon_url,
|
| - const std::vector<SkBitmap>& bitmaps) {
|
| +favicon_base::FaviconID HistoryBackend::SetFavicons(
|
| + const GURL& page_url,
|
| + favicon_base::IconType icon_type,
|
| + const GURL& icon_url,
|
| + const std::vector<SkBitmap>& bitmaps) {
|
| if (!thumbnail_db_ || !db_)
|
| - return;
|
| + return favicon_base::FaviconID(0);
|
|
|
| DCHECK_GE(kMaxFaviconBitmapsPerIconURL, bitmaps.size());
|
|
|
| @@ -1735,6 +1736,23 @@ void HistoryBackend::SetFavicons(const GURL& page_url,
|
| SendFaviconChangedNotificationForIconURL(icon_url);
|
| }
|
| ScheduleCommit();
|
| + return icon_id;
|
| +}
|
| +
|
| +void HistoryBackend::SetExpiredFaviconsIfNoneKnown(
|
| + const GURL& page_url,
|
| + favicon_base::IconType icon_type,
|
| + const GURL& icon_url,
|
| + const std::vector<SkBitmap>& bitmaps) {
|
| + if (!thumbnail_db_ || !db_)
|
| + return;
|
| +
|
| + if (!thumbnail_db_->GetIconMappingsForPageURL(page_url,
|
| + /*mapping_data*/ nullptr)) {
|
| + favicon_base::FaviconID icon_id =
|
| + SetFavicons(page_url, icon_type, icon_url, bitmaps);
|
| + thumbnail_db_->SetFaviconOutOfDate(icon_id);
|
| + }
|
| }
|
|
|
| void HistoryBackend::SetFaviconsOutOfDateForPage(const GURL& page_url) {
|
|
|