• 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 SYNC_TEST_ACCOUNTS_CLIENT_URL_REQUEST_CONTEXT_GETTER_H_
6 #define SYNC_TEST_ACCOUNTS_CLIENT_URL_REQUEST_CONTEXT_GETTER_H_
7 
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "net/url_request/url_request_context_getter.h"
13 
14 namespace base {
15 class SingleThreadTaskRunner;
16 }
17 
18 namespace net {
19 class URLRequestContext;
20 }
21 
22 class URLRequestContextGetter : public net::URLRequestContextGetter {
23  public:
24   explicit URLRequestContextGetter(
25       scoped_refptr<base::SingleThreadTaskRunner> network_task_runner);
26 
27   // Overridden from net::URLRequestContextGetter:
28   virtual net::URLRequestContext* GetURLRequestContext() OVERRIDE;
29   virtual scoped_refptr<base::SingleThreadTaskRunner>
30       GetNetworkTaskRunner() const OVERRIDE;
31 
32  private:
33   virtual ~URLRequestContextGetter();
34 
35   scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
36 
37   // Only accessed on the IO thread.
38   scoped_ptr<net::URLRequestContext> url_request_context_;
39 
40   DISALLOW_COPY_AND_ASSIGN(URLRequestContextGetter);
41 };
42 
43 #endif  // SYNC_TEST_ACCOUNTS_CLIENT_URL_REQUEST_CONTEXT_GETTER_H_
44