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

Side by Side Diff: third_party/WebKit/Source/modules/webdatabase/ChangeVersionWrapper.cpp

Issue 2813433002: Replace ASSERT, ASSERT_NOT_REACHED, and RELEASE_ASSERT in modules/webdatabase (Closed)
Patch Set: Replace ASSERT, ASSERT_NOT_REACHED, and RELEASE_ASSERT in modules/webdatabase Created 3 years, 8 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 | third_party/WebKit/Source/modules/webdatabase/DOMWindowWebDatabase.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2013 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2013 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 21 matching lines...) Expand all
32 32
33 namespace blink { 33 namespace blink {
34 34
35 ChangeVersionWrapper::ChangeVersionWrapper(const String& old_version, 35 ChangeVersionWrapper::ChangeVersionWrapper(const String& old_version,
36 const String& new_version) 36 const String& new_version)
37 : old_version_(old_version.IsolatedCopy()), 37 : old_version_(old_version.IsolatedCopy()),
38 new_version_(new_version.IsolatedCopy()) {} 38 new_version_(new_version.IsolatedCopy()) {}
39 39
40 bool ChangeVersionWrapper::PerformPreflight( 40 bool ChangeVersionWrapper::PerformPreflight(
41 SQLTransactionBackend* transaction) { 41 SQLTransactionBackend* transaction) {
42 ASSERT(transaction && transaction->GetDatabase()); 42 DCHECK(transaction);
43 DCHECK(transaction->GetDatabase());
43 44
44 Database* database = transaction->GetDatabase(); 45 Database* database = transaction->GetDatabase();
45 46
46 String actual_version; 47 String actual_version;
47 if (!database->GetVersionFromDatabase(actual_version)) { 48 if (!database->GetVersionFromDatabase(actual_version)) {
48 int sqlite_error = database->SqliteDatabase().LastError(); 49 int sqlite_error = database->SqliteDatabase().LastError();
49 database->ReportChangeVersionResult(1, SQLError::kUnknownErr, sqlite_error); 50 database->ReportChangeVersionResult(1, SQLError::kUnknownErr, sqlite_error);
50 sql_error_ = SQLErrorData::Create( 51 sql_error_ = SQLErrorData::Create(
51 SQLError::kUnknownErr, "unable to read the current version", 52 SQLError::kUnknownErr, "unable to read the current version",
52 sqlite_error, database->SqliteDatabase().LastErrorMsg()); 53 sqlite_error, database->SqliteDatabase().LastErrorMsg());
53 return false; 54 return false;
54 } 55 }
55 56
56 if (actual_version != old_version_) { 57 if (actual_version != old_version_) {
57 database->ReportChangeVersionResult(2, SQLError::kVersionErr, 0); 58 database->ReportChangeVersionResult(2, SQLError::kVersionErr, 0);
58 sql_error_ = SQLErrorData::Create(SQLError::kVersionErr, 59 sql_error_ = SQLErrorData::Create(SQLError::kVersionErr,
59 "current version of the database and " 60 "current version of the database and "
60 "`oldVersion` argument do not match"); 61 "`oldVersion` argument do not match");
61 return false; 62 return false;
62 } 63 }
63 64
64 return true; 65 return true;
65 } 66 }
66 67
67 bool ChangeVersionWrapper::PerformPostflight( 68 bool ChangeVersionWrapper::PerformPostflight(
68 SQLTransactionBackend* transaction) { 69 SQLTransactionBackend* transaction) {
69 ASSERT(transaction && transaction->GetDatabase()); 70 DCHECK(transaction);
71 DCHECK(transaction->GetDatabase());
70 72
71 Database* database = transaction->GetDatabase(); 73 Database* database = transaction->GetDatabase();
72 74
73 if (!database->SetVersionInDatabase(new_version_)) { 75 if (!database->SetVersionInDatabase(new_version_)) {
74 int sqlite_error = database->SqliteDatabase().LastError(); 76 int sqlite_error = database->SqliteDatabase().LastError();
75 database->ReportChangeVersionResult(3, SQLError::kUnknownErr, sqlite_error); 77 database->ReportChangeVersionResult(3, SQLError::kUnknownErr, sqlite_error);
76 sql_error_ = SQLErrorData::Create( 78 sql_error_ = SQLErrorData::Create(
77 SQLError::kUnknownErr, "unable to set new version in database", 79 SQLError::kUnknownErr, "unable to set new version in database",
78 sqlite_error, database->SqliteDatabase().LastErrorMsg()); 80 sqlite_error, database->SqliteDatabase().LastErrorMsg());
79 return false; 81 return false;
80 } 82 }
81 83
82 database->SetExpectedVersion(new_version_); 84 database->SetExpectedVersion(new_version_);
83 85
84 database->ReportChangeVersionResult(0, -1, 0); // OK 86 database->ReportChangeVersionResult(0, -1, 0); // OK
85 return true; 87 return true;
86 } 88 }
87 89
88 void ChangeVersionWrapper::HandleCommitFailedAfterPostflight( 90 void ChangeVersionWrapper::HandleCommitFailedAfterPostflight(
89 SQLTransactionBackend* transaction) { 91 SQLTransactionBackend* transaction) {
90 transaction->GetDatabase()->SetCachedVersion(old_version_); 92 transaction->GetDatabase()->SetCachedVersion(old_version_);
91 } 93 }
92 94
93 } // namespace blink 95 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/modules/webdatabase/DOMWindowWebDatabase.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698