Chromium Code Reviews| Index: content/child/indexed_db/indexed_db_dispatcher.h |
| diff --git a/content/child/indexed_db/indexed_db_dispatcher.h b/content/child/indexed_db/indexed_db_dispatcher.h |
| index 3d75d37bc6dc1ba54beb815020c0774b9306c01e..d34c17b0c7a78f6b0536e8e89754c74a739605cd 100644 |
| --- a/content/child/indexed_db/indexed_db_dispatcher.h |
| +++ b/content/child/indexed_db/indexed_db_dispatcher.h |
| @@ -127,6 +127,16 @@ class CONTENT_EXPORT IndexedDBDispatcher : public WorkerThread::Observer { |
| FRIEND_TEST_ALL_PREFIXES(IndexedDBDispatcherTest, CursorReset); |
| FRIEND_TEST_ALL_PREFIXES(IndexedDBDispatcherTest, CursorTransactionId); |
| + // Looking up move-only entries in an std::unordered_set and removing them |
| + // with out freeing them seems to be impossible so use a map instead so that |
|
jsbell
2016/11/21 22:38:06
nit: "...impossible so use a map..." -> "...imposs
|
| + // the key type can remain a raw pointer. |
| + using CallbackStateSet = std::unordered_map< |
| + IndexedDBCallbacksImpl::InternalState*, |
| + std::unique_ptr<IndexedDBCallbacksImpl::InternalState>>; |
| + using DatabaseCallbackStateSet = |
| + std::unordered_map<blink::WebIDBDatabaseCallbacks*, |
| + std::unique_ptr<blink::WebIDBDatabaseCallbacks>>; |
| + |
| static int32_t CurrentWorkerId() { return WorkerThread::GetCurrentId(); } |
| template <typename T> |
| @@ -164,10 +174,8 @@ class CONTENT_EXPORT IndexedDBDispatcher : public WorkerThread::Observer { |
| // destroyed on thread exit if the Mojo pipe is not yet closed. Otherwise the |
| // object will leak because the thread's task runner is no longer executing |
| // tasks. |
| - std::unordered_set<IndexedDBCallbacksImpl::InternalState*> |
| - mojo_owned_callback_state_; |
| - std::unordered_set<blink::WebIDBDatabaseCallbacks*> |
| - mojo_owned_database_callback_state_; |
| + CallbackStateSet mojo_owned_callback_state_; |
| + DatabaseCallbackStateSet mojo_owned_database_callback_state_; |
| // Maps the ipc_callback_id from an open cursor request to the request's |
| // transaction_id. Used to assign the transaction_id to the WebIDBCursorImpl |