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

Side by Side Diff: Source/modules/webdatabase/DatabaseSync.cpp

Issue 103473002: Manage WebSQL callbacks with OwnPtr instead of refcounting (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix RefPtr/OwnPtr transition gcc errors Created 7 years 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 DatabaseSync::~DatabaseSync() 66 DatabaseSync::~DatabaseSync()
67 { 67 {
68 ASSERT(m_executionContext->isContextThread()); 68 ASSERT(m_executionContext->isContextThread());
69 } 69 }
70 70
71 PassRefPtr<DatabaseBackendSync> DatabaseSync::backend() 71 PassRefPtr<DatabaseBackendSync> DatabaseSync::backend()
72 { 72 {
73 return this; 73 return this;
74 } 74 }
75 75
76 void DatabaseSync::changeVersion(const String& oldVersion, const String& newVers ion, PassRefPtr<SQLTransactionSyncCallback> changeVersionCallback, ExceptionStat e& exceptionState) 76 void DatabaseSync::changeVersion(const String& oldVersion, const String& newVers ion, PassOwnPtr<SQLTransactionSyncCallback> changeVersionCallback, ExceptionStat e& exceptionState)
77 { 77 {
78 ASSERT(m_executionContext->isContextThread()); 78 ASSERT(m_executionContext->isContextThread());
79 79
80 if (sqliteDatabase().transactionInProgress()) { 80 if (sqliteDatabase().transactionInProgress()) {
81 reportChangeVersionResult(1, SQLError::DATABASE_ERR, 0); 81 reportChangeVersionResult(1, SQLError::DATABASE_ERR, 0);
82 setLastErrorMessage("unable to changeVersion from within a transaction") ; 82 setLastErrorMessage("unable to changeVersion from within a transaction") ;
83 exceptionState.throwUninformativeAndGenericDOMException(SQLDatabaseError ); 83 exceptionState.throwUninformativeAndGenericDOMException(SQLDatabaseError );
84 return; 84 return;
85 } 85 }
86 86
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 setCachedVersion(oldVersion); 126 setCachedVersion(oldVersion);
127 return; 127 return;
128 } 128 }
129 129
130 reportChangeVersionResult(0, -1, 0); // OK 130 reportChangeVersionResult(0, -1, 0); // OK
131 131
132 setExpectedVersion(newVersion); 132 setExpectedVersion(newVersion);
133 setLastErrorMessage(""); 133 setLastErrorMessage("");
134 } 134 }
135 135
136 void DatabaseSync::transaction(PassRefPtr<SQLTransactionSyncCallback> callback, ExceptionState& exceptionState) 136 void DatabaseSync::transaction(PassOwnPtr<SQLTransactionSyncCallback> callback, ExceptionState& exceptionState)
137 { 137 {
138 runTransaction(callback, false, exceptionState); 138 runTransaction(callback, false, exceptionState);
139 } 139 }
140 140
141 void DatabaseSync::readTransaction(PassRefPtr<SQLTransactionSyncCallback> callba ck, ExceptionState& exceptionState) 141 void DatabaseSync::readTransaction(PassOwnPtr<SQLTransactionSyncCallback> callba ck, ExceptionState& exceptionState)
142 { 142 {
143 runTransaction(callback, true, exceptionState); 143 runTransaction(callback, true, exceptionState);
144 } 144 }
145 145
146 void DatabaseSync::rollbackTransaction(PassRefPtr<SQLTransactionSync> transactio n) 146 void DatabaseSync::rollbackTransaction(PassRefPtr<SQLTransactionSync> transactio n)
147 { 147 {
148 ASSERT(!lastErrorMessage().isEmpty()); 148 ASSERT(!lastErrorMessage().isEmpty());
149 transaction->rollback(); 149 transaction->rollback();
150 setLastErrorMessage(""); 150 setLastErrorMessage("");
151 return; 151 return;
152 } 152 }
153 153
154 void DatabaseSync::runTransaction(PassRefPtr<SQLTransactionSyncCallback> callbac k, bool readOnly, ExceptionState& exceptionState) 154 void DatabaseSync::runTransaction(PassOwnPtr<SQLTransactionSyncCallback> callbac k, bool readOnly, ExceptionState& exceptionState)
155 { 155 {
156 ASSERT(m_executionContext->isContextThread()); 156 ASSERT(m_executionContext->isContextThread());
157 157
158 if (sqliteDatabase().transactionInProgress()) { 158 if (sqliteDatabase().transactionInProgress()) {
159 setLastErrorMessage("unable to start a transaction from within a transac tion"); 159 setLastErrorMessage("unable to start a transaction from within a transac tion");
160 exceptionState.throwUninformativeAndGenericDOMException(SQLDatabaseError ); 160 exceptionState.throwUninformativeAndGenericDOMException(SQLDatabaseError );
161 return; 161 return;
162 } 162 }
163 163
164 RefPtr<SQLTransactionSync> transaction = SQLTransactionSync::create(this, ca llback, readOnly); 164 RefPtr<SQLTransactionSync> transaction = SQLTransactionSync::create(this, ca llback, readOnly);
(...skipping 23 matching lines...) Expand all
188 ASSERT(m_executionContext->isContextThread()); 188 ASSERT(m_executionContext->isContextThread());
189 189
190 if (!opened()) 190 if (!opened())
191 return; 191 return;
192 192
193 logErrorMessage("forcibly closing database"); 193 logErrorMessage("forcibly closing database");
194 closeDatabase(); 194 closeDatabase();
195 } 195 }
196 196
197 } // namespace WebCore 197 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/webdatabase/DatabaseSync.h ('k') | Source/modules/webdatabase/SQLCallbackWrapper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698