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

Side by Side Diff: chrome/browser/profiles/profile.cc

Issue 7053030: Initial IndexedDBQuotaClient implementation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: custom struct for refptr to use on Destruct Created 9 years, 6 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/profiles/profile.h" 5 #include "chrome/browser/profiles/profile.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 558
559 virtual SpellCheckHost* GetSpellCheckHost() { 559 virtual SpellCheckHost* GetSpellCheckHost() {
560 return profile_->GetSpellCheckHost(); 560 return profile_->GetSpellCheckHost();
561 } 561 }
562 562
563 virtual void ReinitializeSpellCheckHost(bool force) { 563 virtual void ReinitializeSpellCheckHost(bool force) {
564 profile_->ReinitializeSpellCheckHost(force); 564 profile_->ReinitializeSpellCheckHost(force);
565 } 565 }
566 566
567 virtual WebKitContext* GetWebKitContext() { 567 virtual WebKitContext* GetWebKitContext() {
568 if (!webkit_context_.get()) { 568 CreateQuotaManagerAndClients();
569 webkit_context_ = new WebKitContext(
570 IsOffTheRecord(), GetPath(), GetExtensionSpecialStoragePolicy(),
571 false);
572 }
573 return webkit_context_.get(); 569 return webkit_context_.get();
574 } 570 }
575 571
576 virtual history::TopSites* GetTopSitesWithoutCreating() { 572 virtual history::TopSites* GetTopSitesWithoutCreating() {
577 return NULL; 573 return NULL;
578 } 574 }
579 575
580 virtual history::TopSites* GetTopSites() { 576 virtual history::TopSites* GetTopSites() {
581 return NULL; 577 return NULL;
582 } 578 }
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 // TODO(tburkard): Figure out if we want to support this, and how, at some 683 // TODO(tburkard): Figure out if we want to support this, and how, at some
688 // point in the future. 684 // point in the future.
689 return NULL; 685 return NULL;
690 } 686 }
691 687
692 private: 688 private:
693 void CreateQuotaManagerAndClients() { 689 void CreateQuotaManagerAndClients() {
694 if (quota_manager_.get()) { 690 if (quota_manager_.get()) {
695 DCHECK(file_system_context_.get()); 691 DCHECK(file_system_context_.get());
696 DCHECK(db_tracker_.get()); 692 DCHECK(db_tracker_.get());
693 DCHECK(webkit_context_.get());
697 return; 694 return;
698 } 695 }
699 696
700 // All of the clients have to be created and registered with the 697 // All of the clients have to be created and registered with the
701 // QuotaManager prior to the QuotaManger being used. So we do them 698 // QuotaManager prior to the QuotaManger being used. So we do them
702 // all together here prior to handing out a reference to anything 699 // all together here prior to handing out a reference to anything
703 // that utlizes the QuotaManager. 700 // that utlizes the QuotaManager.
704 quota_manager_ = new quota::QuotaManager( 701 quota_manager_ = new quota::QuotaManager(
705 IsOffTheRecord(), 702 IsOffTheRecord(),
706 GetPath(), 703 GetPath(),
707 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO), 704 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO),
708 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB)); 705 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB));
709 706
710 // Each consumer is responsible for registering its QuotaClient during 707 // Each consumer is responsible for registering its QuotaClient during
711 // its construction. 708 // its construction.
712 file_system_context_ = CreateFileSystemContext( 709 file_system_context_ = CreateFileSystemContext(
713 GetPath(), IsOffTheRecord(), 710 GetPath(), IsOffTheRecord(),
714 GetExtensionSpecialStoragePolicy(), 711 GetExtensionSpecialStoragePolicy(),
715 quota_manager_->proxy()); 712 quota_manager_->proxy());
716 db_tracker_ = new webkit_database::DatabaseTracker( 713 db_tracker_ = new webkit_database::DatabaseTracker(
717 GetPath(), IsOffTheRecord(), GetExtensionSpecialStoragePolicy(), 714 GetPath(), IsOffTheRecord(), GetExtensionSpecialStoragePolicy(),
718 quota_manager_->proxy(), 715 quota_manager_->proxy(),
719 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)); 716 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE));
717 webkit_context_ = new WebKitContext(
718 IsOffTheRecord(), GetPath(), GetExtensionSpecialStoragePolicy(),
719 false, quota_manager_->proxy(),
720 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::WEBKIT));
720 appcache_service_ = new ChromeAppCacheService(quota_manager_->proxy()); 721 appcache_service_ = new ChromeAppCacheService(quota_manager_->proxy());
721 BrowserThread::PostTask( 722 BrowserThread::PostTask(
722 BrowserThread::IO, FROM_HERE, 723 BrowserThread::IO, FROM_HERE,
723 NewRunnableMethod( 724 NewRunnableMethod(
724 appcache_service_.get(), 725 appcache_service_.get(),
725 &ChromeAppCacheService::InitializeOnIOThread, 726 &ChromeAppCacheService::InitializeOnIOThread,
726 IsOffTheRecord() 727 IsOffTheRecord()
727 ? FilePath() : GetPath().Append(chrome::kAppCacheDirname), 728 ? FilePath() : GetPath().Append(chrome::kAppCacheDirname),
728 &GetResourceContext(), 729 &GetResourceContext(),
729 make_scoped_refptr(GetExtensionSpecialStoragePolicy()), 730 make_scoped_refptr(GetExtensionSpecialStoragePolicy()),
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 }; 820 };
820 #endif 821 #endif
821 822
822 Profile* Profile::CreateOffTheRecordProfile() { 823 Profile* Profile::CreateOffTheRecordProfile() {
823 #if defined(OS_CHROMEOS) 824 #if defined(OS_CHROMEOS)
824 if (Profile::IsGuestSession()) 825 if (Profile::IsGuestSession())
825 return new GuestSessionProfile(this); 826 return new GuestSessionProfile(this);
826 #endif 827 #endif
827 return new OffTheRecordProfileImpl(this); 828 return new OffTheRecordProfileImpl(this);
828 } 829 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/profiles/profile_impl.cc » ('j') | content/browser/in_process_webkit/indexed_db_context.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698