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

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

Issue 210833005: Oilpan: Prepare to move SQLError to oilpan heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 void Database::transaction(PassOwnPtr<SQLTransactionCallback> callback, PassOwnP tr<SQLTransactionErrorCallback> errorCallback, PassOwnPtr<VoidCallback> successC allback) 122 void Database::transaction(PassOwnPtr<SQLTransactionCallback> callback, PassOwnP tr<SQLTransactionErrorCallback> errorCallback, PassOwnPtr<VoidCallback> successC allback)
123 { 123 {
124 runTransaction(callback, errorCallback, successCallback, false); 124 runTransaction(callback, errorCallback, successCallback, false);
125 } 125 }
126 126
127 void Database::readTransaction(PassOwnPtr<SQLTransactionCallback> callback, Pass OwnPtr<SQLTransactionErrorCallback> errorCallback, PassOwnPtr<VoidCallback> succ essCallback) 127 void Database::readTransaction(PassOwnPtr<SQLTransactionCallback> callback, Pass OwnPtr<SQLTransactionErrorCallback> errorCallback, PassOwnPtr<VoidCallback> succ essCallback)
128 { 128 {
129 runTransaction(callback, errorCallback, successCallback, true); 129 runTransaction(callback, errorCallback, successCallback, true);
130 } 130 }
131 131
132 static void callTransactionErrorCallback(ExecutionContext*, PassOwnPtr<SQLTransa ctionErrorCallback> callback, PassRefPtr<SQLError> error) 132 static void callTransactionErrorCallback(ExecutionContext*, PassOwnPtr<SQLTransa ctionErrorCallback> callback, PassOwnPtr<SQLErrorData> errorData)
133 { 133 {
134 RefPtrWillBeRawPtr<SQLError> error = SQLError::create(*errorData);
134 callback->handleEvent(error.get()); 135 callback->handleEvent(error.get());
135 } 136 }
136 137
137 void Database::runTransaction(PassOwnPtr<SQLTransactionCallback> callback, PassO wnPtr<SQLTransactionErrorCallback> errorCallback, 138 void Database::runTransaction(PassOwnPtr<SQLTransactionCallback> callback, PassO wnPtr<SQLTransactionErrorCallback> errorCallback,
138 PassOwnPtr<VoidCallback> successCallback, bool readOnly, const ChangeVersion Data* changeVersionData) 139 PassOwnPtr<VoidCallback> successCallback, bool readOnly, const ChangeVersion Data* changeVersionData)
139 { 140 {
140 // FIXME: Rather than passing errorCallback to SQLTransaction and then somet imes firing it ourselves, 141 // FIXME: Rather than passing errorCallback to SQLTransaction and then somet imes firing it ourselves,
141 // this code should probably be pushed down into DatabaseBackend so that we only create the SQLTransaction 142 // this code should probably be pushed down into DatabaseBackend so that we only create the SQLTransaction
142 // if we're actually going to run it. 143 // if we're actually going to run it.
143 #if !ASSERT_DISABLED 144 #if !ASSERT_DISABLED
144 SQLTransactionErrorCallback* originalErrorCallback = errorCallback.get(); 145 SQLTransactionErrorCallback* originalErrorCallback = errorCallback.get();
145 #endif 146 #endif
146 RefPtrWillBeRawPtr<SQLTransaction> transaction = SQLTransaction::create(this , callback, successCallback, errorCallback, readOnly); 147 RefPtrWillBeRawPtr<SQLTransaction> transaction = SQLTransaction::create(this , callback, successCallback, errorCallback, readOnly);
147 RefPtrWillBeRawPtr<SQLTransactionBackend> transactionBackend = backend()->ru nTransaction(transaction, readOnly, changeVersionData); 148 RefPtrWillBeRawPtr<SQLTransactionBackend> transactionBackend = backend()->ru nTransaction(transaction, readOnly, changeVersionData);
148 if (!transactionBackend) { 149 if (!transactionBackend) {
149 OwnPtr<SQLTransactionErrorCallback> callback = transaction->releaseError Callback(); 150 OwnPtr<SQLTransactionErrorCallback> callback = transaction->releaseError Callback();
150 ASSERT(callback == originalErrorCallback); 151 ASSERT(callback == originalErrorCallback);
151 if (callback) { 152 if (callback) {
152 RefPtr<SQLError> error = SQLError::create(SQLError::UNKNOWN_ERR, "da tabase has been closed"); 153 OwnPtr<SQLErrorData> error = SQLErrorData::create(SQLError::UNKNOWN_ ERR, "database has been closed");
153 executionContext()->postTask(createCallbackTask(&callTransactionErro rCallback, callback.release(), error.release())); 154 executionContext()->postTask(createCallbackTask(&callTransactionErro rCallback, callback.release(), error.release()));
154 } 155 }
155 } 156 }
156 } 157 }
157 158
158 // This object is constructed in a database thread, and destructed in the 159 // This object is constructed in a database thread, and destructed in the
159 // context thread. 160 // context thread.
160 class DeliverPendingCallbackTask FINAL : public ExecutionContextTask { 161 class DeliverPendingCallbackTask FINAL : public ExecutionContextTask {
161 public: 162 public:
162 static PassOwnPtr<DeliverPendingCallbackTask> create(PassRefPtrWillBeRawPtr< SQLTransaction> transaction) 163 static PassOwnPtr<DeliverPendingCallbackTask> create(PassRefPtrWillBeRawPtr< SQLTransaction> transaction)
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 backend()->reportStartTransactionResult(errorSite, webSqlErrorCode, sqliteEr rorCode); 243 backend()->reportStartTransactionResult(errorSite, webSqlErrorCode, sqliteEr rorCode);
243 } 244 }
244 245
245 void Database::reportCommitTransactionResult(int errorSite, int webSqlErrorCode, int sqliteErrorCode) 246 void Database::reportCommitTransactionResult(int errorSite, int webSqlErrorCode, int sqliteErrorCode)
246 { 247 {
247 backend()->reportCommitTransactionResult(errorSite, webSqlErrorCode, sqliteE rrorCode); 248 backend()->reportCommitTransactionResult(errorSite, webSqlErrorCode, sqliteE rrorCode);
248 } 249 }
249 250
250 251
251 } // namespace WebCore 252 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698