| OLD | NEW |
| 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 "chrome/browser/webdata/autofill_table.h" | 5 #include "chrome/browser/webdata/autofill_table.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 std::vector<AutofillChange>* changes) { | 398 std::vector<AutofillChange>* changes) { |
| 399 DCHECK(changes); | 399 DCHECK(changes); |
| 400 // Query for the pair_id, name, and value of all form elements that | 400 // Query for the pair_id, name, and value of all form elements that |
| 401 // were used between the given times. | 401 // were used between the given times. |
| 402 sql::Statement s(db_->GetUniqueStatement( | 402 sql::Statement s(db_->GetUniqueStatement( |
| 403 "SELECT DISTINCT a.pair_id, a.name, a.value " | 403 "SELECT DISTINCT a.pair_id, a.name, a.value " |
| 404 "FROM autofill_dates ad JOIN autofill a ON ad.pair_id = a.pair_id " | 404 "FROM autofill_dates ad JOIN autofill a ON ad.pair_id = a.pair_id " |
| 405 "WHERE ad.date_created >= ? AND ad.date_created < ?")); | 405 "WHERE ad.date_created >= ? AND ad.date_created < ?")); |
| 406 s.BindInt64(0, delete_begin.ToTimeT()); | 406 s.BindInt64(0, delete_begin.ToTimeT()); |
| 407 s.BindInt64(1, | 407 s.BindInt64(1, |
| 408 delete_end.is_null() ? | 408 (delete_end.is_null() || delete_end == base::Time::Max()) ? |
| 409 std::numeric_limits<int64>::max() : | 409 std::numeric_limits<int64>::max() : |
| 410 delete_end.ToTimeT()); | 410 delete_end.ToTimeT()); |
| 411 | 411 |
| 412 AutofillElementList elements; | 412 AutofillElementList elements; |
| 413 while (s.Step()) { | 413 while (s.Step()) { |
| 414 elements.push_back(MakeTuple(s.ColumnInt64(0), | 414 elements.push_back(MakeTuple(s.ColumnInt64(0), |
| 415 s.ColumnString16(1), | 415 s.ColumnString16(1), |
| 416 s.ColumnString16(2))); | 416 s.ColumnString16(2))); |
| 417 } | 417 } |
| 418 if (!s.Succeeded()) | 418 if (!s.Succeeded()) |
| (...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1137 } | 1137 } |
| 1138 | 1138 |
| 1139 bool AutofillTable::RemoveAutofillProfilesAndCreditCardsModifiedBetween( | 1139 bool AutofillTable::RemoveAutofillProfilesAndCreditCardsModifiedBetween( |
| 1140 const Time& delete_begin, | 1140 const Time& delete_begin, |
| 1141 const Time& delete_end, | 1141 const Time& delete_end, |
| 1142 std::vector<std::string>* profile_guids, | 1142 std::vector<std::string>* profile_guids, |
| 1143 std::vector<std::string>* credit_card_guids) { | 1143 std::vector<std::string>* credit_card_guids) { |
| 1144 DCHECK(delete_end.is_null() || delete_begin < delete_end); | 1144 DCHECK(delete_end.is_null() || delete_begin < delete_end); |
| 1145 | 1145 |
| 1146 time_t delete_begin_t = delete_begin.ToTimeT(); | 1146 time_t delete_begin_t = delete_begin.ToTimeT(); |
| 1147 time_t delete_end_t = delete_end.is_null() ? | 1147 time_t delete_end_t = |
| 1148 std::numeric_limits<time_t>::max() : | 1148 (delete_end.is_null() || delete_end == base::Time::Max()) ? |
| 1149 delete_end.ToTimeT(); | 1149 std::numeric_limits<time_t>::max() : delete_end.ToTimeT(); |
| 1150 | 1150 |
| 1151 // Remember Autofill profiles in the time range. | 1151 // Remember Autofill profiles in the time range. |
| 1152 sql::Statement s_profiles_get(db_->GetUniqueStatement( | 1152 sql::Statement s_profiles_get(db_->GetUniqueStatement( |
| 1153 "SELECT guid FROM autofill_profiles " | 1153 "SELECT guid FROM autofill_profiles " |
| 1154 "WHERE date_modified >= ? AND date_modified < ?")); | 1154 "WHERE date_modified >= ? AND date_modified < ?")); |
| 1155 s_profiles_get.BindInt64(0, delete_begin_t); | 1155 s_profiles_get.BindInt64(0, delete_begin_t); |
| 1156 s_profiles_get.BindInt64(1, delete_end_t); | 1156 s_profiles_get.BindInt64(1, delete_end_t); |
| 1157 | 1157 |
| 1158 profile_guids->clear(); | 1158 profile_guids->clear(); |
| 1159 while (s_profiles_get.Step()) { | 1159 while (s_profiles_get.Step()) { |
| (...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1978 "WHERE guid=?")); | 1978 "WHERE guid=?")); |
| 1979 s_date.BindInt64(0, date_item->second); | 1979 s_date.BindInt64(0, date_item->second); |
| 1980 s_date.BindString(1, iter->guid()); | 1980 s_date.BindString(1, iter->guid()); |
| 1981 | 1981 |
| 1982 if (!s_date.Run()) | 1982 if (!s_date.Run()) |
| 1983 return false; | 1983 return false; |
| 1984 } | 1984 } |
| 1985 | 1985 |
| 1986 return true; | 1986 return true; |
| 1987 } | 1987 } |
| OLD | NEW |