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

Side by Side Diff: content/common/indexed_db/indexed_db_dispatcher.h

Issue 10052005: Add DCHECK to ensure IndexedDBDispatcher doesn't get re-created. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix kHasBeenDeleted Created 8 years, 8 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
« no previous file with comments | « no previous file | content/common/indexed_db/indexed_db_dispatcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef CONTENT_COMMON_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ 5 #ifndef CONTENT_COMMON_INDEXED_DB_INDEXED_DB_DISPATCHER_H_
6 #define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ 6 #define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_DISPATCHER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <vector> 10 #include <vector>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 class SerializedScriptValue; 42 class SerializedScriptValue;
43 } 43 }
44 44
45 CONTENT_EXPORT extern const size_t kMaxIDBValueSizeInBytes; 45 CONTENT_EXPORT extern const size_t kMaxIDBValueSizeInBytes;
46 46
47 // Handle the indexed db related communication for this context thread - the 47 // Handle the indexed db related communication for this context thread - the
48 // main thread and each worker thread have their own copies. 48 // main thread and each worker thread have their own copies.
49 class CONTENT_EXPORT IndexedDBDispatcher 49 class CONTENT_EXPORT IndexedDBDispatcher
50 : public webkit_glue::WorkerTaskRunner::Observer { 50 : public webkit_glue::WorkerTaskRunner::Observer {
51 public: 51 public:
52 // Constructor made public to allow RenderThreadImpl to own a copy without
53 // failing a NOTREACHED in ThreadSpecificInstance in tests that instantiate
54 // two copies of RenderThreadImpl on the same thread. Everyone else probably
55 // wants to use ThreadSpecificInstance().
56 IndexedDBDispatcher();
52 virtual ~IndexedDBDispatcher(); 57 virtual ~IndexedDBDispatcher();
53 static IndexedDBDispatcher* ThreadSpecificInstance(); 58 static IndexedDBDispatcher* ThreadSpecificInstance();
54 59
55 // webkit_glue::WorkerTaskRunner::Observer implementation. 60 // webkit_glue::WorkerTaskRunner::Observer implementation.
56 virtual void OnWorkerRunLoopStopped() OVERRIDE; 61 virtual void OnWorkerRunLoopStopped() OVERRIDE;
57 62
58 void OnMessageReceived(const IPC::Message& msg); 63 void OnMessageReceived(const IPC::Message& msg);
59 static bool Send(IPC::Message* msg); 64 static bool Send(IPC::Message* msg);
60 65
61 void RequestIDBFactoryGetDatabaseNames( 66 void RequestIDBFactoryGetDatabaseNames(
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 WebKit::WebIDBTransactionCallbacks* callbacks, 207 WebKit::WebIDBTransactionCallbacks* callbacks,
203 int32 id); 208 int32 id);
204 209
205 void CursorDestroyed(int32 cursor_id); 210 void CursorDestroyed(int32 cursor_id);
206 211
207 static int32 TransactionId(const WebKit::WebIDBTransaction& transaction); 212 static int32 TransactionId(const WebKit::WebIDBTransaction& transaction);
208 213
209 private: 214 private:
210 FRIEND_TEST_ALL_PREFIXES(IndexedDBDispatcherTest, ValueSizeTest); 215 FRIEND_TEST_ALL_PREFIXES(IndexedDBDispatcherTest, ValueSizeTest);
211 216
212 IndexedDBDispatcher();
213 // IDBCallback message handlers. 217 // IDBCallback message handlers.
214 void OnSuccessNull(int32 response_id); 218 void OnSuccessNull(int32 response_id);
215 void OnSuccessIDBDatabase(int32 thread_id, 219 void OnSuccessIDBDatabase(int32 thread_id,
216 int32 response_id, 220 int32 response_id,
217 int32 object_id); 221 int32 object_id);
218 void OnSuccessIndexedDBKey(int32 thread_id, 222 void OnSuccessIndexedDBKey(int32 thread_id,
219 int32 response_id, 223 int32 response_id,
220 const IndexedDBKey& key); 224 const IndexedDBKey& key);
221 void OnSuccessIDBTransaction(int32 thread_id, 225 void OnSuccessIDBTransaction(int32 thread_id,
222 int32 response_id, 226 int32 response_id,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 IDMap<WebKit::WebIDBDatabaseCallbacks, IDMapOwnPointer> 260 IDMap<WebKit::WebIDBDatabaseCallbacks, IDMapOwnPointer>
257 pending_database_callbacks_; 261 pending_database_callbacks_;
258 262
259 // Map from cursor id to RendererWebIDBCursorImpl. 263 // Map from cursor id to RendererWebIDBCursorImpl.
260 std::map<int32, RendererWebIDBCursorImpl*> cursors_; 264 std::map<int32, RendererWebIDBCursorImpl*> cursors_;
261 265
262 DISALLOW_COPY_AND_ASSIGN(IndexedDBDispatcher); 266 DISALLOW_COPY_AND_ASSIGN(IndexedDBDispatcher);
263 }; 267 };
264 268
265 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ 269 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_DISPATCHER_H_
OLDNEW
« no previous file with comments | « no previous file | content/common/indexed_db/indexed_db_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698