| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/password_manager/login_database.h" | 5 #include "chrome/browser/password_manager/login_database.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 s.bind_int64(COLUMN_DATE_CREATED, form.date_created.ToTimeT()); | 152 s.bind_int64(COLUMN_DATE_CREATED, form.date_created.ToTimeT()); |
| 153 s.bind_int(COLUMN_BLACKLISTED_BY_USER, form.blacklisted_by_user); | 153 s.bind_int(COLUMN_BLACKLISTED_BY_USER, form.blacklisted_by_user); |
| 154 s.bind_int(COLUMN_SCHEME, form.scheme); | 154 s.bind_int(COLUMN_SCHEME, form.scheme); |
| 155 if (s.step() != SQLITE_DONE) { | 155 if (s.step() != SQLITE_DONE) { |
| 156 NOTREACHED(); | 156 NOTREACHED(); |
| 157 return false; | 157 return false; |
| 158 } | 158 } |
| 159 return true; | 159 return true; |
| 160 } | 160 } |
| 161 | 161 |
| 162 bool LoginDatabase::UpdateLogin(const PasswordForm& form) { | 162 bool LoginDatabase::UpdateLogin(const PasswordForm& form, int* items_changed) { |
| 163 SQLStatement s; | 163 SQLStatement s; |
| 164 if (s.prepare(db_, "UPDATE logins SET " | 164 if (s.prepare(db_, "UPDATE logins SET " |
| 165 "action_url = ?, " | 165 "action_url = ?, " |
| 166 "password_value = ?, " | 166 "password_value = ?, " |
| 167 "ssl_valid = ?, " | 167 "ssl_valid = ?, " |
| 168 "preferred = ? " | 168 "preferred = ? " |
| 169 "WHERE origin_url = ? AND " | 169 "WHERE origin_url = ? AND " |
| 170 "username_element = ? AND " | 170 "username_element = ? AND " |
| 171 "username_value = ? AND " | 171 "username_value = ? AND " |
| 172 "password_element = ? AND " | 172 "password_element = ? AND " |
| (...skipping 11 matching lines...) Expand all Loading... |
| 184 s.bind_string(4, form.origin.spec()); | 184 s.bind_string(4, form.origin.spec()); |
| 185 s.bind_wstring(5, form.username_element); | 185 s.bind_wstring(5, form.username_element); |
| 186 s.bind_wstring(6, form.username_value); | 186 s.bind_wstring(6, form.username_value); |
| 187 s.bind_wstring(7, form.password_element); | 187 s.bind_wstring(7, form.password_element); |
| 188 s.bind_string(8, form.signon_realm); | 188 s.bind_string(8, form.signon_realm); |
| 189 | 189 |
| 190 if (s.step() != SQLITE_DONE) { | 190 if (s.step() != SQLITE_DONE) { |
| 191 NOTREACHED(); | 191 NOTREACHED(); |
| 192 return false; | 192 return false; |
| 193 } | 193 } |
| 194 if (items_changed) { |
| 195 *items_changed = s.changes(); |
| 196 } |
| 194 return true; | 197 return true; |
| 195 } | 198 } |
| 196 | 199 |
| 197 bool LoginDatabase::RemoveLogin(const PasswordForm& form) { | 200 bool LoginDatabase::RemoveLogin(const PasswordForm& form) { |
| 198 SQLStatement s; | 201 SQLStatement s; |
| 199 // Remove a login by UNIQUE-constrained fields. | 202 // Remove a login by UNIQUE-constrained fields. |
| 200 if (s.prepare(db_, | 203 if (s.prepare(db_, |
| 201 "DELETE FROM logins WHERE " | 204 "DELETE FROM logins WHERE " |
| 202 "origin_url = ? AND " | 205 "origin_url = ? AND " |
| 203 "username_element = ? AND " | 206 "username_element = ? AND " |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 | 317 |
| 315 int result; | 318 int result; |
| 316 while ((result = s.step()) == SQLITE_ROW) { | 319 while ((result = s.step()) == SQLITE_ROW) { |
| 317 PasswordForm* new_form = new PasswordForm(); | 320 PasswordForm* new_form = new PasswordForm(); |
| 318 InitPasswordFormFromStatement(new_form, &s); | 321 InitPasswordFormFromStatement(new_form, &s); |
| 319 | 322 |
| 320 forms->push_back(new_form); | 323 forms->push_back(new_form); |
| 321 } | 324 } |
| 322 return result == SQLITE_DONE; | 325 return result == SQLITE_DONE; |
| 323 } | 326 } |
| OLD | NEW |