Home | History | Annotate | Download | only in browser
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_
      6 #define CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "base/supports_user_data.h"
     10 #include "build/build_config.h"
     11 #include "content/common/content_export.h"
     12 
     13 class GURL;
     14 
     15 namespace appcache {
     16 class AppCacheService;
     17 }
     18 
     19 namespace net {
     20 class HostResolver;
     21 class URLRequestContext;
     22 }
     23 
     24 namespace content {
     25 
     26 // ResourceContext contains the relevant context information required for
     27 // resource loading. It lives on the IO thread, although it is constructed on
     28 // the UI thread. It must be destructed on the IO thread.
     29 class CONTENT_EXPORT ResourceContext : public base::SupportsUserData {
     30  public:
     31 #if defined(OS_IOS)
     32   virtual ~ResourceContext() {}
     33 #else
     34   ResourceContext();
     35   virtual ~ResourceContext();
     36 #endif
     37   virtual net::HostResolver* GetHostResolver() = 0;
     38 
     39   // DEPRECATED: This is no longer a valid given isolated apps/sites and
     40   // storage partitioning. This getter returns the default context associated
     41   // with a BrowsingContext.
     42   virtual net::URLRequestContext* GetRequestContext() = 0;
     43 
     44   // Returns true if microphone access is allowed for |origin|. Used to
     45   // determine what level of authorization is given to |origin| to access
     46   // resource metadata.
     47   virtual bool AllowMicAccess(const GURL& origin) = 0;
     48 
     49   // Returns true if web camera access is allowed for |origin|. Used to
     50   // determine what level of authorization is given to |origin| to access
     51   // resource metadata.
     52   virtual bool AllowCameraAccess(const GURL& origin) = 0;
     53 };
     54 
     55 }  // namespace content
     56 
     57 #endif  // CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_
     58