- add sources.
[platform/framework/web/crosswalk.git] / src / mojo / shell / url_request_context_getter.h
1 // Copyright 2013 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 MOJO_SHELL_URL_REQUEST_CONTEXT_GETTER_H_
6 #define MOJO_SHELL_URL_REQUEST_CONTEXT_GETTER_H_
7
8 #include "base/files/file_path.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop/message_loop_proxy.h"
11 #include "net/base/network_delegate.h"
12 #include "net/url_request/url_request_context_getter.h"
13 #include "net/url_request/url_request_context_storage.h"
14
15 namespace mojo {
16 namespace shell {
17
18 class URLRequestContextGetter : public net::URLRequestContextGetter {
19  public:
20   URLRequestContextGetter(
21       base::FilePath base_path,
22       base::SingleThreadTaskRunner* network_task_runner,
23       base::SingleThreadTaskRunner* file_task_runner,
24       base::MessageLoopProxy* cache_task_runner,
25       scoped_ptr<net::NetworkDelegate> network_delegate);
26
27   virtual net::URLRequestContext* GetURLRequestContext() OVERRIDE;
28   virtual scoped_refptr<base::SingleThreadTaskRunner>
29       GetNetworkTaskRunner() const OVERRIDE;
30
31  protected:
32   virtual ~URLRequestContextGetter();
33
34  private:
35   base::FilePath base_path_;
36   scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_;
37   scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
38   scoped_refptr<base::MessageLoopProxy> cache_task_runner_;
39   scoped_ptr<net::NetworkDelegate> network_delegate_;
40   scoped_ptr<net::NetLog> net_log_;
41   scoped_ptr<net::URLRequestContextStorage> storage_;
42   scoped_ptr<net::URLRequestContext> url_request_context_;
43
44   DISALLOW_COPY_AND_ASSIGN(URLRequestContextGetter);
45 };
46
47 }  // namespace shell
48 }  // namespace mojo
49
50 #endif  // MOJO_SHELL_URL_REQUEST_CONTEXT_GETTER_H_