Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / chromecast / browser / cast_network_delegate.h
1 // Copyright 2014 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 CHROMECAST_BROWSER_CAST_NETWORK_DELEGATE_H_
6 #define CHROMECAST_BROWSER_CAST_NETWORK_DELEGATE_H_
7
8 #include "net/base/network_delegate.h"
9
10 namespace net {
11 class X509Certificate;
12 }
13
14 namespace chromecast {
15 namespace shell {
16
17 class CastNetworkDelegate : public net::NetworkDelegate {
18  public:
19   static CastNetworkDelegate* Create();
20   static net::X509Certificate* DeviceCert();
21
22   CastNetworkDelegate();
23   virtual ~CastNetworkDelegate();
24
25   virtual void Initialize(bool use_sync_signing) = 0;
26
27   virtual bool IsWhitelisted(const GURL& gurl, bool for_device_auth) const = 0;
28
29  private:
30   // net::NetworkDelegate implementation:
31   virtual bool OnCanAccessFile(const net::URLRequest& request,
32                                const base::FilePath& path) const override;
33
34   DISALLOW_COPY_AND_ASSIGN(CastNetworkDelegate);
35 };
36
37 }  // namespace shell
38 }  // namespace chromecast
39
40 #endif  // CHROMECAST_BROWSER_CAST_NETWORK_DELEGATE_H_