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

Side by Side Diff: content/browser/indexed_db/indexed_db_dispatcher_host.cc

Issue 203833003: Add the IndexedDBActiveBlobRegistry, currently unused, to enable future blob (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clang fixes Created 6 years, 9 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
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 #include "content/browser/indexed_db/indexed_db_dispatcher_host.h" 5 #include "content/browser/indexed_db/indexed_db_dispatcher_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/process/process.h" 10 #include "base/process/process.h"
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread()); 242 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread());
243 base::FilePath indexed_db_path = indexed_db_context_->data_path(); 243 base::FilePath indexed_db_path = indexed_db_context_->data_path();
244 244
245 GURL origin_url = 245 GURL origin_url =
246 webkit_database::GetOriginFromIdentifier(params.database_identifier); 246 webkit_database::GetOriginFromIdentifier(params.database_identifier);
247 247
248 Context()->GetIDBFactory()->GetDatabaseNames( 248 Context()->GetIDBFactory()->GetDatabaseNames(
249 new IndexedDBCallbacks( 249 new IndexedDBCallbacks(
250 this, params.ipc_thread_id, params.ipc_callbacks_id), 250 this, params.ipc_thread_id, params.ipc_callbacks_id),
251 origin_url, 251 origin_url,
252 indexed_db_path); 252 indexed_db_path,
253 Context()->TaskRunner());
253 } 254 }
254 255
255 void IndexedDBDispatcherHost::OnIDBFactoryOpen( 256 void IndexedDBDispatcherHost::OnIDBFactoryOpen(
256 const IndexedDBHostMsg_FactoryOpen_Params& params) { 257 const IndexedDBHostMsg_FactoryOpen_Params& params) {
257 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread()); 258 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread());
258 base::FilePath indexed_db_path = indexed_db_context_->data_path(); 259 base::FilePath indexed_db_path = indexed_db_context_->data_path();
259 260
260 GURL origin_url = 261 GURL origin_url =
261 webkit_database::GetOriginFromIdentifier(params.database_identifier); 262 webkit_database::GetOriginFromIdentifier(params.database_identifier);
262 263
263 int64 host_transaction_id = HostTransactionId(params.transaction_id); 264 int64 host_transaction_id = HostTransactionId(params.transaction_id);
264 265
265 // TODO(dgrogan): Don't let a non-existing database be opened (and therefore 266 // TODO(dgrogan): Don't let a non-existing database be opened (and therefore
266 // created) if this origin is already over quota. 267 // created) if this origin is already over quota.
267 scoped_refptr<IndexedDBCallbacks> callbacks = 268 scoped_refptr<IndexedDBCallbacks> callbacks =
268 new IndexedDBCallbacks(this, 269 new IndexedDBCallbacks(this,
269 params.ipc_thread_id, 270 params.ipc_thread_id,
270 params.ipc_callbacks_id, 271 params.ipc_callbacks_id,
271 params.ipc_database_callbacks_id, 272 params.ipc_database_callbacks_id,
272 host_transaction_id, 273 host_transaction_id,
273 origin_url); 274 origin_url);
274 scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks = 275 scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks =
275 new IndexedDBDatabaseCallbacks( 276 new IndexedDBDatabaseCallbacks(
276 this, params.ipc_thread_id, params.ipc_database_callbacks_id); 277 this, params.ipc_thread_id, params.ipc_database_callbacks_id);
277 IndexedDBPendingConnection connection(callbacks, 278 IndexedDBPendingConnection connection(callbacks,
278 database_callbacks, 279 database_callbacks,
279 0 /* TODO(ericu) ipc_process_id */, 280 0 /* TODO(ericu) ipc_process_id */,
280 host_transaction_id, 281 host_transaction_id,
281 params.version); 282 params.version);
282 Context()->GetIDBFactory()->Open( 283 Context()->GetIDBFactory()->Open(params.name,
283 params.name, connection, origin_url, indexed_db_path); 284 connection,
285 origin_url,
286 indexed_db_path,
287 Context()->TaskRunner());
284 } 288 }
285 289
286 void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase( 290 void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase(
287 const IndexedDBHostMsg_FactoryDeleteDatabase_Params& params) { 291 const IndexedDBHostMsg_FactoryDeleteDatabase_Params& params) {
288 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread()); 292 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread());
289 GURL origin_url = 293 GURL origin_url =
290 webkit_database::GetOriginFromIdentifier(params.database_identifier); 294 webkit_database::GetOriginFromIdentifier(params.database_identifier);
291 base::FilePath indexed_db_path = indexed_db_context_->data_path(); 295 base::FilePath indexed_db_path = indexed_db_context_->data_path();
292 Context()->GetIDBFactory()->DeleteDatabase( 296 Context()->GetIDBFactory()->DeleteDatabase(
293 params.name, 297 params.name,
294 new IndexedDBCallbacks( 298 new IndexedDBCallbacks(
295 this, params.ipc_thread_id, params.ipc_callbacks_id), 299 this, params.ipc_thread_id, params.ipc_callbacks_id),
296 origin_url, 300 origin_url,
297 indexed_db_path); 301 indexed_db_path,
302 Context()->TaskRunner());
298 } 303 }
299 304
300 void IndexedDBDispatcherHost::OnAckReceivedBlobs( 305 void IndexedDBDispatcherHost::OnAckReceivedBlobs(
301 const std::vector<std::string>& uuids) { 306 const std::vector<std::string>& uuids) {
302 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread()); 307 DCHECK(indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread());
303 std::vector<std::string>::const_iterator iter; 308 std::vector<std::string>::const_iterator iter;
304 for (iter = uuids.begin(); iter != uuids.end(); ++iter) 309 for (iter = uuids.begin(); iter != uuids.end(); ++iter)
305 DropBlobDataHandle(*iter); 310 DropBlobDataHandle(*iter);
306 } 311 }
307 312
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 } 881 }
877 882
878 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed( 883 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed(
879 int32 ipc_object_id) { 884 int32 ipc_object_id) {
880 DCHECK( 885 DCHECK(
881 parent_->indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread()); 886 parent_->indexed_db_context_->TaskRunner()->RunsTasksOnCurrentThread());
882 parent_->DestroyObject(&map_, ipc_object_id); 887 parent_->DestroyObject(&map_, ipc_object_id);
883 } 888 }
884 889
885 } // namespace content 890 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698