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

Side by Side Diff: components/history/core/browser/history_backend.cc

Issue 2856873002: [Thumbnails DB] Allow setting last_requested time when accessing favicons. (Closed)
Patch Set: Filter out bookmarks Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/history/core/browser/history_backend.h" 5 #include "components/history/core/browser/history_backend.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <list> 9 #include <list>
10 #include <map> 10 #include <map>
(...skipping 1491 matching lines...) Expand 10 before | Expand all | Expand 10 after
1502 favicon_base::IconType icon_type; 1502 favicon_base::IconType icon_type;
1503 if (!thumbnail_db_->GetFaviconHeader(largest_icon.icon_id, &icon_url, 1503 if (!thumbnail_db_->GetFaviconHeader(largest_icon.icon_id, &icon_url,
1504 &icon_type)) { 1504 &icon_type)) {
1505 return; 1505 return;
1506 } 1506 }
1507 1507
1508 base::Time last_updated; 1508 base::Time last_updated;
1509 favicon_base::FaviconRawBitmapResult bitmap_result; 1509 favicon_base::FaviconRawBitmapResult bitmap_result;
1510 bitmap_result.icon_url = icon_url; 1510 bitmap_result.icon_url = icon_url;
1511 bitmap_result.icon_type = icon_type; 1511 bitmap_result.icon_type = icon_type;
1512 if (!thumbnail_db_->GetFaviconBitmap(largest_icon.bitmap_id, 1512 if (!thumbnail_db_->GetFaviconBitmap(
1513 &last_updated, nullptr, 1513 largest_icon.bitmap_id, /*access_time=*/Time::Now(), &last_updated,
1514 &bitmap_result.bitmap_data, 1514 &bitmap_result.bitmap_data, &bitmap_result.pixel_size)) {
1515 &bitmap_result.pixel_size)) {
1516 return; 1515 return;
1517 } 1516 }
1518 1517
1519 bitmap_result.expired = 1518 bitmap_result.expired =
1520 (Time::Now() - last_updated) > TimeDelta::FromDays(kFaviconRefetchDays); 1519 (Time::Now() - last_updated) > TimeDelta::FromDays(kFaviconRefetchDays);
1521 if (bitmap_result.is_valid()) 1520 if (bitmap_result.is_valid())
1522 *favicon_bitmap_result = bitmap_result; 1521 *favicon_bitmap_result = bitmap_result;
1523 1522
1524 LOCAL_HISTOGRAM_TIMES("History.GetLargestFaviconForURL", 1523 LOCAL_HISTOGRAM_TIMES("History.GetLargestFaviconForURL",
1525 TimeTicks::Now() - beginning_time); 1524 TimeTicks::Now() - beginning_time);
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
1961 return favicon_bitmaps_changed; 1960 return favicon_bitmaps_changed;
1962 } 1961 }
1963 1962
1964 bool HistoryBackend::IsFaviconBitmapDataEqual( 1963 bool HistoryBackend::IsFaviconBitmapDataEqual(
1965 FaviconBitmapID bitmap_id, 1964 FaviconBitmapID bitmap_id,
1966 const scoped_refptr<base::RefCountedMemory>& new_bitmap_data) { 1965 const scoped_refptr<base::RefCountedMemory>& new_bitmap_data) {
1967 if (!new_bitmap_data) 1966 if (!new_bitmap_data)
1968 return false; 1967 return false;
1969 1968
1970 scoped_refptr<base::RefCountedMemory> original_bitmap_data; 1969 scoped_refptr<base::RefCountedMemory> original_bitmap_data;
1971 thumbnail_db_->GetFaviconBitmap(bitmap_id, nullptr, nullptr, 1970 thumbnail_db_->GetFaviconBitmap(bitmap_id, /*access_time=*/Time::Now(),
1972 &original_bitmap_data, nullptr); 1971 nullptr, &original_bitmap_data, nullptr);
1973 return new_bitmap_data->Equals(original_bitmap_data); 1972 return new_bitmap_data->Equals(original_bitmap_data);
1974 } 1973 }
1975 1974
1976 bool HistoryBackend::GetFaviconsFromDB( 1975 bool HistoryBackend::GetFaviconsFromDB(
1977 const GURL& page_url, 1976 const GURL& page_url,
1978 int icon_types, 1977 int icon_types,
1979 const std::vector<int>& desired_sizes, 1978 const std::vector<int>& desired_sizes,
1980 std::vector<favicon_base::FaviconRawBitmapResult>* favicon_bitmap_results) { 1979 std::vector<favicon_base::FaviconRawBitmapResult>* favicon_bitmap_results) {
1981 DCHECK(favicon_bitmap_results); 1980 DCHECK(favicon_bitmap_results);
1982 favicon_bitmap_results->clear(); 1981 favicon_bitmap_results->clear();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
2050 if (!thumbnail_db_->GetFaviconHeader(best_favicon_id, &icon_url, 2049 if (!thumbnail_db_->GetFaviconHeader(best_favicon_id, &icon_url,
2051 &icon_type)) { 2050 &icon_type)) {
2052 return false; 2051 return false;
2053 } 2052 }
2054 2053
2055 for (size_t i = 0; i < best_bitmap_ids.size(); ++i) { 2054 for (size_t i = 0; i < best_bitmap_ids.size(); ++i) {
2056 base::Time last_updated; 2055 base::Time last_updated;
2057 favicon_base::FaviconRawBitmapResult bitmap_result; 2056 favicon_base::FaviconRawBitmapResult bitmap_result;
2058 bitmap_result.icon_url = icon_url; 2057 bitmap_result.icon_url = icon_url;
2059 bitmap_result.icon_type = icon_type; 2058 bitmap_result.icon_type = icon_type;
2060 if (!thumbnail_db_->GetFaviconBitmap(best_bitmap_ids[i], &last_updated, 2059 if (!thumbnail_db_->GetFaviconBitmap(
2061 nullptr, &bitmap_result.bitmap_data, 2060 best_bitmap_ids[i], /*access_time=*/Time::Now(), &last_updated,
2062 &bitmap_result.pixel_size)) { 2061 &bitmap_result.bitmap_data, &bitmap_result.pixel_size)) {
2063 return false; 2062 return false;
2064 } 2063 }
2065 2064
2066 bitmap_result.expired = 2065 bitmap_result.expired =
2067 (Time::Now() - last_updated) > TimeDelta::FromDays(kFaviconRefetchDays); 2066 (Time::Now() - last_updated) > TimeDelta::FromDays(kFaviconRefetchDays);
2068 if (bitmap_result.is_valid()) 2067 if (bitmap_result.is_valid())
2069 favicon_bitmap_results->push_back(bitmap_result); 2068 favicon_bitmap_results->push_back(bitmap_result);
2070 } 2069 }
2071 return true; 2070 return true;
2072 } 2071 }
(...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after
2635 // transaction is currently open. 2634 // transaction is currently open.
2636 db_->CommitTransaction(); 2635 db_->CommitTransaction();
2637 db_->Vacuum(); 2636 db_->Vacuum();
2638 db_->BeginTransaction(); 2637 db_->BeginTransaction();
2639 db_->GetStartDate(&first_recorded_time_); 2638 db_->GetStartDate(&first_recorded_time_);
2640 2639
2641 return true; 2640 return true;
2642 } 2641 }
2643 2642
2644 } // namespace history 2643 } // namespace history
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698