Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/in_process_webkit/indexed_db_callbacks.h" | 5 #include "content/browser/in_process_webkit/indexed_db_callbacks.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "content/common/indexed_db/indexed_db_messages.h" | 9 #include "content/common/indexed_db/indexed_db_messages.h" |
| 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSerializedScriptVa lue.h" | |
|
jsbell
2013/02/20 23:52:08
Odd to see this line added. Temporary?
alecflett
2013/02/21 00:14:16
I believe this is because we're removing reference
| |
| 10 #include "webkit/quota/quota_manager.h" | 11 #include "webkit/quota/quota_manager.h" |
| 11 | 12 |
| 12 namespace content { | 13 namespace content { |
| 13 | 14 |
| 14 namespace { | 15 namespace { |
| 15 const int32 kDatabaseNotAdded = -1; | 16 const int32 kDatabaseNotAdded = -1; |
| 16 } | 17 } |
| 17 | 18 |
| 18 IndexedDBCallbacksBase::IndexedDBCallbacksBase( | 19 IndexedDBCallbacksBase::IndexedDBCallbacksBase( |
| 19 IndexedDBDispatcherHost* dispatcher_host, | 20 IndexedDBDispatcherHost* dispatcher_host, |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 86 old_version, | 87 old_version, |
| 87 idb_metadata)); | 88 idb_metadata)); |
| 88 } | 89 } |
| 89 | 90 |
| 90 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( | 91 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
| 91 WebKit::WebIDBCursor* idb_cursor, | 92 WebKit::WebIDBCursor* idb_cursor, |
| 92 const WebKit::WebIDBKey& key, | 93 const WebKit::WebIDBKey& key, |
| 93 const WebKit::WebIDBKey& primaryKey, | 94 const WebKit::WebIDBKey& primaryKey, |
| 94 const WebKit::WebSerializedScriptValue& value) { | 95 const WebKit::WebSerializedScriptValue& value) { |
| 95 int32 ipc_object_id = dispatcher_host()->Add(idb_cursor); | 96 int32 ipc_object_id = dispatcher_host()->Add(idb_cursor); |
| 97 IndexedDBMsg_CallbacksSuccessIDBCursorOld_Params params; | |
| 98 params.ipc_thread_id = ipc_thread_id(); | |
| 99 params.ipc_response_id = ipc_response_id(); | |
| 100 params.ipc_cursor_id = ipc_object_id; | |
| 101 params.key = IndexedDBKey(key); | |
| 102 params.primary_key = IndexedDBKey(primaryKey); | |
| 103 params.serialized_value = SerializedScriptValue(value); | |
| 104 dispatcher_host()->Send( | |
| 105 new IndexedDBMsg_CallbacksSuccessIDBCursorOld(params)); | |
| 106 } | |
| 107 | |
| 108 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( | |
| 109 WebKit::WebIDBCursor* idb_cursor, | |
| 110 const WebKit::WebIDBKey& key, | |
| 111 const WebKit::WebIDBKey& primaryKey, | |
| 112 const WebKit::WebData& value) { | |
| 113 int32 ipc_object_id = dispatcher_host()->Add(idb_cursor); | |
| 96 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; | 114 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; |
| 97 params.ipc_thread_id = ipc_thread_id(); | 115 params.ipc_thread_id = ipc_thread_id(); |
| 98 params.ipc_response_id = ipc_response_id(); | 116 params.ipc_response_id = ipc_response_id(); |
| 99 params.ipc_cursor_id = ipc_object_id; | 117 params.ipc_cursor_id = ipc_object_id; |
| 100 params.key = IndexedDBKey(key); | 118 params.key = IndexedDBKey(key); |
| 101 params.primary_key = IndexedDBKey(primaryKey); | 119 params.primary_key = IndexedDBKey(primaryKey); |
| 102 params.serialized_value = SerializedScriptValue(value); | 120 params.value.assign(value.data(), value.data() + value.size()); |
| 103 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params)); | 121 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params)); |
| 104 } | 122 } |
| 105 | 123 |
| 106 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( | 124 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
| 107 const WebKit::WebSerializedScriptValue& value) { | 125 const WebKit::WebSerializedScriptValue& value) { |
| 108 dispatcher_host()->Send( | 126 dispatcher_host()->Send( |
| 109 new IndexedDBMsg_CallbacksSuccessSerializedScriptValue( | 127 new IndexedDBMsg_CallbacksSuccessSerializedScriptValue( |
| 110 ipc_thread_id(), ipc_response_id(), SerializedScriptValue(value))); | 128 ipc_thread_id(), ipc_response_id(), SerializedScriptValue(value))); |
| 111 } | 129 } |
| 112 | 130 |
| 113 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( | 131 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
| 132 const WebKit::WebData& webValue) { | |
| 133 std::vector<char> value(webValue.data(), webValue.data() + webValue.size()); | |
| 134 dispatcher_host()->Send( | |
| 135 new IndexedDBMsg_CallbacksSuccessValue( | |
| 136 ipc_thread_id(), ipc_response_id(), value)); | |
| 137 } | |
| 138 | |
| 139 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( | |
| 114 const WebKit::WebIDBKey& key, | 140 const WebKit::WebIDBKey& key, |
| 115 const WebKit::WebIDBKey& primaryKey, | 141 const WebKit::WebIDBKey& primaryKey, |
| 116 const WebKit::WebSerializedScriptValue& value) { | 142 const WebKit::WebSerializedScriptValue& value) { |
| 117 DCHECK_NE(ipc_cursor_id_, -1); | 143 DCHECK_NE(ipc_cursor_id_, -1); |
| 118 WebKit::WebIDBCursor* idb_cursor = dispatcher_host()->GetCursorFromId( | 144 WebKit::WebIDBCursor* idb_cursor = dispatcher_host()->GetCursorFromId( |
| 119 ipc_cursor_id_); | 145 ipc_cursor_id_); |
| 120 | 146 |
| 121 DCHECK(idb_cursor); | 147 DCHECK(idb_cursor); |
| 122 if (!idb_cursor) | 148 if (!idb_cursor) |
| 123 return; | 149 return; |
| 124 IndexedDBMsg_CallbacksSuccessCursorContinue_Params params; | 150 IndexedDBMsg_CallbacksSuccessCursorContinueOld_Params params; |
| 125 params.ipc_thread_id = ipc_thread_id(); | 151 params.ipc_thread_id = ipc_thread_id(); |
| 126 params.ipc_response_id = ipc_response_id(); | 152 params.ipc_response_id = ipc_response_id(); |
| 127 params.ipc_cursor_id = ipc_cursor_id_; | 153 params.ipc_cursor_id = ipc_cursor_id_; |
| 128 params.key = IndexedDBKey(key); | 154 params.key = IndexedDBKey(key); |
| 129 params.primary_key = IndexedDBKey(primaryKey); | 155 params.primary_key = IndexedDBKey(primaryKey); |
| 130 params.serialized_value = SerializedScriptValue(value); | 156 params.serialized_value = SerializedScriptValue(value); |
| 131 dispatcher_host()->Send( | 157 dispatcher_host()->Send( |
| 158 new IndexedDBMsg_CallbacksSuccessCursorContinueOld(params)); | |
| 159 } | |
| 160 | |
| 161 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( | |
| 162 const WebKit::WebIDBKey& key, | |
| 163 const WebKit::WebIDBKey& primaryKey, | |
| 164 const WebKit::WebData& value) { | |
| 165 DCHECK_NE(ipc_cursor_id_, -1); | |
| 166 WebKit::WebIDBCursor* idb_cursor = dispatcher_host()->GetCursorFromId( | |
| 167 ipc_cursor_id_); | |
| 168 | |
| 169 DCHECK(idb_cursor); | |
| 170 if (!idb_cursor) | |
| 171 return; | |
| 172 IndexedDBMsg_CallbacksSuccessCursorContinue_Params params; | |
| 173 params.ipc_thread_id = ipc_thread_id(); | |
| 174 params.ipc_response_id = ipc_response_id(); | |
| 175 params.ipc_cursor_id = ipc_cursor_id_; | |
| 176 params.key = IndexedDBKey(key); | |
| 177 params.primary_key = IndexedDBKey(primaryKey); | |
| 178 params.value.assign(value.data(), value.data() + value.size()); | |
| 179 dispatcher_host()->Send( | |
| 132 new IndexedDBMsg_CallbacksSuccessCursorContinue(params)); | 180 new IndexedDBMsg_CallbacksSuccessCursorContinue(params)); |
| 133 } | 181 } |
| 134 | 182 |
| 135 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithPrefetch( | 183 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithPrefetch( |
| 136 const WebKit::WebVector<WebKit::WebIDBKey>& keys, | 184 const WebKit::WebVector<WebKit::WebIDBKey>& keys, |
| 137 const WebKit::WebVector<WebKit::WebIDBKey>& primaryKeys, | 185 const WebKit::WebVector<WebKit::WebIDBKey>& primaryKeys, |
| 138 const WebKit::WebVector<WebKit::WebSerializedScriptValue>& values) { | 186 const WebKit::WebVector<WebKit::WebSerializedScriptValue>& values) { |
| 139 DCHECK_NE(ipc_cursor_id_, -1); | 187 DCHECK_NE(ipc_cursor_id_, -1); |
| 140 | 188 |
| 141 std::vector<IndexedDBKey> msgKeys; | 189 std::vector<IndexedDBKey> msgKeys; |
| 142 std::vector<IndexedDBKey> msgPrimaryKeys; | 190 std::vector<IndexedDBKey> msgPrimaryKeys; |
| 143 std::vector<SerializedScriptValue> msgValues; | 191 std::vector<SerializedScriptValue> msgValues; |
| 144 | 192 |
| 145 for (size_t i = 0; i < keys.size(); ++i) { | 193 for (size_t i = 0; i < keys.size(); ++i) { |
| 146 msgKeys.push_back(IndexedDBKey(keys[i])); | 194 msgKeys.push_back(IndexedDBKey(keys[i])); |
| 147 msgPrimaryKeys.push_back(IndexedDBKey(primaryKeys[i])); | 195 msgPrimaryKeys.push_back(IndexedDBKey(primaryKeys[i])); |
| 148 msgValues.push_back(SerializedScriptValue(values[i])); | 196 msgValues.push_back(SerializedScriptValue(values[i])); |
| 149 } | 197 } |
| 150 | 198 |
| 199 IndexedDBMsg_CallbacksSuccessCursorPrefetchOld_Params params; | |
| 200 params.ipc_thread_id = ipc_thread_id(); | |
| 201 params.ipc_response_id = ipc_response_id(); | |
| 202 params.ipc_cursor_id = ipc_cursor_id_; | |
| 203 params.keys = msgKeys; | |
| 204 params.primary_keys = msgPrimaryKeys; | |
| 205 params.values = msgValues; | |
| 206 dispatcher_host()->Send( | |
| 207 new IndexedDBMsg_CallbacksSuccessCursorPrefetchOld(params)); | |
| 208 } | |
| 209 | |
| 210 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithPrefetch( | |
| 211 const WebKit::WebVector<WebKit::WebIDBKey>& keys, | |
| 212 const WebKit::WebVector<WebKit::WebIDBKey>& primaryKeys, | |
| 213 const WebKit::WebVector<WebKit::WebData>& values) { | |
| 214 DCHECK_NE(ipc_cursor_id_, -1); | |
| 215 | |
| 216 std::vector<IndexedDBKey> msgKeys; | |
| 217 std::vector<IndexedDBKey> msgPrimaryKeys; | |
| 218 std::vector<std::vector<char> > msgValues; | |
| 219 | |
| 220 for (size_t i = 0; i < keys.size(); ++i) { | |
| 221 msgKeys.push_back(IndexedDBKey(keys[i])); | |
| 222 msgPrimaryKeys.push_back(IndexedDBKey(primaryKeys[i])); | |
| 223 msgValues.push_back( | |
| 224 std::vector<char>(values[i].data(), | |
| 225 values[i].data() + values[i].size())); | |
| 226 } | |
| 227 | |
| 151 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params params; | 228 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params params; |
| 152 params.ipc_thread_id = ipc_thread_id(); | 229 params.ipc_thread_id = ipc_thread_id(); |
| 153 params.ipc_response_id = ipc_response_id(); | 230 params.ipc_response_id = ipc_response_id(); |
| 154 params.ipc_cursor_id = ipc_cursor_id_; | 231 params.ipc_cursor_id = ipc_cursor_id_; |
| 155 params.keys = msgKeys; | 232 params.keys = msgKeys; |
| 156 params.primary_keys = msgPrimaryKeys; | 233 params.primary_keys = msgPrimaryKeys; |
| 157 params.values = msgValues; | 234 params.values = msgValues; |
| 158 dispatcher_host()->Send( | 235 dispatcher_host()->Send( |
| 159 new IndexedDBMsg_CallbacksSuccessCursorPrefetch(params)); | 236 new IndexedDBMsg_CallbacksSuccessCursorPrefetch(params)); |
| 160 } | 237 } |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 178 ipc_thread_id(), ipc_response_id(), list)); | 255 ipc_thread_id(), ipc_response_id(), list)); |
| 179 } | 256 } |
| 180 | 257 |
| 181 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( | 258 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
| 182 const WebKit::WebSerializedScriptValue& value) { | 259 const WebKit::WebSerializedScriptValue& value) { |
| 183 dispatcher_host()->Send( | 260 dispatcher_host()->Send( |
| 184 new IndexedDBMsg_CallbacksSuccessSerializedScriptValue( | 261 new IndexedDBMsg_CallbacksSuccessSerializedScriptValue( |
| 185 ipc_thread_id(), ipc_response_id(), SerializedScriptValue(value))); | 262 ipc_thread_id(), ipc_response_id(), SerializedScriptValue(value))); |
| 186 } | 263 } |
| 187 | 264 |
| 265 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( | |
| 266 const WebKit::WebData& value) { | |
| 267 dispatcher_host()->Send( | |
| 268 new IndexedDBMsg_CallbacksSuccessValue( | |
| 269 ipc_thread_id(), ipc_response_id(), | |
| 270 std::vector<char>(value.data(), value.data() + value.size()))); | |
| 271 } | |
| 272 | |
| 188 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( | 273 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
| 189 const WebKit::WebSerializedScriptValue& value, | 274 const WebKit::WebSerializedScriptValue& value, |
| 190 const WebKit::WebIDBKey& primaryKey, | 275 const WebKit::WebIDBKey& primaryKey, |
| 191 const WebKit::WebIDBKeyPath& keyPath) { | 276 const WebKit::WebIDBKeyPath& keyPath) { |
| 192 dispatcher_host()->Send( | 277 dispatcher_host()->Send( |
| 193 new IndexedDBMsg_CallbacksSuccessSerializedScriptValueWithKey( | 278 new IndexedDBMsg_CallbacksSuccessSerializedScriptValueWithKey( |
| 194 ipc_thread_id(), ipc_response_id(), SerializedScriptValue(value), | 279 ipc_thread_id(), ipc_response_id(), SerializedScriptValue(value), |
| 195 IndexedDBKey(primaryKey), IndexedDBKeyPath(keyPath))); | 280 IndexedDBKey(primaryKey), IndexedDBKeyPath(keyPath))); |
| 196 } | 281 } |
| 197 | 282 |
| 283 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( | |
| 284 const WebKit::WebData& value, | |
| 285 const WebKit::WebIDBKey& primaryKey, | |
| 286 const WebKit::WebIDBKeyPath& keyPath) { | |
| 287 dispatcher_host()->Send( | |
| 288 new IndexedDBMsg_CallbacksSuccessValueWithKey( | |
| 289 ipc_thread_id(), ipc_response_id(), | |
| 290 std::vector<char>(value.data(), value.data() + value.size()), | |
| 291 IndexedDBKey(primaryKey), IndexedDBKeyPath(keyPath))); | |
| 292 } | |
| 293 | |
| 198 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( | 294 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
| 199 long long value) { | 295 long long value) { |
| 200 dispatcher_host()->Send( | 296 dispatcher_host()->Send( |
| 201 new IndexedDBMsg_CallbacksSuccessInteger(ipc_thread_id(), | 297 new IndexedDBMsg_CallbacksSuccessInteger(ipc_thread_id(), |
| 202 ipc_response_id(), | 298 ipc_response_id(), |
| 203 value)); | 299 value)); |
| 204 } | 300 } |
| 205 | 301 |
| 302 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( | |
| 303 long long value) { | |
| 304 dispatcher_host()->Send( | |
| 305 new IndexedDBMsg_CallbacksSuccessInteger(ipc_thread_id(), | |
| 306 ipc_response_id(), | |
| 307 value)); | |
| 308 } | |
| 309 | |
| 206 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess() { | 310 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess() { |
| 207 dispatcher_host()->Send( | 311 dispatcher_host()->Send( |
| 208 new IndexedDBMsg_CallbacksSuccessUndefined(ipc_thread_id(), | 312 new IndexedDBMsg_CallbacksSuccessUndefined(ipc_thread_id(), |
| 209 ipc_response_id())); | 313 ipc_response_id())); |
| 210 } | 314 } |
| 211 | 315 |
| 316 void IndexedDBCallbacks<WebKit::WebData>::onSuccess() { | |
| 317 dispatcher_host()->Send( | |
| 318 new IndexedDBMsg_CallbacksSuccessUndefined(ipc_thread_id(), | |
| 319 ipc_response_id())); | |
| 320 } | |
| 321 | |
| 212 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( | 322 void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
| 213 const WebKit::WebIDBKey& value) { | 323 const WebKit::WebIDBKey& value) { |
| 214 dispatcher_host()->Send( | 324 dispatcher_host()->Send( |
| 215 new IndexedDBMsg_CallbacksSuccessIndexedDBKey( | 325 new IndexedDBMsg_CallbacksSuccessIndexedDBKey( |
| 216 ipc_thread_id(), ipc_response_id(), IndexedDBKey(value))); | 326 ipc_thread_id(), ipc_response_id(), IndexedDBKey(value))); |
| 217 } | 327 } |
| 218 | 328 |
| 329 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( | |
| 330 const WebKit::WebIDBKey& value) { | |
| 331 dispatcher_host()->Send( | |
| 332 new IndexedDBMsg_CallbacksSuccessIndexedDBKey( | |
| 333 ipc_thread_id(), ipc_response_id(), IndexedDBKey(value))); | |
| 334 } | |
| 335 | |
| 219 } // namespace content | 336 } // namespace content |
| OLD | NEW |