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

Side by Side Diff: components/history/core/browser/android/favicon_sql_handler.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 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/android/favicon_sql_handler.h" 5 #include "components/history/core/browser/android/favicon_sql_handler.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/ref_counted_memory.h" 10 #include "base/memory/ref_counted_memory.h"
(...skipping 21 matching lines...) Expand all
32 32
33 bool FaviconSQLHandler::Update(const HistoryAndBookmarkRow& row, 33 bool FaviconSQLHandler::Update(const HistoryAndBookmarkRow& row,
34 const TableIDRows& ids_set) { 34 const TableIDRows& ids_set) {
35 if (!row.favicon_valid()) 35 if (!row.favicon_valid())
36 return Delete(ids_set); 36 return Delete(ids_set);
37 37
38 // If the image_data will be updated, it is not reasonable to find if the 38 // If the image_data will be updated, it is not reasonable to find if the
39 // icon is already in database, just create a new favicon. 39 // icon is already in database, just create a new favicon.
40 // TODO(pkotwicz): Pass in real pixel size. 40 // TODO(pkotwicz): Pass in real pixel size.
41 favicon_base::FaviconID favicon_id = thumbnail_db_->AddFavicon( 41 favicon_base::FaviconID favicon_id = thumbnail_db_->AddFavicon(
42 GURL(), favicon_base::FAVICON, row.favicon(), Time::Now(), gfx::Size()); 42 GURL(), favicon_base::FAVICON, row.favicon(), FaviconBitmapType::ON_VISIT,
43 Time::Now(), gfx::Size());
43 44
44 if (!favicon_id) 45 if (!favicon_id)
45 return false; 46 return false;
46 47
47 std::vector<favicon_base::FaviconID> favicon_ids; 48 std::vector<favicon_base::FaviconID> favicon_ids;
48 for (TableIDRows::const_iterator i = ids_set.begin(); 49 for (TableIDRows::const_iterator i = ids_set.begin();
49 i != ids_set.end(); ++i) { 50 i != ids_set.end(); ++i) {
50 // Remove all icon mappings to favicons of type FAVICON. 51 // Remove all icon mappings to favicons of type FAVICON.
51 std::vector<IconMapping> icon_mappings; 52 std::vector<IconMapping> icon_mappings;
52 thumbnail_db_->GetIconMappingsForPageURL( 53 thumbnail_db_->GetIconMappingsForPageURL(
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 bool FaviconSQLHandler::Insert(HistoryAndBookmarkRow* row) { 98 bool FaviconSQLHandler::Insert(HistoryAndBookmarkRow* row) {
98 if (!row->is_value_set_explicitly(HistoryAndBookmarkRow::FAVICON) || 99 if (!row->is_value_set_explicitly(HistoryAndBookmarkRow::FAVICON) ||
99 !row->favicon_valid()) 100 !row->favicon_valid())
100 return true; 101 return true;
101 102
102 DCHECK(row->is_value_set_explicitly(HistoryAndBookmarkRow::URL)); 103 DCHECK(row->is_value_set_explicitly(HistoryAndBookmarkRow::URL));
103 104
104 // Is it a problem to give a empty URL? 105 // Is it a problem to give a empty URL?
105 // TODO(pkotwicz): Pass in real pixel size. 106 // TODO(pkotwicz): Pass in real pixel size.
106 favicon_base::FaviconID id = thumbnail_db_->AddFavicon( 107 favicon_base::FaviconID id = thumbnail_db_->AddFavicon(
107 GURL(), favicon_base::FAVICON, row->favicon(), Time::Now(), gfx::Size()); 108 GURL(), favicon_base::FAVICON, row->favicon(),
109 FaviconBitmapType::ON_VISIT, Time::Now(), gfx::Size());
108 if (!id) 110 if (!id)
109 return false; 111 return false;
110 return thumbnail_db_->AddIconMapping(row->url(), id); 112 return thumbnail_db_->AddIconMapping(row->url(), id);
111 } 113 }
112 114
113 bool FaviconSQLHandler::DeleteUnusedFavicon( 115 bool FaviconSQLHandler::DeleteUnusedFavicon(
114 const std::vector<favicon_base::FaviconID>& ids) { 116 const std::vector<favicon_base::FaviconID>& ids) {
115 for (std::vector<favicon_base::FaviconID>::const_iterator i = ids.begin(); 117 for (std::vector<favicon_base::FaviconID>::const_iterator i = ids.begin();
116 i != ids.end(); 118 i != ids.end();
117 ++i) { 119 ++i) {
118 if (!thumbnail_db_->HasMappingFor(*i) && !thumbnail_db_->DeleteFavicon(*i)) 120 if (!thumbnail_db_->HasMappingFor(*i) && !thumbnail_db_->DeleteFavicon(*i))
119 return false; 121 return false;
120 } 122 }
121 return true; 123 return true;
122 } 124 }
123 125
124 } // namespace history. 126 } // namespace history.
OLDNEW
« no previous file with comments | « components/favicon/core/test/mock_favicon_service.h ('k') | components/history/core/browser/history_backend.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698