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

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

Issue 19724003: Revert "Transition modules/** to use ExceptionState" (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 5 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2013 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008, 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 11 matching lines...) Expand all
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #include "config.h" 29 #include "config.h"
30 #include "modules/webdatabase/SQLTransaction.h" 30 #include "modules/webdatabase/SQLTransaction.h"
31 31
32 #include "bindings/v8/ExceptionState.h"
33 #include "core/dom/ExceptionCode.h" 32 #include "core/dom/ExceptionCode.h"
34 #include "core/html/VoidCallback.h" 33 #include "core/html/VoidCallback.h"
35 #include "core/platform/Logging.h" 34 #include "core/platform/Logging.h"
36 #include "modules/webdatabase/AbstractSQLTransactionBackend.h" 35 #include "modules/webdatabase/AbstractSQLTransactionBackend.h"
37 #include "modules/webdatabase/Database.h" 36 #include "modules/webdatabase/Database.h"
38 #include "modules/webdatabase/DatabaseAuthorizer.h" 37 #include "modules/webdatabase/DatabaseAuthorizer.h"
39 #include "modules/webdatabase/DatabaseContext.h" 38 #include "modules/webdatabase/DatabaseContext.h"
40 #include "modules/webdatabase/SQLError.h" 39 #include "modules/webdatabase/SQLError.h"
41 #include "modules/webdatabase/SQLStatementCallback.h" 40 #include "modules/webdatabase/SQLStatementCallback.h"
42 #include "modules/webdatabase/SQLStatementErrorCallback.h" 41 #include "modules/webdatabase/SQLStatementErrorCallback.h"
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 m_backend->requestTransitToState(m_nextState); 243 m_backend->requestTransitToState(m_nextState);
245 return SQLTransactionState::Idle; 244 return SQLTransactionState::Idle;
246 } 245 }
247 246
248 void SQLTransaction::performPendingCallback() 247 void SQLTransaction::performPendingCallback()
249 { 248 {
250 computeNextStateAndCleanupIfNeeded(); 249 computeNextStateAndCleanupIfNeeded();
251 runStateMachine(); 250 runStateMachine();
252 } 251 }
253 252
254 void SQLTransaction::executeSQL(const String& sqlStatement, const Vector<SQLValu e>& arguments, PassRefPtr<SQLStatementCallback> callback, PassRefPtr<SQLStatemen tErrorCallback> callbackError, ExceptionState& es) 253 void SQLTransaction::executeSQL(const String& sqlStatement, const Vector<SQLValu e>& arguments, PassRefPtr<SQLStatementCallback> callback, PassRefPtr<SQLStatemen tErrorCallback> callbackError, ExceptionCode& ec)
255 { 254 {
256 if (!m_executeSqlAllowed || !m_database->opened()) { 255 if (!m_executeSqlAllowed || !m_database->opened()) {
257 es.throwDOMException(InvalidStateError); 256 ec = InvalidStateError;
258 return; 257 return;
259 } 258 }
260 259
261 int permissions = DatabaseAuthorizer::ReadWriteMask; 260 int permissions = DatabaseAuthorizer::ReadWriteMask;
262 if (!m_database->databaseContext()->allowDatabaseAccess()) 261 if (!m_database->databaseContext()->allowDatabaseAccess())
263 permissions |= DatabaseAuthorizer::NoAccessMask; 262 permissions |= DatabaseAuthorizer::NoAccessMask;
264 else if (m_readOnly) 263 else if (m_readOnly)
265 permissions |= DatabaseAuthorizer::ReadOnlyMask; 264 permissions |= DatabaseAuthorizer::ReadOnlyMask;
266 265
267 OwnPtr<SQLStatement> statement = SQLStatement::create(m_database.get(), call back, callbackError); 266 OwnPtr<SQLStatement> statement = SQLStatement::create(m_database.get(), call back, callbackError);
(...skipping 25 matching lines...) Expand all
293 292
294 void SQLTransaction::clearCallbackWrappers() 293 void SQLTransaction::clearCallbackWrappers()
295 { 294 {
296 // Release the unneeded callbacks, to break reference cycles. 295 // Release the unneeded callbacks, to break reference cycles.
297 m_callbackWrapper.clear(); 296 m_callbackWrapper.clear();
298 m_successCallbackWrapper.clear(); 297 m_successCallbackWrapper.clear();
299 m_errorCallbackWrapper.clear(); 298 m_errorCallbackWrapper.clear();
300 } 299 }
301 300
302 } // namespace WebCore 301 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/webdatabase/SQLTransaction.h ('k') | Source/modules/webdatabase/SQLTransactionBackend.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698