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 |