Home | History | Annotate | Download | only in test
      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