| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/search_engines/keyword_table.h" | 5 #include "components/search_engines/keyword_table.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 // TODO(beaudoin): Check what it would take to use a new table to store | 96 // TODO(beaudoin): Check what it would take to use a new table to store |
| 97 // alternate_urls while keeping backups and table signature in a good state. | 97 // alternate_urls while keeping backups and table signature in a good state. |
| 98 // See: crbug.com/153520 | 98 // See: crbug.com/153520 |
| 99 base::ListValue alternate_urls_value; | 99 base::ListValue alternate_urls_value; |
| 100 for (size_t i = 0; i < data.alternate_urls.size(); ++i) | 100 for (size_t i = 0; i < data.alternate_urls.size(); ++i) |
| 101 alternate_urls_value.AppendString(data.alternate_urls[i]); | 101 alternate_urls_value.AppendString(data.alternate_urls[i]); |
| 102 std::string alternate_urls; | 102 std::string alternate_urls; |
| 103 base::JSONWriter::Write(&alternate_urls_value, &alternate_urls); | 103 base::JSONWriter::Write(&alternate_urls_value, &alternate_urls); |
| 104 | 104 |
| 105 s->BindInt64(id_column, data.id); | 105 s->BindInt64(id_column, data.id); |
| 106 s->BindString16(starting_column, data.short_name); | 106 s->BindString16(starting_column, data.short_name()); |
| 107 s->BindString16(starting_column + 1, data.keyword()); | 107 s->BindString16(starting_column + 1, data.keyword()); |
| 108 s->BindString(starting_column + 2, data.favicon_url.is_valid() ? | 108 s->BindString(starting_column + 2, data.favicon_url.is_valid() ? |
| 109 history::URLDatabase::GURLToDatabaseURL(data.favicon_url) : | 109 history::URLDatabase::GURLToDatabaseURL(data.favicon_url) : |
| 110 std::string()); | 110 std::string()); |
| 111 s->BindString(starting_column + 3, data.url()); | 111 s->BindString(starting_column + 3, data.url()); |
| 112 s->BindBool(starting_column + 4, data.safe_for_autoreplace); | 112 s->BindBool(starting_column + 4, data.safe_for_autoreplace); |
| 113 s->BindString(starting_column + 5, data.originating_url.is_valid() ? | 113 s->BindString(starting_column + 5, data.originating_url.is_valid() ? |
| 114 history::URLDatabase::GURLToDatabaseURL(data.originating_url) : | 114 history::URLDatabase::GURLToDatabaseURL(data.originating_url) : |
| 115 std::string()); | 115 std::string()); |
| 116 s->BindInt64(starting_column + 6, data.date_created.ToTimeT()); | 116 s->BindInt64(starting_column + 6, data.date_created.ToTimeT()); |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 bool KeywordTable::MigrateToVersion59RemoveExtensionKeywords() { | 284 bool KeywordTable::MigrateToVersion59RemoveExtensionKeywords() { |
| 285 return db_->Execute("DELETE FROM keywords " | 285 return db_->Execute("DELETE FROM keywords " |
| 286 "WHERE url LIKE 'chrome-extension://%'"); | 286 "WHERE url LIKE 'chrome-extension://%'"); |
| 287 } | 287 } |
| 288 | 288 |
| 289 // static | 289 // static |
| 290 bool KeywordTable::GetKeywordDataFromStatement(const sql::Statement& s, | 290 bool KeywordTable::GetKeywordDataFromStatement(const sql::Statement& s, |
| 291 TemplateURLData* data) { | 291 TemplateURLData* data) { |
| 292 DCHECK(data); | 292 DCHECK(data); |
| 293 | 293 |
| 294 data->short_name = s.ColumnString16(1); | 294 data->SetShortName(s.ColumnString16(1)); |
| 295 data->SetKeyword(s.ColumnString16(2)); | 295 data->SetKeyword(s.ColumnString16(2)); |
| 296 // Due to past bugs, we might have persisted entries with empty URLs. Avoid | 296 // Due to past bugs, we might have persisted entries with empty URLs. Avoid |
| 297 // reading these out. (GetKeywords() will delete these entries on return.) | 297 // reading these out. (GetKeywords() will delete these entries on return.) |
| 298 // NOTE: This code should only be needed as long as we might be reading such | 298 // NOTE: This code should only be needed as long as we might be reading such |
| 299 // potentially-old data and can be removed afterward. | 299 // potentially-old data and can be removed afterward. |
| 300 if (s.ColumnString(4).empty()) | 300 if (s.ColumnString(4).empty()) |
| 301 return false; | 301 return false; |
| 302 data->SetURL(s.ColumnString(4)); | 302 data->SetURL(s.ColumnString(4)); |
| 303 data->suggestions_url = s.ColumnString(11); | 303 data->suggestions_url = s.ColumnString(11); |
| 304 data->instant_url = s.ColumnString(14); | 304 data->instant_url = s.ColumnString(14); |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 } | 473 } |
| 474 } | 474 } |
| 475 | 475 |
| 476 // Replace the old table with the new one. | 476 // Replace the old table with the new one. |
| 477 sql = "DROP TABLE " + name; | 477 sql = "DROP TABLE " + name; |
| 478 if (!db_->Execute(sql.c_str())) | 478 if (!db_->Execute(sql.c_str())) |
| 479 return false; | 479 return false; |
| 480 sql = "ALTER TABLE keywords_temp RENAME TO " + name; | 480 sql = "ALTER TABLE keywords_temp RENAME TO " + name; |
| 481 return db_->Execute(sql.c_str()); | 481 return db_->Execute(sql.c_str()); |
| 482 } | 482 } |
| OLD | NEW |