OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ | 5 #ifndef CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ |
6 #define CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ | 6 #define CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 | 45 |
46 // Handle the indexed db related communication for this context thread - the | 46 // Handle the indexed db related communication for this context thread - the |
47 // main thread and each worker thread have their own copies. | 47 // main thread and each worker thread have their own copies. |
48 class CONTENT_EXPORT IndexedDBDispatcher : public WorkerTaskRunner::Observer { | 48 class CONTENT_EXPORT IndexedDBDispatcher : public WorkerTaskRunner::Observer { |
49 public: | 49 public: |
50 // Constructor made public to allow RenderThreadImpl to own a copy without | 50 // Constructor made public to allow RenderThreadImpl to own a copy without |
51 // failing a NOTREACHED in ThreadSpecificInstance in tests that instantiate | 51 // failing a NOTREACHED in ThreadSpecificInstance in tests that instantiate |
52 // two copies of RenderThreadImpl on the same thread. Everyone else probably | 52 // two copies of RenderThreadImpl on the same thread. Everyone else probably |
53 // wants to use ThreadSpecificInstance(). | 53 // wants to use ThreadSpecificInstance(). |
54 explicit IndexedDBDispatcher(ThreadSafeSender* thread_safe_sender); | 54 explicit IndexedDBDispatcher(ThreadSafeSender* thread_safe_sender); |
55 virtual ~IndexedDBDispatcher(); | 55 ~IndexedDBDispatcher() override; |
56 | 56 |
57 // |thread_safe_sender| needs to be passed in because if the call leads to | 57 // |thread_safe_sender| needs to be passed in because if the call leads to |
58 // construction it will be needed. | 58 // construction it will be needed. |
59 static IndexedDBDispatcher* ThreadSpecificInstance( | 59 static IndexedDBDispatcher* ThreadSpecificInstance( |
60 ThreadSafeSender* thread_safe_sender); | 60 ThreadSafeSender* thread_safe_sender); |
61 | 61 |
62 // WorkerTaskRunner::Observer implementation. | 62 // WorkerTaskRunner::Observer implementation. |
63 virtual void OnWorkerRunLoopStopped() override; | 63 void OnWorkerRunLoopStopped() override; |
64 | 64 |
65 static blink::WebIDBMetadata ConvertMetadata( | 65 static blink::WebIDBMetadata ConvertMetadata( |
66 const IndexedDBDatabaseMetadata& idb_metadata); | 66 const IndexedDBDatabaseMetadata& idb_metadata); |
67 | 67 |
68 void OnMessageReceived(const IPC::Message& msg); | 68 void OnMessageReceived(const IPC::Message& msg); |
69 | 69 |
70 // This method is virtual so it can be overridden in unit tests. | 70 // This method is virtual so it can be overridden in unit tests. |
71 virtual bool Send(IPC::Message* msg); | 71 virtual bool Send(IPC::Message* msg); |
72 | 72 |
73 void RequestIDBFactoryGetDatabaseNames( | 73 void RequestIDBFactoryGetDatabaseNames( |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 std::map<int32, WebIDBCursorImpl*> cursors_; | 259 std::map<int32, WebIDBCursorImpl*> cursors_; |
260 | 260 |
261 std::map<int32, WebIDBDatabaseImpl*> databases_; | 261 std::map<int32, WebIDBDatabaseImpl*> databases_; |
262 | 262 |
263 DISALLOW_COPY_AND_ASSIGN(IndexedDBDispatcher); | 263 DISALLOW_COPY_AND_ASSIGN(IndexedDBDispatcher); |
264 }; | 264 }; |
265 | 265 |
266 } // namespace content | 266 } // namespace content |
267 | 267 |
268 #endif // CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ | 268 #endif // CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ |
OLD | NEW |