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 #ifndef CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ |
6 #define CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ | 6 #define CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ |
7 | 7 |
8 #include "base/callback_forward.h" | 8 #include "base/callback_forward.h" |
9 #include "base/containers/hash_tables.h" | 9 #include "base/containers/hash_tables.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 namespace net { | 24 namespace net { |
25 class URLRequestContextGetter; | 25 class URLRequestContextGetter; |
26 } | 26 } |
27 | 27 |
28 namespace quota { | 28 namespace quota { |
29 class SpecialStoragePolicy; | 29 class SpecialStoragePolicy; |
30 } | 30 } |
31 | 31 |
32 namespace content { | 32 namespace content { |
33 | 33 |
34 class BrowserPluginGuestManagerDelegate; | 34 class BrowserPluginGuestManager; |
35 class DownloadManager; | 35 class DownloadManager; |
36 class DownloadManagerDelegate; | 36 class DownloadManagerDelegate; |
37 class GeolocationPermissionContext; | 37 class GeolocationPermissionContext; |
38 class IndexedDBContext; | 38 class IndexedDBContext; |
39 class ResourceContext; | 39 class ResourceContext; |
40 class SiteInstance; | 40 class SiteInstance; |
41 class StoragePartition; | 41 class StoragePartition; |
42 | 42 |
43 // This class holds the context needed for a browsing session. | 43 // This class holds the context needed for a browsing session. |
44 // It lives on the UI thread. All these methods must only be called on the UI | 44 // It lives on the UI thread. All these methods must only be called on the UI |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 // Returns the DownloadManagerDelegate for this context. This will be called | 164 // Returns the DownloadManagerDelegate for this context. This will be called |
165 // once per context. The embedder owns the delegate and is responsible for | 165 // once per context. The embedder owns the delegate and is responsible for |
166 // ensuring that it outlives DownloadManager. It's valid to return NULL. | 166 // ensuring that it outlives DownloadManager. It's valid to return NULL. |
167 virtual DownloadManagerDelegate* GetDownloadManagerDelegate() = 0; | 167 virtual DownloadManagerDelegate* GetDownloadManagerDelegate() = 0; |
168 | 168 |
169 // Returns the geolocation permission context for this context. It's valid to | 169 // Returns the geolocation permission context for this context. It's valid to |
170 // return NULL, in which case geolocation requests will always be allowed. | 170 // return NULL, in which case geolocation requests will always be allowed. |
171 virtual GeolocationPermissionContext* GetGeolocationPermissionContext() = 0; | 171 virtual GeolocationPermissionContext* GetGeolocationPermissionContext() = 0; |
172 | 172 |
173 // Returns the guest manager delegate for this context. | 173 // Returns the guest manager delegate for this context. |
174 virtual content::BrowserPluginGuestManagerDelegate* | 174 virtual content::BrowserPluginGuestManager* GetGuestManager() = 0; |
175 GetGuestManagerDelegate() = 0; | |
176 | 175 |
177 // Returns a special storage policy implementation, or NULL. | 176 // Returns a special storage policy implementation, or NULL. |
178 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() = 0; | 177 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() = 0; |
179 }; | 178 }; |
180 | 179 |
181 } // namespace content | 180 } // namespace content |
182 | 181 |
183 #if defined(COMPILER_GCC) | 182 #if defined(COMPILER_GCC) |
184 namespace BASE_HASH_NAMESPACE { | 183 namespace BASE_HASH_NAMESPACE { |
185 | 184 |
186 template<> | 185 template<> |
187 struct hash<content::BrowserContext*> { | 186 struct hash<content::BrowserContext*> { |
188 std::size_t operator()(content::BrowserContext* const& p) const { | 187 std::size_t operator()(content::BrowserContext* const& p) const { |
189 return reinterpret_cast<std::size_t>(p); | 188 return reinterpret_cast<std::size_t>(p); |
190 } | 189 } |
191 }; | 190 }; |
192 | 191 |
193 } // namespace BASE_HASH_NAMESPACE | 192 } // namespace BASE_HASH_NAMESPACE |
194 #endif | 193 #endif |
195 | 194 |
196 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ | 195 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ |
OLD | NEW |