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 "content/browser/appcache/chrome_appcache_service.h" | 7 #include "content/browser/appcache/chrome_appcache_service.h" |
8 #include "content/browser/chrome_blob_storage_context.h" | 8 #include "content/browser/chrome_blob_storage_context.h" |
9 #include "content/browser/file_system/browser_file_system_helper.h" | 9 #include "content/browser/file_system/browser_file_system_helper.h" |
10 #include "content/browser/in_process_webkit/webkit_context.h" | |
11 #include "content/browser/host_zoom_map_impl.h" | 10 #include "content/browser/host_zoom_map_impl.h" |
| 11 #include "content/browser/in_process_webkit/indexed_db_context_impl.h" |
12 #include "content/public/browser/browser_context.h" | 12 #include "content/public/browser/browser_context.h" |
13 #include "content/public/browser/browser_thread.h" | 13 #include "content/public/browser/browser_thread.h" |
14 #include "webkit/database/database_tracker.h" | 14 #include "webkit/database/database_tracker.h" |
15 | 15 |
16 // Key names on ResourceContext. | 16 // Key names on ResourceContext. |
17 static const char* kAppCacheServicKeyName = "content_appcache_service_tracker"; | 17 static const char* kAppCacheServicKeyName = "content_appcache_service_tracker"; |
18 static const char* kBlobStorageContextKeyName = "content_blob_storage_context"; | 18 static const char* kBlobStorageContextKeyName = "content_blob_storage_context"; |
19 static const char* kDatabaseTrackerKeyName = "content_database_tracker"; | 19 static const char* kDatabaseTrackerKeyName = "content_database_tracker"; |
20 static const char* kFileSystemContextKeyName = "content_file_system_context"; | 20 static const char* kFileSystemContextKeyName = "content_file_system_context"; |
| 21 static const char* kIndexedDBContextKeyName = "content_indexed_db_context"; |
21 static const char* kHostZoomMapKeyName = "content_host_zoom_map"; | 22 static const char* kHostZoomMapKeyName = "content_host_zoom_map"; |
22 static const char* kWebKitContextKeyName = "content_webkit_context"; | |
23 | 23 |
24 using appcache::AppCacheService; | 24 using appcache::AppCacheService; |
25 using base::UserDataAdapter; | 25 using base::UserDataAdapter; |
26 using content::BrowserThread; | 26 using content::BrowserThread; |
27 using fileapi::FileSystemContext; | 27 using fileapi::FileSystemContext; |
28 using webkit_blob::BlobStorageController; | 28 using webkit_blob::BlobStorageController; |
29 using webkit_database::DatabaseTracker; | 29 using webkit_database::DatabaseTracker; |
30 | 30 |
31 namespace content { | 31 namespace content { |
32 | 32 |
(...skipping 22 matching lines...) Expand all Loading... |
55 return GetChromeBlobStorageContextForResourceContext(resource_context)-> | 55 return GetChromeBlobStorageContextForResourceContext(resource_context)-> |
56 controller(); | 56 controller(); |
57 } | 57 } |
58 | 58 |
59 DatabaseTracker* GetDatabaseTrackerForResourceContext( | 59 DatabaseTracker* GetDatabaseTrackerForResourceContext( |
60 ResourceContext* resource_context) { | 60 ResourceContext* resource_context) { |
61 return UserDataAdapter<DatabaseTracker>::Get( | 61 return UserDataAdapter<DatabaseTracker>::Get( |
62 resource_context, kDatabaseTrackerKeyName); | 62 resource_context, kDatabaseTrackerKeyName); |
63 } | 63 } |
64 | 64 |
65 WebKitContext* GetWebKitContextForResourceContext( | 65 IndexedDBContextImpl* GetIndexedDBContextForResourceContext( |
66 ResourceContext* resource_context) { | 66 ResourceContext* resource_context) { |
67 return UserDataAdapter<WebKitContext>::Get( | 67 return UserDataAdapter<IndexedDBContextImpl>::Get( |
68 resource_context, kWebKitContextKeyName); | 68 resource_context, kIndexedDBContextKeyName); |
69 } | 69 } |
70 | 70 |
71 ChromeBlobStorageContext* GetChromeBlobStorageContextForResourceContext( | 71 ChromeBlobStorageContext* GetChromeBlobStorageContextForResourceContext( |
72 ResourceContext* resource_context) { | 72 ResourceContext* resource_context) { |
73 return UserDataAdapter<ChromeBlobStorageContext>::Get( | 73 return UserDataAdapter<ChromeBlobStorageContext>::Get( |
74 resource_context, kBlobStorageContextKeyName); | 74 resource_context, kBlobStorageContextKeyName); |
75 } | 75 } |
76 | 76 |
77 HostZoomMap* GetHostZoomMapForResourceContext(ResourceContext* context) { | 77 HostZoomMap* GetHostZoomMapForResourceContext(ResourceContext* context) { |
78 return static_cast<NonOwningZoomData*>( | 78 return static_cast<NonOwningZoomData*>( |
79 context->GetUserData(kHostZoomMapKeyName))->host_zoom_map(); | 79 context->GetUserData(kHostZoomMapKeyName))->host_zoom_map(); |
80 } | 80 } |
81 | 81 |
82 void EnsureResourceContextInitialized(BrowserContext* browser_context) { | 82 void EnsureResourceContextInitialized(BrowserContext* browser_context) { |
83 ResourceContext* resource_context = browser_context->GetResourceContext(); | 83 ResourceContext* resource_context = browser_context->GetResourceContext(); |
84 | 84 if (resource_context->GetUserData(kIndexedDBContextKeyName)) { |
85 if (resource_context->GetUserData(kWebKitContextKeyName)) | 85 DCHECK(resource_context->GetUserData(kAppCacheServicKeyName)); |
| 86 DCHECK(resource_context->GetUserData(kBlobStorageContextKeyName)); |
| 87 DCHECK(resource_context->GetUserData(kDatabaseTrackerKeyName)); |
| 88 DCHECK(resource_context->GetUserData(kFileSystemContextKeyName)); |
| 89 DCHECK(resource_context->GetUserData(kHostZoomMapKeyName)); |
86 return; | 90 return; |
| 91 } |
87 | 92 |
88 resource_context->SetUserData( | 93 resource_context->SetUserData( |
89 kWebKitContextKeyName, | 94 kIndexedDBContextKeyName, |
90 new UserDataAdapter<WebKitContext>( | 95 new UserDataAdapter<IndexedDBContextImpl>( |
91 BrowserContext::GetWebKitContext(browser_context))); | 96 static_cast<IndexedDBContextImpl*>( |
| 97 BrowserContext::GetIndexedDBContext(browser_context)))); |
92 resource_context->SetUserData( | 98 resource_context->SetUserData( |
93 kDatabaseTrackerKeyName, | 99 kDatabaseTrackerKeyName, |
94 new UserDataAdapter<webkit_database::DatabaseTracker>( | 100 new UserDataAdapter<webkit_database::DatabaseTracker>( |
95 BrowserContext::GetDatabaseTracker(browser_context))); | 101 BrowserContext::GetDatabaseTracker(browser_context))); |
96 resource_context->SetUserData( | 102 resource_context->SetUserData( |
97 kAppCacheServicKeyName, | 103 kAppCacheServicKeyName, |
98 new UserDataAdapter<ChromeAppCacheService>( | 104 new UserDataAdapter<ChromeAppCacheService>( |
99 static_cast<ChromeAppCacheService*>( | 105 static_cast<ChromeAppCacheService*>( |
100 BrowserContext::GetAppCacheService(browser_context)))); | 106 BrowserContext::GetAppCacheService(browser_context)))); |
101 resource_context->SetUserData( | 107 resource_context->SetUserData( |
102 kFileSystemContextKeyName, | 108 kFileSystemContextKeyName, |
103 new UserDataAdapter<FileSystemContext>( | 109 new UserDataAdapter<FileSystemContext>( |
104 BrowserContext::GetFileSystemContext(browser_context))); | 110 BrowserContext::GetFileSystemContext(browser_context))); |
105 resource_context->SetUserData( | 111 resource_context->SetUserData( |
106 kBlobStorageContextKeyName, | 112 kBlobStorageContextKeyName, |
107 new UserDataAdapter<ChromeBlobStorageContext>( | 113 new UserDataAdapter<ChromeBlobStorageContext>( |
108 ChromeBlobStorageContext::GetFor(browser_context))); | 114 ChromeBlobStorageContext::GetFor(browser_context))); |
109 | 115 |
110 // This object is owned by the BrowserContext and not ResourceContext, so | 116 // This object is owned by the BrowserContext and not ResourceContext, so |
111 // store a non-owning pointer here. | 117 // store a non-owning pointer here. |
112 resource_context->SetUserData( | 118 resource_context->SetUserData( |
113 kHostZoomMapKeyName, | 119 kHostZoomMapKeyName, |
114 new NonOwningZoomData( | 120 new NonOwningZoomData( |
115 HostZoomMap::GetForBrowserContext(browser_context))); | 121 HostZoomMap::GetForBrowserContext(browser_context))); |
116 } | 122 } |
117 | 123 |
118 } // namespace content | 124 } // namespace content |
OLD | NEW |