6fab49fc45ca289b1bcaa648c7c6f9618ae0e985
[platform/framework/web/crosswalk-tizen.git] /
1 // Copyright (c) 2014,2015 Samsung Electronics. 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 WRT_FILE_PROTOCOL_HANDLER
6 #define WRT_FILE_PROTOCOL_HANDLER
7
8 #include "base/memory/ref_counted.h"
9 #include "net/url_request/url_request_job_factory.h"
10
11 class GURL;
12
13 namespace base {
14 class TaskRunner;
15 }
16
17 namespace net {
18
19 class NetworkDelegate;
20 class URLRequestJob;
21
22 class WrtFileProtocolHandler
23     : public URLRequestJobFactory::ProtocolHandler {
24  public:
25   explicit WrtFileProtocolHandler(
26       const scoped_refptr<base::TaskRunner>& file_task_runner)
27       : file_task_runner_(file_task_runner) {}
28   ~WrtFileProtocolHandler() override {}
29   URLRequestJob* MaybeCreateJob(
30       URLRequest* request,
31       NetworkDelegate* network_delegate) const override;
32   /* LCOV_EXCL_START */
33   bool IsSafeRedirectTarget(const GURL& location) const override {
34     return false;
35   }
36   /* LCOV_EXCL_STOP */
37
38  private:
39   bool GetWrtParsedUrl(const GURL& url, GURL& parsed_url) const;
40   const scoped_refptr<base::TaskRunner> file_task_runner_;
41   DISALLOW_COPY_AND_ASSIGN(WrtFileProtocolHandler);
42 };
43
44 }  // namespace net
45
46 #endif  // WRT_FILE_PROTOCOL_HANDLER