OLD | NEW |
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/resource_context_impl.h" | 5 #include "content/browser/resource_context_impl.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "content/browser/appcache/chrome_appcache_service.h" | 8 #include "content/browser/appcache/chrome_appcache_service.h" |
9 #include "content/browser/fileapi/browser_file_system_helper.h" | 9 #include "content/browser/fileapi/browser_file_system_helper.h" |
10 #include "content/browser/fileapi/chrome_blob_storage_context.h" | 10 #include "content/browser/fileapi/chrome_blob_storage_context.h" |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 job_factory->AddInterceptor(new DeveloperProtocolHandler( | 168 job_factory->AddInterceptor(new DeveloperProtocolHandler( |
169 ResourceContext::GetAppCacheService(resource_context), | 169 ResourceContext::GetAppCacheService(resource_context), |
170 GetBlobStorageControllerForResourceContext(resource_context))); | 170 GetBlobStorageControllerForResourceContext(resource_context))); |
171 | 171 |
172 // TODO(jam): Add the ProtocolHandlerRegistryIntercepter here! | 172 // TODO(jam): Add the ProtocolHandlerRegistryIntercepter here! |
173 } | 173 } |
174 | 174 |
175 } // namespace | 175 } // namespace |
176 | 176 |
177 AppCacheService* ResourceContext::GetAppCacheService(ResourceContext* context) { | 177 AppCacheService* ResourceContext::GetAppCacheService(ResourceContext* context) { |
| 178 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
178 return UserDataAdapter<ChromeAppCacheService>::Get( | 179 return UserDataAdapter<ChromeAppCacheService>::Get( |
179 context, kAppCacheServicKeyName); | 180 context, kAppCacheServicKeyName); |
180 } | 181 } |
181 | 182 |
182 ResourceContext::ResourceContext() { | 183 ResourceContext::ResourceContext() { |
183 if (ResourceDispatcherHostImpl::Get()) | 184 if (ResourceDispatcherHostImpl::Get()) |
184 ResourceDispatcherHostImpl::Get()->AddResourceContext(this); | 185 ResourceDispatcherHostImpl::Get()->AddResourceContext(this); |
185 } | 186 } |
186 | 187 |
187 ResourceContext::~ResourceContext() { | 188 ResourceContext::~ResourceContext() { |
188 ResourceDispatcherHostImpl* rdhi = ResourceDispatcherHostImpl::Get(); | 189 ResourceDispatcherHostImpl* rdhi = ResourceDispatcherHostImpl::Get(); |
189 if (rdhi) { | 190 if (rdhi) { |
190 rdhi->CancelRequestsForContext(this); | 191 rdhi->CancelRequestsForContext(this); |
191 rdhi->RemoveResourceContext(this); | 192 rdhi->RemoveResourceContext(this); |
192 } | 193 } |
193 } | 194 } |
194 | 195 |
195 BlobStorageController* GetBlobStorageControllerForResourceContext( | 196 BlobStorageController* GetBlobStorageControllerForResourceContext( |
196 ResourceContext* resource_context) { | 197 ResourceContext* resource_context) { |
| 198 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
197 return GetChromeBlobStorageContextForResourceContext(resource_context)-> | 199 return GetChromeBlobStorageContextForResourceContext(resource_context)-> |
198 controller(); | 200 controller(); |
199 } | 201 } |
200 | 202 |
201 DatabaseTracker* GetDatabaseTrackerForResourceContext( | 203 DatabaseTracker* GetDatabaseTrackerForResourceContext( |
202 ResourceContext* resource_context) { | 204 ResourceContext* resource_context) { |
| 205 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
203 return UserDataAdapter<DatabaseTracker>::Get( | 206 return UserDataAdapter<DatabaseTracker>::Get( |
204 resource_context, kDatabaseTrackerKeyName); | 207 resource_context, kDatabaseTrackerKeyName); |
205 } | 208 } |
206 | 209 |
207 FileSystemContext* GetFileSystemContextForResourceContext( | 210 FileSystemContext* GetFileSystemContextForResourceContext( |
208 ResourceContext* resource_context) { | 211 ResourceContext* resource_context) { |
| 212 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
209 return UserDataAdapter<FileSystemContext>::Get( | 213 return UserDataAdapter<FileSystemContext>::Get( |
210 resource_context, kFileSystemContextKeyName); | 214 resource_context, kFileSystemContextKeyName); |
211 } | 215 } |
212 | 216 |
213 IndexedDBContextImpl* GetIndexedDBContextForResourceContext( | 217 IndexedDBContextImpl* GetIndexedDBContextForResourceContext( |
214 ResourceContext* resource_context) { | 218 ResourceContext* resource_context) { |
| 219 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
215 return UserDataAdapter<IndexedDBContextImpl>::Get( | 220 return UserDataAdapter<IndexedDBContextImpl>::Get( |
216 resource_context, kIndexedDBContextKeyName); | 221 resource_context, kIndexedDBContextKeyName); |
217 } | 222 } |
218 | 223 |
219 ChromeBlobStorageContext* GetChromeBlobStorageContextForResourceContext( | 224 ChromeBlobStorageContext* GetChromeBlobStorageContextForResourceContext( |
220 ResourceContext* resource_context) { | 225 ResourceContext* resource_context) { |
| 226 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
221 return UserDataAdapter<ChromeBlobStorageContext>::Get( | 227 return UserDataAdapter<ChromeBlobStorageContext>::Get( |
222 resource_context, kBlobStorageContextKeyName); | 228 resource_context, kBlobStorageContextKeyName); |
223 } | 229 } |
224 | 230 |
225 HostZoomMap* GetHostZoomMapForResourceContext(ResourceContext* context) { | 231 HostZoomMap* GetHostZoomMapForResourceContext(ResourceContext* context) { |
| 232 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
226 return static_cast<NonOwningZoomData*>( | 233 return static_cast<NonOwningZoomData*>( |
227 context->GetUserData(kHostZoomMapKeyName))->host_zoom_map(); | 234 context->GetUserData(kHostZoomMapKeyName))->host_zoom_map(); |
228 } | 235 } |
229 | 236 |
230 void InitializeResourceContext(BrowserContext* browser_context) { | 237 void InitializeResourceContext(BrowserContext* browser_context) { |
231 ResourceContext* resource_context = browser_context->GetResourceContext(); | 238 ResourceContext* resource_context = browser_context->GetResourceContext(); |
232 DCHECK(!resource_context->GetUserData(kIndexedDBContextKeyName)); | 239 DCHECK(!resource_context->GetUserData(kIndexedDBContextKeyName)); |
233 | 240 |
234 resource_context->SetUserData( | 241 resource_context->SetUserData( |
235 kIndexedDBContextKeyName, | 242 kIndexedDBContextKeyName, |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 BrowserThread::PostTask( | 279 BrowserThread::PostTask( |
273 BrowserThread::IO, FROM_HERE, | 280 BrowserThread::IO, FROM_HERE, |
274 base::Bind(&InitializeRequestContext, | 281 base::Bind(&InitializeRequestContext, |
275 resource_context, | 282 resource_context, |
276 make_scoped_refptr( | 283 make_scoped_refptr( |
277 browser_context->GetRequestContextForMedia()))); | 284 browser_context->GetRequestContextForMedia()))); |
278 } | 285 } |
279 } | 286 } |
280 | 287 |
281 } // namespace content | 288 } // namespace content |
OLD | NEW |