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

Side by Side Diff: content/browser/storage_partition_impl.cc

Issue 61023005: service worker scaffolding (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | « content/browser/storage_partition_impl.h ('k') | content/content_browser.gypi » ('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 #include "content/browser/storage_partition_impl.h" 5 #include "content/browser/storage_partition_impl.h"
6 6
7 #include "base/sequenced_task_runner.h" 7 #include "base/sequenced_task_runner.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "content/browser/browser_main_loop.h" 9 #include "content/browser/browser_main_loop.h"
10 #include "content/browser/fileapi/browser_file_system_helper.h" 10 #include "content/browser/fileapi/browser_file_system_helper.h"
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 } 318 }
319 319
320 StoragePartitionImpl::StoragePartitionImpl( 320 StoragePartitionImpl::StoragePartitionImpl(
321 const base::FilePath& partition_path, 321 const base::FilePath& partition_path,
322 quota::QuotaManager* quota_manager, 322 quota::QuotaManager* quota_manager,
323 ChromeAppCacheService* appcache_service, 323 ChromeAppCacheService* appcache_service,
324 fileapi::FileSystemContext* filesystem_context, 324 fileapi::FileSystemContext* filesystem_context,
325 webkit_database::DatabaseTracker* database_tracker, 325 webkit_database::DatabaseTracker* database_tracker,
326 DOMStorageContextWrapper* dom_storage_context, 326 DOMStorageContextWrapper* dom_storage_context,
327 IndexedDBContextImpl* indexed_db_context, 327 IndexedDBContextImpl* indexed_db_context,
328 ServiceWorkerContext* service_worker_context, 328 ServiceWorkerContextWrapper* service_worker_context,
329 WebRTCIdentityStore* webrtc_identity_store, 329 WebRTCIdentityStore* webrtc_identity_store,
330 quota::SpecialStoragePolicy* special_storage_policy) 330 quota::SpecialStoragePolicy* special_storage_policy)
331 : partition_path_(partition_path), 331 : partition_path_(partition_path),
332 quota_manager_(quota_manager), 332 quota_manager_(quota_manager),
333 appcache_service_(appcache_service), 333 appcache_service_(appcache_service),
334 filesystem_context_(filesystem_context), 334 filesystem_context_(filesystem_context),
335 database_tracker_(database_tracker), 335 database_tracker_(database_tracker),
336 dom_storage_context_(dom_storage_context), 336 dom_storage_context_(dom_storage_context),
337 indexed_db_context_(indexed_db_context), 337 indexed_db_context_(indexed_db_context),
338 service_worker_context_(service_worker_context), 338 service_worker_context_(service_worker_context),
339 webrtc_identity_store_(webrtc_identity_store), 339 webrtc_identity_store_(webrtc_identity_store),
340 special_storage_policy_(special_storage_policy) {} 340 special_storage_policy_(special_storage_policy) {}
341 341
342 StoragePartitionImpl::~StoragePartitionImpl() { 342 StoragePartitionImpl::~StoragePartitionImpl() {
343 // These message loop checks are just to avoid leaks in unittests. 343 // These message loop checks are just to avoid leaks in unittests.
344 if (GetDatabaseTracker() && 344 if (GetDatabaseTracker() &&
345 BrowserThread::IsMessageLoopValid(BrowserThread::FILE)) { 345 BrowserThread::IsMessageLoopValid(BrowserThread::FILE)) {
346 BrowserThread::PostTask( 346 BrowserThread::PostTask(
347 BrowserThread::FILE, FROM_HERE, 347 BrowserThread::FILE, FROM_HERE,
348 base::Bind(&webkit_database::DatabaseTracker::Shutdown, 348 base::Bind(&webkit_database::DatabaseTracker::Shutdown,
349 GetDatabaseTracker())); 349 GetDatabaseTracker()));
350 } 350 }
351 351
352 if (GetFileSystemContext()) 352 if (GetFileSystemContext())
353 GetFileSystemContext()->Shutdown(); 353 GetFileSystemContext()->Shutdown();
354 354
355 if (GetDOMStorageContext()) 355 if (GetDOMStorageContext())
356 GetDOMStorageContext()->Shutdown(); 356 GetDOMStorageContext()->Shutdown();
357
358 if (GetServiceWorkerContext())
359 GetServiceWorkerContext()->Shutdown();
357 } 360 }
358 361
359 // TODO(ajwong): Break the direct dependency on |context|. We only 362 // TODO(ajwong): Break the direct dependency on |context|. We only
360 // need 3 pieces of info from it. 363 // need 3 pieces of info from it.
361 StoragePartitionImpl* StoragePartitionImpl::Create( 364 StoragePartitionImpl* StoragePartitionImpl::Create(
362 BrowserContext* context, 365 BrowserContext* context,
363 bool in_memory, 366 bool in_memory,
364 const base::FilePath& partition_path) { 367 const base::FilePath& partition_path) {
365 // Ensure that these methods are called on the UI thread, except for 368 // Ensure that these methods are called on the UI thread, except for
366 // unittests where a UI thread might not have been created. 369 // unittests where a UI thread might not have been created.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 BrowserMainLoop::GetInstance() 408 BrowserMainLoop::GetInstance()
406 ? BrowserMainLoop::GetInstance()->indexed_db_thread() 409 ? BrowserMainLoop::GetInstance()->indexed_db_thread()
407 ->message_loop_proxy().get() 410 ->message_loop_proxy().get()
408 : NULL; 411 : NULL;
409 scoped_refptr<IndexedDBContextImpl> indexed_db_context = 412 scoped_refptr<IndexedDBContextImpl> indexed_db_context =
410 new IndexedDBContextImpl(path, 413 new IndexedDBContextImpl(path,
411 context->GetSpecialStoragePolicy(), 414 context->GetSpecialStoragePolicy(),
412 quota_manager->proxy(), 415 quota_manager->proxy(),
413 idb_task_runner); 416 idb_task_runner);
414 417
415 scoped_refptr<ServiceWorkerContext> service_worker_context = 418 scoped_refptr<ServiceWorkerContextWrapper> service_worker_context =
416 new ServiceWorkerContext(path, quota_manager->proxy()); 419 new ServiceWorkerContextWrapper();
420 service_worker_context->Init(path, quota_manager->proxy());
417 421
418 scoped_refptr<ChromeAppCacheService> appcache_service = 422 scoped_refptr<ChromeAppCacheService> appcache_service =
419 new ChromeAppCacheService(quota_manager->proxy()); 423 new ChromeAppCacheService(quota_manager->proxy());
420 424
421 scoped_refptr<WebRTCIdentityStore> webrtc_identity_store( 425 scoped_refptr<WebRTCIdentityStore> webrtc_identity_store(
422 new WebRTCIdentityStore(path, context->GetSpecialStoragePolicy())); 426 new WebRTCIdentityStore(path, context->GetSpecialStoragePolicy()));
423 427
424 scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy( 428 scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy(
425 context->GetSpecialStoragePolicy()); 429 context->GetSpecialStoragePolicy());
426 430
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 } 470 }
467 471
468 DOMStorageContextWrapper* StoragePartitionImpl::GetDOMStorageContext() { 472 DOMStorageContextWrapper* StoragePartitionImpl::GetDOMStorageContext() {
469 return dom_storage_context_.get(); 473 return dom_storage_context_.get();
470 } 474 }
471 475
472 IndexedDBContextImpl* StoragePartitionImpl::GetIndexedDBContext() { 476 IndexedDBContextImpl* StoragePartitionImpl::GetIndexedDBContext() {
473 return indexed_db_context_.get(); 477 return indexed_db_context_.get();
474 } 478 }
475 479
476 ServiceWorkerContext* StoragePartitionImpl::GetServiceWorkerContext() { 480 ServiceWorkerContextWrapper* StoragePartitionImpl::GetServiceWorkerContext() {
477 return service_worker_context_.get(); 481 return service_worker_context_.get();
478 } 482 }
479 483
480 void StoragePartitionImpl::ClearDataImpl( 484 void StoragePartitionImpl::ClearDataImpl(
481 uint32 remove_mask, 485 uint32 remove_mask,
482 uint32 quota_storage_remove_mask, 486 uint32 quota_storage_remove_mask,
483 const GURL* remove_origin, 487 const GURL* remove_origin,
484 const OriginMatcherFunction& origin_matcher, 488 const OriginMatcherFunction& origin_matcher,
485 net::URLRequestContextGetter* rq_context, 489 net::URLRequestContextGetter* rq_context,
486 const base::Time begin, 490 const base::Time begin,
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 net::URLRequestContextGetter* url_request_context) { 772 net::URLRequestContextGetter* url_request_context) {
769 url_request_context_ = url_request_context; 773 url_request_context_ = url_request_context;
770 } 774 }
771 775
772 void StoragePartitionImpl::SetMediaURLRequestContext( 776 void StoragePartitionImpl::SetMediaURLRequestContext(
773 net::URLRequestContextGetter* media_url_request_context) { 777 net::URLRequestContextGetter* media_url_request_context) {
774 media_url_request_context_ = media_url_request_context; 778 media_url_request_context_ = media_url_request_context;
775 } 779 }
776 780
777 } // namespace content 781 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/storage_partition_impl.h ('k') | content/content_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698