OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/webdata/keyword_table.h" | 5 #include "chrome/browser/webdata/keyword_table.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
9 #include "base/metrics/stats_counters.h" | 9 #include "base/metrics/stats_counters.h" |
10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 DCHECK(url.id()); | 140 DCHECK(url.id()); |
141 // Be sure to change kUrlIdPosition if you add columns | 141 // Be sure to change kUrlIdPosition if you add columns |
142 sql::Statement s(db_->GetUniqueStatement( | 142 sql::Statement s(db_->GetUniqueStatement( |
143 "INSERT INTO keywords " | 143 "INSERT INTO keywords " |
144 "(short_name, keyword, favicon_url, url, safe_for_autoreplace, " | 144 "(short_name, keyword, favicon_url, url, safe_for_autoreplace, " |
145 "originating_url, date_created, usage_count, input_encodings, " | 145 "originating_url, date_created, usage_count, input_encodings, " |
146 "show_in_default_list, suggest_url, prepopulate_id, " | 146 "show_in_default_list, suggest_url, prepopulate_id, " |
147 "autogenerate_keyword, logo_id, created_by_policy, instant_url, " | 147 "autogenerate_keyword, logo_id, created_by_policy, instant_url, " |
148 "last_modified, sync_guid, id) VALUES " | 148 "last_modified, sync_guid, id) VALUES " |
149 "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")); | 149 "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")); |
150 if (!s) { | |
151 NOTREACHED() << "Statement prepare failed"; | |
152 return false; | |
153 } | |
154 BindURLToStatement(url, &s); | 150 BindURLToStatement(url, &s); |
155 s.BindInt64(kUrlIdPosition, url.id()); | 151 s.BindInt64(kUrlIdPosition, url.id()); |
| 152 |
156 if (!s.Run()) { | 153 if (!s.Run()) { |
157 NOTREACHED(); | |
158 return false; | 154 return false; |
159 } | 155 } |
160 return UpdateBackupSignature(); | 156 return UpdateBackupSignature(); |
161 } | 157 } |
162 | 158 |
163 bool KeywordTable::RemoveKeyword(TemplateURLID id) { | 159 bool KeywordTable::RemoveKeyword(TemplateURLID id) { |
164 DCHECK(id); | 160 DCHECK(id); |
165 sql::Statement s(db_->GetUniqueStatement("DELETE FROM keywords WHERE id=?")); | 161 sql::Statement s( |
166 if (!s) { | 162 db_->GetUniqueStatement("DELETE FROM keywords WHERE id = ?")); |
167 NOTREACHED() << "Statement prepare failed"; | |
168 return false; | |
169 } | |
170 s.BindInt64(0, id); | 163 s.BindInt64(0, id); |
| 164 |
171 return s.Run() && UpdateBackupSignature(); | 165 return s.Run() && UpdateBackupSignature(); |
172 } | 166 } |
173 | 167 |
174 bool KeywordTable::GetKeywords(std::vector<TemplateURL*>* urls) { | 168 bool KeywordTable::GetKeywords(std::vector<TemplateURL*>* urls) { |
175 sql::Statement s(db_->GetUniqueStatement( | 169 sql::Statement s(db_->GetUniqueStatement( |
176 "SELECT id, short_name, keyword, favicon_url, url, " | 170 "SELECT id, short_name, keyword, favicon_url, url, " |
177 "safe_for_autoreplace, originating_url, date_created, " | 171 "safe_for_autoreplace, originating_url, date_created, " |
178 "usage_count, input_encodings, show_in_default_list, " | 172 "usage_count, input_encodings, show_in_default_list, " |
179 "suggest_url, prepopulate_id, autogenerate_keyword, logo_id, " | 173 "suggest_url, prepopulate_id, autogenerate_keyword, logo_id, " |
180 "created_by_policy, instant_url, last_modified, sync_guid " | 174 "created_by_policy, instant_url, last_modified, sync_guid " |
181 "FROM keywords ORDER BY id ASC")); | 175 "FROM keywords ORDER BY id ASC")); |
182 if (!s) { | 176 |
183 NOTREACHED() << "Statement prepare failed"; | |
184 return false; | |
185 } | |
186 while (s.Step()) { | 177 while (s.Step()) { |
187 TemplateURL* template_url = new TemplateURL(); | 178 TemplateURL* template_url = new TemplateURL(); |
188 GetURLFromStatement(s, template_url); | 179 GetURLFromStatement(s, template_url); |
189 urls->push_back(template_url); | 180 urls->push_back(template_url); |
190 } | 181 } |
191 return s.Succeeded(); | 182 return s.Succeeded(); |
192 } | 183 } |
193 | 184 |
194 bool KeywordTable::UpdateKeyword(const TemplateURL& url) { | 185 bool KeywordTable::UpdateKeyword(const TemplateURL& url) { |
195 DCHECK(url.id()); | 186 DCHECK(url.id()); |
196 // Be sure to change kUrlIdPosition if you add columns | 187 // Be sure to change kUrlIdPosition if you add columns |
197 sql::Statement s(db_->GetUniqueStatement( | 188 sql::Statement s(db_->GetUniqueStatement( |
198 "UPDATE keywords " | 189 "UPDATE keywords " |
199 "SET short_name=?, keyword=?, favicon_url=?, url=?, " | 190 "SET short_name=?, keyword=?, favicon_url=?, url=?, " |
200 "safe_for_autoreplace=?, originating_url=?, date_created=?, " | 191 "safe_for_autoreplace=?, originating_url=?, date_created=?, " |
201 "usage_count=?, input_encodings=?, show_in_default_list=?, " | 192 "usage_count=?, input_encodings=?, show_in_default_list=?, " |
202 "suggest_url=?, prepopulate_id=?, autogenerate_keyword=?, " | 193 "suggest_url=?, prepopulate_id=?, autogenerate_keyword=?, " |
203 "logo_id=?, created_by_policy=?, instant_url=?, last_modified=?, " | 194 "logo_id=?, created_by_policy=?, instant_url=?, last_modified=?, " |
204 "sync_guid=? WHERE id=?")); | 195 "sync_guid=? WHERE id=?")); |
205 if (!s) { | |
206 NOTREACHED() << "Statement prepare failed"; | |
207 return false; | |
208 } | |
209 BindURLToStatement(url, &s); | 196 BindURLToStatement(url, &s); |
210 s.BindInt64(kUrlIdPosition, url.id()); | 197 s.BindInt64(kUrlIdPosition, url.id()); |
| 198 |
211 return s.Run() && UpdateBackupSignature(); | 199 return s.Run() && UpdateBackupSignature(); |
212 } | 200 } |
213 | 201 |
214 bool KeywordTable::SetDefaultSearchProviderID(int64 id) { | 202 bool KeywordTable::SetDefaultSearchProviderID(int64 id) { |
215 return meta_table_->SetValue(kDefaultSearchProviderKey, id) && | 203 return meta_table_->SetValue(kDefaultSearchProviderKey, id) && |
216 UpdateBackupSignature(); | 204 UpdateBackupSignature(); |
217 } | 205 } |
218 | 206 |
219 int64 KeywordTable::GetDefaultSearchProviderID() { | 207 int64 KeywordTable::GetDefaultSearchProviderID() { |
220 int64 value = 0; | 208 int64 value = 0; |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 return false; | 607 return false; |
620 } | 608 } |
621 if (!meta_table_->SetValue(kDefaultSearchBackupKey, backup_url)) { | 609 if (!meta_table_->SetValue(kDefaultSearchBackupKey, backup_url)) { |
622 LOG(WARNING) << "Failed to update the keyword backup"; | 610 LOG(WARNING) << "Failed to update the keyword backup"; |
623 return false; | 611 return false; |
624 } | 612 } |
625 | 613 |
626 *backup = backup_url; | 614 *backup = backup_url; |
627 return true; | 615 return true; |
628 } | 616 } |
OLD | NEW |