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. 36 void set_mic_access(bool mic_allowed) { 37 mic_allowed_ = mic_allowed; 38 } 39 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