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 DownloadManager; | 35 class DownloadManager; |
35 class DownloadManagerDelegate; | 36 class DownloadManagerDelegate; |
36 class GeolocationPermissionContext; | 37 class GeolocationPermissionContext; |
37 class IndexedDBContext; | 38 class IndexedDBContext; |
38 class ResourceContext; | 39 class ResourceContext; |
39 class SiteInstance; | 40 class SiteInstance; |
40 class StoragePartition; | 41 class StoragePartition; |
41 | 42 |
42 // This class holds the context needed for a browsing session. | 43 // This class holds the context needed for a browsing session. |
43 // 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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 | 163 |
163 // Returns the DownloadManagerDelegate for this context. This will be called | 164 // Returns the DownloadManagerDelegate for this context. This will be called |
164 // 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 |
165 // ensuring that it outlives DownloadManager. It's valid to return NULL. | 166 // ensuring that it outlives DownloadManager. It's valid to return NULL. |
166 virtual DownloadManagerDelegate* GetDownloadManagerDelegate() = 0; | 167 virtual DownloadManagerDelegate* GetDownloadManagerDelegate() = 0; |
167 | 168 |
168 // 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 |
169 // return NULL, in which case geolocation requests will always be allowed. | 170 // return NULL, in which case geolocation requests will always be allowed. |
170 virtual GeolocationPermissionContext* GetGeolocationPermissionContext() = 0; | 171 virtual GeolocationPermissionContext* GetGeolocationPermissionContext() = 0; |
171 | 172 |
| 173 // Returns the guest manager delegate for this context. |
| 174 virtual content::BrowserPluginGuestManagerDelegate* |
| 175 GetGuestManagerDelegate() = 0; |
| 176 |
172 // Returns a special storage policy implementation, or NULL. | 177 // Returns a special storage policy implementation, or NULL. |
173 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() = 0; | 178 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() = 0; |
174 }; | 179 }; |
175 | 180 |
176 } // namespace content | 181 } // namespace content |
177 | 182 |
178 #if defined(COMPILER_GCC) | 183 #if defined(COMPILER_GCC) |
179 namespace BASE_HASH_NAMESPACE { | 184 namespace BASE_HASH_NAMESPACE { |
180 | 185 |
181 template<> | 186 template<> |
182 struct hash<content::BrowserContext*> { | 187 struct hash<content::BrowserContext*> { |
183 std::size_t operator()(content::BrowserContext* const& p) const { | 188 std::size_t operator()(content::BrowserContext* const& p) const { |
184 return reinterpret_cast<std::size_t>(p); | 189 return reinterpret_cast<std::size_t>(p); |
185 } | 190 } |
186 }; | 191 }; |
187 | 192 |
188 } // namespace BASE_HASH_NAMESPACE | 193 } // namespace BASE_HASH_NAMESPACE |
189 #endif | 194 #endif |
190 | 195 |
191 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ | 196 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_CONTEXT_H_ |
OLD | NEW |