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

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

Issue 2125213002: [IndexedDB] Propogating changes to observers : Renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lifetime
Patch Set: Propogating Changes to Renderer Created 4 years, 5 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
OLDNEW
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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 17 matching lines...) Expand all
28 #include "third_party/WebKit/public/platform/modules/indexeddb/WebIDBTypes.h" 28 #include "third_party/WebKit/public/platform/modules/indexeddb/WebIDBTypes.h"
29 #include "url/origin.h" 29 #include "url/origin.h"
30 30
31 struct IndexedDBDatabaseMetadata; 31 struct IndexedDBDatabaseMetadata;
32 struct IndexedDBMsg_CallbacksSuccessCursorContinue_Params; 32 struct IndexedDBMsg_CallbacksSuccessCursorContinue_Params;
33 struct IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params; 33 struct IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params;
34 struct IndexedDBMsg_CallbacksSuccessIDBCursor_Params; 34 struct IndexedDBMsg_CallbacksSuccessIDBCursor_Params;
35 struct IndexedDBMsg_CallbacksSuccessArray_Params; 35 struct IndexedDBMsg_CallbacksSuccessArray_Params;
36 struct IndexedDBMsg_CallbacksSuccessValue_Params; 36 struct IndexedDBMsg_CallbacksSuccessValue_Params;
37 struct IndexedDBMsg_CallbacksUpgradeNeeded_Params; 37 struct IndexedDBMsg_CallbacksUpgradeNeeded_Params;
38 struct IndexedDBMsg_Observation;
39 struct IndexedDBMsg_ObserverChanges;
38 40
39 namespace blink { 41 namespace blink {
40 class WebData; 42 class WebData;
43 struct WebIDBObservation;
41 } 44 }
42 45
43 namespace content { 46 namespace content {
44 class IndexedDBKey; 47 class IndexedDBKey;
45 class IndexedDBKeyPath; 48 class IndexedDBKeyPath;
46 class IndexedDBKeyRange; 49 class IndexedDBKeyRange;
47 class WebIDBCursorImpl; 50 class WebIDBCursorImpl;
48 class WebIDBDatabaseImpl; 51 class WebIDBDatabaseImpl;
49 class ThreadSafeSender; 52 class ThreadSafeSender;
50 53
(...skipping 11 matching lines...) Expand all
62 // |thread_safe_sender| needs to be passed in because if the call leads to 65 // |thread_safe_sender| needs to be passed in because if the call leads to
63 // construction it will be needed. 66 // construction it will be needed.
64 static IndexedDBDispatcher* ThreadSpecificInstance( 67 static IndexedDBDispatcher* ThreadSpecificInstance(
65 ThreadSafeSender* thread_safe_sender); 68 ThreadSafeSender* thread_safe_sender);
66 69
67 // WorkerThread::Observer implementation. 70 // WorkerThread::Observer implementation.
68 void WillStopCurrentWorkerThread() override; 71 void WillStopCurrentWorkerThread() override;
69 72
70 static blink::WebIDBMetadata ConvertMetadata( 73 static blink::WebIDBMetadata ConvertMetadata(
71 const IndexedDBDatabaseMetadata& idb_metadata); 74 const IndexedDBDatabaseMetadata& idb_metadata);
75 static std::vector<blink::WebIDBObservation> ConvertObservations(
76 const std::vector<IndexedDBMsg_Observation>& idb_observation);
72 77
73 void OnMessageReceived(const IPC::Message& msg); 78 void OnMessageReceived(const IPC::Message& msg);
74 79
75 // This method is virtual so it can be overridden in unit tests. 80 // This method is virtual so it can be overridden in unit tests.
76 virtual bool Send(IPC::Message* msg); 81 virtual bool Send(IPC::Message* msg);
77 82
78 int32_t AddIDBObserver(int32_t ipc_database_id, 83 int32_t AddIDBObserver(int32_t ipc_database_id,
79 int64_t transaction_id, 84 int64_t transaction_id,
80 std::unique_ptr<blink::WebIDBObserver> observer); 85 std::unique_ptr<blink::WebIDBObserver> observer);
81 86
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 int64_t existing_version); 255 int64_t existing_version);
251 void OnUpgradeNeeded(const IndexedDBMsg_CallbacksUpgradeNeeded_Params& p); 256 void OnUpgradeNeeded(const IndexedDBMsg_CallbacksUpgradeNeeded_Params& p);
252 void OnAbort(int32_t ipc_thread_id, 257 void OnAbort(int32_t ipc_thread_id,
253 int32_t ipc_database_id, 258 int32_t ipc_database_id,
254 int64_t transaction_id, 259 int64_t transaction_id,
255 int code, 260 int code,
256 const base::string16& message); 261 const base::string16& message);
257 void OnComplete(int32_t ipc_thread_id, 262 void OnComplete(int32_t ipc_thread_id,
258 int32_t ipc_database_id, 263 int32_t ipc_database_id,
259 int64_t transaction_id); 264 int64_t transaction_id);
265 void OnDatabaseChange(int32_t ipc_thread_id,
266 int32_t ipc_database_id,
267 const IndexedDBMsg_ObserverChanges&);
268
260 void OnForcedClose(int32_t ipc_thread_id, int32_t ipc_database_id); 269 void OnForcedClose(int32_t ipc_thread_id, int32_t ipc_database_id);
261 void OnVersionChange(int32_t ipc_thread_id, 270 void OnVersionChange(int32_t ipc_thread_id,
262 int32_t ipc_database_id, 271 int32_t ipc_database_id,
263 int64_t old_version, 272 int64_t old_version,
264 int64_t new_version); 273 int64_t new_version);
265 274
266 // Reset cursor prefetch caches for all cursors except exception_cursor_id. 275 // Reset cursor prefetch caches for all cursors except exception_cursor_id.
267 void ResetCursorPrefetchCaches(int64_t transaction_id, 276 void ResetCursorPrefetchCaches(int64_t transaction_id,
268 int32_t ipc_exception_cursor_id); 277 int32_t ipc_exception_cursor_id);
269 278
(...skipping 21 matching lines...) Expand all
291 std::map<int32_t, WebIDBCursorImpl*> cursors_; 300 std::map<int32_t, WebIDBCursorImpl*> cursors_;
292 301
293 std::map<int32_t, WebIDBDatabaseImpl*> databases_; 302 std::map<int32_t, WebIDBDatabaseImpl*> databases_;
294 303
295 DISALLOW_COPY_AND_ASSIGN(IndexedDBDispatcher); 304 DISALLOW_COPY_AND_ASSIGN(IndexedDBDispatcher);
296 }; 305 };
297 306
298 } // namespace content 307 } // namespace content
299 308
300 #endif // CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_ 309 #endif // CONTENT_CHILD_INDEXED_DB_INDEXED_DB_DISPATCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698