Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: components/history/core/browser/history_backend.cc

Issue 2856873002: [Thumbnails DB] Allow setting last_requested time when accessing favicons. (Closed)
Patch Set: Peter's comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 2a9e668d2b9423af8984be5d3b8469241c5d9577..6936f05d920513155f351690e416e3fdefe161fe 100644
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -1633,8 +1633,9 @@ void HistoryBackend::MergeFavicon(
thumbnail_db_->DeleteFaviconBitmap(bitmap_id_sizes[0].bitmap_id);
favicon_sizes.erase(favicon_sizes.begin());
}
- thumbnail_db_->AddFaviconBitmap(favicon_id, bitmap_data, base::Time::Now(),
- pixel_size);
+ thumbnail_db_->AddFaviconBitmap(favicon_id, bitmap_data,
+ FaviconBitmapType::ON_VISIT,
+ base::Time::Now(), pixel_size);
favicon_sizes.push_back(pixel_size);
}
@@ -1695,9 +1696,10 @@ void HistoryBackend::MergeFavicon(
// Add the favicon bitmap as expired as it is not consistent with the
// merged in data.
- thumbnail_db_->AddFaviconBitmap(
- favicon_id, bitmaps_to_copy[j].bitmap_data, base::Time(),
- bitmaps_to_copy[j].pixel_size);
+ thumbnail_db_->AddFaviconBitmap(favicon_id,
+ bitmaps_to_copy[j].bitmap_data,
+ FaviconBitmapType::ON_VISIT, base::Time(),
+ bitmaps_to_copy[j].pixel_size);
favicon_sizes.push_back(bitmaps_to_copy[j].pixel_size);
favicon_bitmaps_copied = true;
@@ -1730,14 +1732,13 @@ void HistoryBackend::SetFavicons(const GURL& page_url,
const GURL& icon_url,
const std::vector<SkBitmap>& bitmaps) {
SetFaviconsImpl(page_url, icon_type, icon_url, bitmaps,
- /*bitmaps_are_expired=*/false);
+ FaviconBitmapType::ON_VISIT);
}
-bool HistoryBackend::SetLastResortFavicons(
- const GURL& page_url,
- favicon_base::IconType icon_type,
- const GURL& icon_url,
- const std::vector<SkBitmap>& bitmaps) {
+bool HistoryBackend::SetOnDemandFavicons(const GURL& page_url,
+ favicon_base::IconType icon_type,
+ const GURL& icon_url,
+ const std::vector<SkBitmap>& bitmaps) {
if (!thumbnail_db_ || !db_)
return false;
@@ -1748,7 +1749,7 @@ bool HistoryBackend::SetLastResortFavicons(
}
return SetFaviconsImpl(page_url, icon_type, icon_url, bitmaps,
- /*bitmaps_are_expired=*/true);
+ FaviconBitmapType::ON_DEMAND);
}
void HistoryBackend::SetFaviconsOutOfDateForPage(const GURL& page_url) {
@@ -1765,6 +1766,14 @@ void HistoryBackend::SetFaviconsOutOfDateForPage(const GURL& page_url) {
ScheduleCommit();
}
+void HistoryBackend::TouchOnDemandFavicon(const GURL& icon_url) {
+ if (!thumbnail_db_)
+ return;
+
+ thumbnail_db_->TouchOnDemandFavicon(icon_url, Time::Now());
+ ScheduleCommit();
+}
+
void HistoryBackend::SetImportedFavicons(
const favicon_base::FaviconUsageDataList& favicon_usage) {
if (!db_ || !thumbnail_db_)
@@ -1830,7 +1839,7 @@ bool HistoryBackend::SetFaviconsImpl(const GURL& page_url,
favicon_base::IconType icon_type,
const GURL& icon_url,
const std::vector<SkBitmap>& bitmaps,
- bool bitmaps_are_expired) {
+ FaviconBitmapType type) {
if (!thumbnail_db_ || !db_)
return false;
@@ -1846,11 +1855,9 @@ bool HistoryBackend::SetFaviconsImpl(const GURL& page_url,
}
bool favicon_data_modified = false;
- if (favicon_created || !bitmaps_are_expired)
- favicon_data_modified = SetFaviconBitmaps(icon_id, bitmaps);
-
- if (favicon_created && bitmaps_are_expired)
- thumbnail_db_->SetFaviconOutOfDate(icon_id);
+ if (favicon_created || type == FaviconBitmapType::ON_VISIT) {
+ favicon_data_modified = SetFaviconBitmaps(icon_id, bitmaps, type);
+ }
std::vector<favicon_base::FaviconID> icon_ids(1u, icon_id);
bool mapping_changed =
@@ -1904,7 +1911,8 @@ void HistoryBackend::UpdateFaviconMappingsAndFetchImpl(
}
bool HistoryBackend::SetFaviconBitmaps(favicon_base::FaviconID icon_id,
- const std::vector<SkBitmap>& bitmaps) {
+ const std::vector<SkBitmap>& bitmaps,
+ FaviconBitmapType type) {
pkotwicz 2017/06/07 17:40:52 Please add a comment saying that the this function
jkrcal 2017/06/09 16:38:37 Done (in the header).
std::vector<FaviconBitmapIDSize> bitmap_id_sizes;
thumbnail_db_->GetFaviconBitmapIDSizes(icon_id, &bitmap_id_sizes);
@@ -1941,11 +1949,12 @@ bool HistoryBackend::SetFaviconBitmaps(favicon_base::FaviconID icon_id,
} else {
if (!favicon_bitmaps_changed &&
IsFaviconBitmapDataEqual(bitmap_id, match_it->first)) {
- thumbnail_db_->SetFaviconBitmapLastUpdateTime(bitmap_id,
- base::Time::Now());
+ thumbnail_db_->SetFaviconBitmapLastUpdateTime(
+ bitmap_id, base::Time::Now() /* new last updated time */);
} else {
- thumbnail_db_->SetFaviconBitmap(bitmap_id, match_it->first,
- base::Time::Now());
+ thumbnail_db_->SetFaviconBitmap(
+ bitmap_id, match_it->first,
+ base::Time::Now() /* new last updated time */);
favicon_bitmaps_changed = true;
}
to_add.erase(match_it);
@@ -1953,8 +1962,10 @@ bool HistoryBackend::SetFaviconBitmaps(favicon_base::FaviconID icon_id,
}
for (size_t i = 0; i < to_add.size(); ++i) {
- thumbnail_db_->AddFaviconBitmap(icon_id, to_add[i].first, base::Time::Now(),
- to_add[i].second);
+ thumbnail_db_->AddFaviconBitmap(
+ icon_id, to_add[i].first, type,
+ base::Time::Now() /* new last updated / last requested time */,
+ to_add[i].second);
favicon_bitmaps_changed = true;
}

Powered by Google App Engine
This is Rietveld 408576698