15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CONTENT_PUBLIC_TEST_MOCK_RESOURCE_CONTEXT_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CONTENT_PUBLIC_TEST_MOCK_RESOURCE_CONTEXT_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/scoped_ptr.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/resource_context.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
13a3f7b4e666c476898878fa745f637129375cd889Ben Murdochnamespace net {
14a3f7b4e666c476898878fa745f637129375cd889Ben Murdochclass URLRequestContext;
15a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch}
16a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class MockResourceContext : public ResourceContext {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  MockResourceContext();
22a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch
23a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch  // Does not take ownership of |test_request_context|.
24a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch  explicit MockResourceContext(net::URLRequestContext* test_request_context);
25a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual ~MockResourceContext();
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // ResourceContext implementation:
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual net::HostResolver* GetHostResolver() OVERRIDE;
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual net::URLRequestContext* GetRequestContext() OVERRIDE;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
33a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch  net::URLRequestContext* test_request_context_;
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(MockResourceContext);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CONTENT_PUBLIC_TEST_MOCK_RESOURCE_CONTEXT_H_
41