| OLD | NEW | 
|    1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2011 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/renderer/indexed_db_dispatcher.h" |    5 #include "content/renderer/indexed_db_dispatcher.h" | 
|    6  |    6  | 
|    7 #include "content/common/indexed_db_messages.h" |    7 #include "content/common/indexed_db_messages.h" | 
|    8 #include "content/renderer/render_thread_impl.h" |    8 #include "content/renderer/render_thread_impl.h" | 
|    9 #include "content/renderer/render_view_impl.h" |    9 #include "content/renderer/render_view_impl.h" | 
|   10 #include "content/renderer/renderer_webidbcursor_impl.h" |   10 #include "content/renderer/renderer_webidbcursor_impl.h" | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
|   35 } |   35 } | 
|   36  |   36  | 
|   37 IndexedDBDispatcher::~IndexedDBDispatcher() { |   37 IndexedDBDispatcher::~IndexedDBDispatcher() { | 
|   38 } |   38 } | 
|   39  |   39  | 
|   40 bool IndexedDBDispatcher::OnMessageReceived(const IPC::Message& msg) { |   40 bool IndexedDBDispatcher::OnMessageReceived(const IPC::Message& msg) { | 
|   41   bool handled = true; |   41   bool handled = true; | 
|   42   IPC_BEGIN_MESSAGE_MAP(IndexedDBDispatcher, msg) |   42   IPC_BEGIN_MESSAGE_MAP(IndexedDBDispatcher, msg) | 
|   43     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBCursor, |   43     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBCursor, | 
|   44                         OnSuccessOpenCursor) |   44                         OnSuccessOpenCursor) | 
 |   45     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessCursorContinue, | 
 |   46                         OnSuccessCursorContinue) | 
|   45     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBDatabase, |   47     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBDatabase, | 
|   46                         OnSuccessIDBDatabase) |   48                         OnSuccessIDBDatabase) | 
|   47     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIndexedDBKey, |   49     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIndexedDBKey, | 
|   48                         OnSuccessIndexedDBKey) |   50                         OnSuccessIndexedDBKey) | 
|   49     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBTransaction, |   51     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBTransaction, | 
|   50                         OnSuccessIDBTransaction) |   52                         OnSuccessIDBTransaction) | 
|   51     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessStringList, |   53     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessStringList, | 
|   52                         OnSuccessStringList) |   54                         OnSuccessStringList) | 
|   53     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessSerializedScriptValue, |   55     IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessSerializedScriptValue, | 
|   54                         OnSuccessSerializedScriptValue) |   56                         OnSuccessSerializedScriptValue) | 
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  372   if (*ec) |  374   if (*ec) | 
|  373     pending_callbacks_.Remove(params.response_id); |  375     pending_callbacks_.Remove(params.response_id); | 
|  374 } |  376 } | 
|  375  |  377  | 
|  376 void IndexedDBDispatcher::RegisterWebIDBTransactionCallbacks( |  378 void IndexedDBDispatcher::RegisterWebIDBTransactionCallbacks( | 
|  377     WebIDBTransactionCallbacks* callbacks, |  379     WebIDBTransactionCallbacks* callbacks, | 
|  378     int32 id) { |  380     int32 id) { | 
|  379   pending_transaction_callbacks_.AddWithID(callbacks, id); |  381   pending_transaction_callbacks_.AddWithID(callbacks, id); | 
|  380 } |  382 } | 
|  381  |  383  | 
 |  384 void IndexedDBDispatcher::CursorDestroyed(int32 cursor_id) { | 
 |  385   cursors_.erase(cursor_id); | 
 |  386 } | 
 |  387  | 
