Chromium Code Reviews| Index: chrome/browser/net/sqlite_persistent_cookie_store.cc |
| diff --git a/chrome/browser/net/sqlite_persistent_cookie_store.cc b/chrome/browser/net/sqlite_persistent_cookie_store.cc |
| index e3007c6122b03ffeff17e67a729fe88620e2568e..d4243086a3bcd0056936c95474c67c275c7ba80f 100644 |
| --- a/chrome/browser/net/sqlite_persistent_cookie_store.cc |
| +++ b/chrome/browser/net/sqlite_persistent_cookie_store.cc |
| @@ -768,10 +768,19 @@ bool SQLitePersistentCookieStore::Backend::EnsureDatabaseVersion() { |
| // Put future migration cases here. |
| - // When the version is too old, we just try to continue anyway, there should |
| - // not be a released product that makes a database too old for us to handle. |
| - LOG_IF(WARNING, cur_version < kCurrentVersionNumber) << |
| - "Cookie database version " << cur_version << " is too old to handle."; |
| + if (cur_version < kCurrentVersionNumber) { |
| + meta_table_.Reset(); |
| + db_.reset(new sql::Connection); |
| + if (!file_util::Delete(path_, false) || |
|
Scott Hess - ex-Googler
2012/03/01 22:15:15
I am a small bit concerned about whether we'll see
erikwright (departed)
2012/03/02 01:04:27
Done.
|
| + !db_->Open(path_) || |
| + !meta_table_.Init( |
| + db_.get(), kCurrentVersionNumber, kCompatibleVersionNumber)) { |
|
Scott Hess - ex-Googler
2012/03/01 22:15:15
I wish this wasn't replicating other code. It als
erikwright (departed)
2012/03/02 01:04:27
The caller actually calls InitTable only if this f
|
| + NOTREACHED() << "Unable to reset the cookie DB."; |
| + meta_table_.Reset(); |
| + db_.reset(); |
| + return false; |
| + } |
| + } |
| return true; |
| } |