Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: components/password_manager/core/browser/login_database.cc

Issue 818443004: Remove use_additional_auth column from logins table. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/password_manager/core/browser/login_database.h" 5 #include "components/password_manager/core/browser/login_database.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 case 6: 250 case 6:
251 if (!db_.Execute("ALTER TABLE logins ADD COLUMN display_name VARCHAR") || 251 if (!db_.Execute("ALTER TABLE logins ADD COLUMN display_name VARCHAR") ||
252 !db_.Execute("ALTER TABLE logins ADD COLUMN avatar_url VARCHAR") || 252 !db_.Execute("ALTER TABLE logins ADD COLUMN avatar_url VARCHAR") ||
253 !db_.Execute("ALTER TABLE logins " 253 !db_.Execute("ALTER TABLE logins "
254 "ADD COLUMN federation_url VARCHAR") || 254 "ADD COLUMN federation_url VARCHAR") ||
255 !db_.Execute("ALTER TABLE logins ADD COLUMN is_zero_click INTEGER")) { 255 !db_.Execute("ALTER TABLE logins ADD COLUMN is_zero_click INTEGER")) {
256 return false; 256 return false;
257 } 257 }
258 meta_table_.SetVersionNumber(7); 258 meta_table_.SetVersionNumber(7);
259 // Fall through. 259 // Fall through.
260 case 7: 260 case 7: {
261 // Keep version 8 around even though no changes are made. See 261 // Remove use_additional_auth column from database schema
Garrett Casto 2015/01/06 21:48:16 This shouldn't be here, you need to increment the
melandory 2015/01/13 12:51:15 Done.
262 // crbug.com/423716 for context. 262 // crbug.com/423716 for context.
263 std::string fields_to_copy =
264 "origin_url, action_url, username_element, username_value, "
265 "password_element, password_value, submit_element, "
266 "signon_realm, ssl_valid, preferred, date_created, "
267 "blacklisted_by_user, "
268 "scheme, password_type, possible_usernames, times_used, form_data, "
269 "date_synced, display_name, avatar_url,"
270 "federation_url, is_zero_click";
271 auto copy_data_from_to_query =
Garrett Casto 2015/01/06 21:48:16 I would just call this "copy_data_query". I can se
melandory 2015/01/13 12:51:15 Done.
272 [&fields_to_copy](std::string from, std::string to) {
273 return ("INSERT INTO " + to + " SELECT " + fields_to_copy + " FROM " +
274 from).c_str();
275 };
Garrett Casto 2015/01/06 21:48:16 Nit: Whitespace here.
melandory 2015/01/13 12:51:15 Done.
276 if (!db_.Execute(("CREATE TEMPORARY TABLE logins_data(" + fields_to_copy +
277 ")").c_str()) ||
278 !db_.Execute(
279 copy_data_from_to_query("logins", "logins_data")) ||
280 !db_.Execute("DROP TABLE logins") ||
281 !db_.Execute(
282 ("CREATE TABLE logins(" + fields_to_copy + ")").c_str()) ||
283 !db_.Execute(
284 copy_data_from_to_query("logins_data", "logins")) ||
285 !db_.Execute("DROP TABLE logins_data"))
Garrett Casto 2015/01/06 21:48:16 You need to recreate the index on logins as well.
286 return false;
263 meta_table_.SetVersionNumber(8); 287 meta_table_.SetVersionNumber(8);
264 // Fall through. 288 // Fall through.
265 // TODO(gcasto): Remove use_additional_auth by copying table. 289 }
266 // https://www.sqlite.org/lang_altertable.html
267 case 8: { 290 case 8: {
268 sql::Statement s; 291 sql::Statement s;
269 s.Assign(db_.GetCachedStatement(SQL_FROM_HERE, 292 s.Assign(db_.GetCachedStatement(SQL_FROM_HERE,
270 "UPDATE logins SET " 293 "UPDATE logins SET "
271 "date_created = " 294 "date_created = "
272 "(date_created * ?) + ?")); 295 "(date_created * ?) + ?"));
273 s.BindInt64(0, base::Time::kMicrosecondsPerSecond); 296 s.BindInt64(0, base::Time::kMicrosecondsPerSecond);
274 s.BindInt64(1, base::Time::kTimeTToMicrosecondsOffset); 297 s.BindInt64(1, base::Time::kTimeTToMicrosecondsOffset);
275 if (!s.Run()) 298 if (!s.Run())
276 return false; 299 return false;
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 866
844 bool LoginDatabase::DeleteAndRecreateDatabaseFile() { 867 bool LoginDatabase::DeleteAndRecreateDatabaseFile() {
845 DCHECK(db_.is_open()); 868 DCHECK(db_.is_open());
846 meta_table_.Reset(); 869 meta_table_.Reset();
847 db_.Close(); 870 db_.Close();
848 sql::Connection::Delete(db_path_); 871 sql::Connection::Delete(db_path_);
849 return Init(db_path_); 872 return Init(db_path_);
850 } 873 }
851 874
852 } // namespace password_manager 875 } // namespace password_manager
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698