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_RESOURCE_CONTEXT_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_ |
6 #define CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_ | 6 #define CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_ |
7 | 7 |
8 #include <string> | |
9 | |
8 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/callback.h" | |
9 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
10 #include "base/supports_user_data.h" | 13 #include "base/supports_user_data.h" |
11 #include "build/build_config.h" | 14 #include "build/build_config.h" |
12 #include "content/common/content_export.h" | 15 #include "content/common/content_export.h" |
13 | 16 |
14 class GURL; | 17 class GURL; |
15 | 18 |
16 namespace appcache { | 19 namespace appcache { |
17 class AppCacheService; | 20 class AppCacheService; |
18 } | 21 } |
19 | 22 |
20 namespace net { | 23 namespace net { |
21 class ClientCertStore; | 24 class ClientCertStore; |
22 class HostResolver; | 25 class HostResolver; |
26 class KeygenHandler; | |
23 class URLRequestContext; | 27 class URLRequestContext; |
24 } | 28 } |
25 | 29 |
26 namespace content { | 30 namespace content { |
27 | 31 |
28 // ResourceContext contains the relevant context information required for | 32 // ResourceContext contains the relevant context information required for |
29 // resource loading. It lives on the IO thread, although it is constructed on | 33 // resource loading. It lives on the IO thread, although it is constructed on |
30 // the UI thread. It must be destructed on the IO thread. | 34 // the UI thread. It must be destructed on the IO thread. |
31 class CONTENT_EXPORT ResourceContext : public base::SupportsUserData { | 35 class CONTENT_EXPORT ResourceContext : public base::SupportsUserData { |
32 public: | 36 public: |
33 #if defined(OS_IOS) | 37 #if defined(OS_IOS) |
34 virtual ~ResourceContext() {} | 38 virtual ~ResourceContext() {} |
35 #else | 39 #else |
36 ResourceContext(); | 40 ResourceContext(); |
37 virtual ~ResourceContext(); | 41 virtual ~ResourceContext(); |
38 #endif | 42 #endif |
39 virtual net::HostResolver* GetHostResolver() = 0; | 43 virtual net::HostResolver* GetHostResolver() = 0; |
40 | 44 |
41 // DEPRECATED: This is no longer a valid given isolated apps/sites and | 45 // DEPRECATED: This is no longer a valid given isolated apps/sites and |
42 // storage partitioning. This getter returns the default context associated | 46 // storage partitioning. This getter returns the default context associated |
43 // with a BrowsingContext. | 47 // with a BrowsingContext. |
44 virtual net::URLRequestContext* GetRequestContext() = 0; | 48 virtual net::URLRequestContext* GetRequestContext() = 0; |
45 | 49 |
46 // Get platform ClientCertStore. May return NULL. | 50 // Get platform ClientCertStore. May return NULL. |
47 virtual scoped_ptr<net::ClientCertStore> CreateClientCertStore(); | 51 virtual scoped_ptr<net::ClientCertStore> CreateClientCertStore(); |
48 | 52 |
53 // Create a platform KeygenHandler. On synchronous completion the | |
54 // KeygenHandler will be returned and |callback| is not run. If asynchronous | |
55 // initialization is necessary, NULL is returned and the KeygenHandler is | |
56 // passed to |callback| when it is ready. | |
57 virtual scoped_ptr<net::KeygenHandler> CreateKeygenHandler( | |
jam
2013/12/12 06:42:50
nit: we prefer one way of returning data. so if it
mattm
2013/12/12 21:49:18
Sleevi had a concern that that style of callback w
jam
2013/12/13 03:16:39
I can understand the concern, but personally I thi
mattm
2013/12/14 01:58:29
Done.
| |
58 uint32 key_size_in_bits, | |
59 const std::string& challenge_string, | |
60 const GURL& url, | |
61 const base::Callback<void(scoped_ptr<net::KeygenHandler>)>& callback); | |
62 | |
49 // Returns true if microphone access is allowed for |origin|. Used to | 63 // Returns true if microphone access is allowed for |origin|. Used to |
50 // determine what level of authorization is given to |origin| to access | 64 // determine what level of authorization is given to |origin| to access |
51 // resource metadata. | 65 // resource metadata. |
52 virtual bool AllowMicAccess(const GURL& origin) = 0; | 66 virtual bool AllowMicAccess(const GURL& origin) = 0; |
53 | 67 |
54 // Returns true if web camera access is allowed for |origin|. Used to | 68 // Returns true if web camera access is allowed for |origin|. Used to |
55 // determine what level of authorization is given to |origin| to access | 69 // determine what level of authorization is given to |origin| to access |
56 // resource metadata. | 70 // resource metadata. |
57 virtual bool AllowCameraAccess(const GURL& origin) = 0; | 71 virtual bool AllowCameraAccess(const GURL& origin) = 0; |
58 | 72 |
59 // Returns a random salt string that is used for creating media device IDs. | 73 // Returns a random salt string that is used for creating media device IDs. |
60 // The salt should be stored in the current user profile and should be reset | 74 // The salt should be stored in the current user profile and should be reset |
61 // if cookies are cleared. Returns an empty string per default. | 75 // if cookies are cleared. Returns an empty string per default. |
62 // TODO(perkj): Make this method pure virtual when crbug/315022 is fixed. | 76 // TODO(perkj): Make this method pure virtual when crbug/315022 is fixed. |
63 virtual std::string GetMediaDeviceIDSalt(); | 77 virtual std::string GetMediaDeviceIDSalt(); |
64 }; | 78 }; |
65 | 79 |
66 } // namespace content | 80 } // namespace content |
67 | 81 |
68 #endif // CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_ | 82 #endif // CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_ |
OLD | NEW |