|  382 int32 IndexedDBDispatcher::TransactionId( |  388 int32 IndexedDBDispatcher::TransactionId( | 
|  383     const WebIDBTransaction& transaction) { |  389     const WebIDBTransaction& transaction) { | 
|  384   const RendererWebIDBTransactionImpl* impl = |  390   const RendererWebIDBTransactionImpl* impl = | 
|  385       static_cast<const RendererWebIDBTransactionImpl*>(&transaction); |  391       static_cast<const RendererWebIDBTransactionImpl*>(&transaction); | 
|  386   return impl->id(); |  392   return impl->id(); | 
|  387 } |  393 } | 
|  388  |  394  | 
|  389 void IndexedDBDispatcher::OnSuccessIDBDatabase(int32 response_id, |  395 void IndexedDBDispatcher::OnSuccessIDBDatabase(int32 response_id, | 
|  390                                                int32 object_id) { |  396                                                int32 object_id) { | 
|  391   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); |  397   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
|  419 } |  425 } | 
|  420  |  426  | 
|  421 void IndexedDBDispatcher::OnSuccessSerializedScriptValue( |  427 void IndexedDBDispatcher::OnSuccessSerializedScriptValue( | 
|  422     int32 response_id, const content::SerializedScriptValue& value) { |  428     int32 response_id, const content::SerializedScriptValue& value) { | 
|  423   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); |  429   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); | 
|  424   callbacks->onSuccess(value); |  430   callbacks->onSuccess(value); | 
|  425   pending_callbacks_.Remove(response_id); |  431   pending_callbacks_.Remove(response_id); | 
|  426 } |  432 } | 
|  427  |  433  | 
|  428 void IndexedDBDispatcher::OnSuccessOpenCursor(int32 repsonse_id, |  434 void IndexedDBDispatcher::OnSuccessOpenCursor(int32 repsonse_id, | 
|  429     int32 object_id, const IndexedDBKey& key, const IndexedDBKey& primaryKey, |  435     int32 object_id, const IndexedDBKey& key, const IndexedDBKey& primary_key, | 
|  430     const content::SerializedScriptValue& value) { |  436     const content::SerializedScriptValue& value) { | 
|  431   WebIDBCallbacks* callbacks = |  437   WebIDBCallbacks* callbacks = | 
|  432       pending_callbacks_.Lookup(repsonse_id); |  438       pending_callbacks_.Lookup(repsonse_id); | 
|  433   callbacks->onSuccess(new RendererWebIDBCursorImpl(object_id, key, |  439  | 
|  434                        primaryKey, value)); |  440   RendererWebIDBCursorImpl* cursor = new RendererWebIDBCursorImpl(object_id); | 
 |  441   cursors_[object_id] = cursor; | 
 |  442   cursor->SetKeyAndValue(key, primary_key, value); | 
 |  443   callbacks->onSuccess(cursor); | 
 |  444  | 
|  435   pending_callbacks_.Remove(repsonse_id); |  445   pending_callbacks_.Remove(repsonse_id); | 
|  436 } |  446 } | 
|  437  |  447  | 
 |  448 void IndexedDBDispatcher::OnSuccessCursorContinue( | 
 |  449     int32 response_id, | 
 |  450     int32 cursor_id, | 
 |  451     const IndexedDBKey& key, | 
 |  452     const IndexedDBKey& primary_key, | 
 |  453     const content::SerializedScriptValue& value) { | 
 |  454   RendererWebIDBCursorImpl* cursor = cursors_[cursor_id]; | 
 |  455   DCHECK(cursor); | 
 |  456   cursor->SetKeyAndValue(key, primary_key, value); | 
 |  457  | 
 |  458   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); | 
 |  459   callbacks->onSuccessWithContinuation(); | 
 |  460  | 
 |  461   pending_callbacks_.Remove(response_id); | 
 |  462 } | 
 |  463  | 
|  438 void IndexedDBDispatcher::OnBlocked(int32 response_id) { |  464 void IndexedDBDispatcher::OnBlocked(int32 response_id) { | 
|  439   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); |  465   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); | 
|  440   callbacks->onBlocked(); |  466   callbacks->onBlocked(); | 
|  441 } |  467 } | 
|  442  |  468  | 
|  443 void IndexedDBDispatcher::OnError(int32 response_id, int code, |  469 void IndexedDBDispatcher::OnError(int32 response_id, int code, | 
|  444                                   const string16& message) { |  470                                   const string16& message) { | 
|  445   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); |  471   WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id); | 
|  446   callbacks->onError(WebIDBDatabaseError(code, message)); |  472   callbacks->onError(WebIDBDatabaseError(code, message)); | 
|  447   pending_callbacks_.Remove(response_id); |  473   pending_callbacks_.Remove(response_id); | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
|  463  |  489  | 
|  464 void IndexedDBDispatcher::OnVersionChange(int32 database_id, |  490 void IndexedDBDispatcher::OnVersionChange(int32 database_id, | 
|  465                                           const string16& newVersion) { |  491                                           const string16& newVersion) { | 
|  466   WebIDBDatabaseCallbacks* callbacks = |  492   WebIDBDatabaseCallbacks* callbacks = | 
|  467       pending_database_callbacks_.Lookup(database_id); |  493       pending_database_callbacks_.Lookup(database_id); | 
|  468   // callbacks would be NULL if a versionchange event is received after close |  494   // callbacks would be NULL if a versionchange event is received after close | 
|  469   // has been called. |  495   // has been called. | 
|  470   if (callbacks) |  496   if (callbacks) | 
|  471     callbacks->onVersionChange(newVersion); |  497     callbacks->onVersionChange(newVersion); | 
|  472 } |  498 } | 
| OLD | NEW |