• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_TEST_MOCK_RESOURCE_CONTEXT_H_
6 #define CONTENT_PUBLIC_TEST_MOCK_RESOURCE_CONTEXT_H_
7 
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "content/public/browser/resource_context.h"
12 
13 namespace net {
14 class URLRequestContext;
15 }
16 
17 namespace content {
18 
19 class MockResourceContext : public ResourceContext {
20  public:
21   MockResourceContext();
22 
23   // Does not take ownership of |test_request_context|.
24   explicit MockResourceContext(net::URLRequestContext* test_request_context);
25 
26   virtual ~MockResourceContext();
27 
28   // ResourceContext implementation:
29   virtual net::HostResolver* GetHostResolver() OVERRIDE;
30   virtual net::URLRequestContext* GetRequestContext() OVERRIDE;
31   virtual bool AllowMicAccess(const GURL& origin) OVERRIDE;
32   virtual bool AllowCameraAccess(const GURL& origin) OVERRIDE;
33 
34   //////////////////////////////////////////////////////////////////////////
35   // The following functions are used by tests.
set_mic_access(bool mic_allowed)36   void set_mic_access(bool mic_allowed) {
37     mic_allowed_ = mic_allowed;
38   }
39 
set_camera_access(bool camera_allowed)40   void set_camera_access(bool camera_allowed) {
41     camera_allowed_ = camera_allowed;
42   }
43 
44  private:
45   net::URLRequestContext* test_request_context_;
46 
47   bool mic_allowed_;
48   bool camera_allowed_;
49 
50   DISALLOW_COPY_AND_ASSIGN(MockResourceContext);
51 };
52 
53 }  // namespace content
54 
55 #endif  // CONTENT_PUBLIC_TEST_MOCK_RESOURCE_CONTEXT_H_
56