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

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

Issue 9704048: Make the content::DOMStorageContext methods callable on the main thread and hide the threading deta… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 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/public/browser/browser_context.h" 5 #include "content/public/browser/browser_context.h"
6 6
7 #include "content/browser/appcache/chrome_appcache_service.h" 7 #include "content/browser/appcache/chrome_appcache_service.h"
8 #include "content/browser/fileapi/browser_file_system_helper.h" 8 #include "content/browser/fileapi/browser_file_system_helper.h"
9 #include "content/browser/in_process_webkit/dom_storage_context_impl.h" 9 #include "content/browser/in_process_webkit/dom_storage_context_impl.h"
10 #include "content/browser/in_process_webkit/indexed_db_context_impl.h" 10 #include "content/browser/in_process_webkit/indexed_db_context_impl.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 new UserDataAdapter<FileSystemContext>(filesystem_context)); 65 new UserDataAdapter<FileSystemContext>(filesystem_context));
66 66
67 scoped_refptr<DatabaseTracker> db_tracker = new DatabaseTracker( 67 scoped_refptr<DatabaseTracker> db_tracker = new DatabaseTracker(
68 context->GetPath(), context->IsOffTheRecord(), 68 context->GetPath(), context->IsOffTheRecord(),
69 context->GetSpecialStoragePolicy(), quota_manager->proxy(), 69 context->GetSpecialStoragePolicy(), quota_manager->proxy(),
70 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)); 70 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE));
71 context->SetUserData(kDatabaseTrackerKeyName, 71 context->SetUserData(kDatabaseTrackerKeyName,
72 new UserDataAdapter<DatabaseTracker>(db_tracker)); 72 new UserDataAdapter<DatabaseTracker>(db_tracker));
73 73
74 FilePath path = context->IsOffTheRecord() ? FilePath() : context->GetPath(); 74 FilePath path = context->IsOffTheRecord() ? FilePath() : context->GetPath();
75 scoped_refptr<DOMStorageContext> dom_storage_context = 75 scoped_refptr<DOMStorageContextImpl> dom_storage_context =
76 new DOMStorageContextImpl(path, context->GetSpecialStoragePolicy()); 76 new DOMStorageContextImpl(path, context->GetSpecialStoragePolicy());
77 context->SetUserData( 77 context->SetUserData(
78 kDOMStorageContextKeyName, 78 kDOMStorageContextKeyName,
79 new UserDataAdapter<DOMStorageContext>(dom_storage_context)); 79 new UserDataAdapter<DOMStorageContextImpl>(dom_storage_context));
80 80
81 scoped_refptr<IndexedDBContext> indexed_db_context = new IndexedDBContextImpl( 81 scoped_refptr<IndexedDBContext> indexed_db_context = new IndexedDBContextImpl(
82 path, context->GetSpecialStoragePolicy(), quota_manager->proxy(), 82 path, context->GetSpecialStoragePolicy(), quota_manager->proxy(),
83 BrowserThread::GetMessageLoopProxyForThread( 83 BrowserThread::GetMessageLoopProxyForThread(
84 BrowserThread::WEBKIT_DEPRECATED)); 84 BrowserThread::WEBKIT_DEPRECATED));
85 context->SetUserData( 85 context->SetUserData(
86 kIndexedDBContextKeyName, 86 kIndexedDBContextKeyName,
87 new UserDataAdapter<IndexedDBContext>(indexed_db_context)); 87 new UserDataAdapter<IndexedDBContext>(indexed_db_context));
88 88
89 scoped_refptr<ChromeAppCacheService> appcache_service = 89 scoped_refptr<ChromeAppCacheService> appcache_service =
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 } 131 }
132 132
133 QuotaManager* BrowserContext::GetQuotaManager(BrowserContext* context) { 133 QuotaManager* BrowserContext::GetQuotaManager(BrowserContext* context) {
134 CreateQuotaManagerAndClients(context); 134 CreateQuotaManagerAndClients(context);
135 return UserDataAdapter<QuotaManager>::Get(context, kQuotaManagerKeyName); 135 return UserDataAdapter<QuotaManager>::Get(context, kQuotaManagerKeyName);
136 } 136 }
137 137
138 DOMStorageContext* BrowserContext::GetDOMStorageContext( 138 DOMStorageContext* BrowserContext::GetDOMStorageContext(
139 BrowserContext* context) { 139 BrowserContext* context) {
140 CreateQuotaManagerAndClients(context); 140 CreateQuotaManagerAndClients(context);
141 return UserDataAdapter<DOMStorageContext>::Get( 141 return UserDataAdapter<DOMStorageContextImpl>::Get(
142 context, kDOMStorageContextKeyName); 142 context, kDOMStorageContextKeyName);
143 } 143 }
144 144
145 IndexedDBContext* BrowserContext::GetIndexedDBContext(BrowserContext* context) { 145 IndexedDBContext* BrowserContext::GetIndexedDBContext(BrowserContext* context) {
146 CreateQuotaManagerAndClients(context); 146 CreateQuotaManagerAndClients(context);
147 return UserDataAdapter<IndexedDBContext>::Get( 147 return UserDataAdapter<IndexedDBContext>::Get(
148 context, kIndexedDBContextKeyName); 148 context, kIndexedDBContextKeyName);
149 } 149 }
150 150
151 DatabaseTracker* BrowserContext::GetDatabaseTracker(BrowserContext* context) { 151 DatabaseTracker* BrowserContext::GetDatabaseTracker(BrowserContext* context) {
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 if (GetUserData(kDatabaseTrackerKeyName) && 243 if (GetUserData(kDatabaseTrackerKeyName) &&
244 BrowserThread::IsMessageLoopValid(BrowserThread::FILE)) { 244 BrowserThread::IsMessageLoopValid(BrowserThread::FILE)) {
245 BrowserThread::PostTask( 245 BrowserThread::PostTask(
246 BrowserThread::FILE, FROM_HERE, 246 BrowserThread::FILE, FROM_HERE,
247 base::Bind(&webkit_database::DatabaseTracker::Shutdown, 247 base::Bind(&webkit_database::DatabaseTracker::Shutdown,
248 GetDatabaseTracker(this))); 248 GetDatabaseTracker(this)));
249 } 249 }
250 250
251 if (GetUserData(kDOMStorageContextKeyName) && 251 if (GetUserData(kDOMStorageContextKeyName) &&
252 BrowserThread::IsMessageLoopValid(BrowserThread::WEBKIT_DEPRECATED)) { 252 BrowserThread::IsMessageLoopValid(BrowserThread::WEBKIT_DEPRECATED)) {
253 DOMStorageContext* dom_storage_context = 253 DOMStorageContextImpl* dom_storage_context =
254 (static_cast<UserDataAdapter<DOMStorageContext>*>( 254 (static_cast<UserDataAdapter<DOMStorageContextImpl>*>(
255 GetUserData(kDOMStorageContextKeyName)))->release(); 255 GetUserData(kDOMStorageContextKeyName)))->release();
256 BrowserThread::ReleaseSoon( 256 BrowserThread::ReleaseSoon(
257 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, dom_storage_context); 257 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, dom_storage_context);
258 } 258 }
259 } 259 }
260 260
261 } // namespace content 261 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698