OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 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 #include "chrome/browser/net/url_request_slow_http_job.h" | |
6 | |
7 #include "base/time.h" | |
8 #include "base/utf_string_conversions.h" | |
9 #include "net/url_request/url_request_filter.h" | |
10 | |
11 static const char kMockHostname[] = "mock.slow.http"; | |
12 | |
13 FilePath URLRequestSlowHTTPJob::base_path_; | |
14 | |
15 // static | |
16 const int URLRequestSlowHTTPJob::kDelayMs = 1000; | |
17 | |
18 using base::TimeDelta; | |
19 | |
20 /* static */ | |
21 net::URLRequestJob* URLRequestSlowHTTPJob::Factory(net::URLRequest* request, | |
22 const std::string& scheme) { | |
23 return new URLRequestSlowHTTPJob(request, | |
24 GetOnDiskPath(base_path_, request, scheme)); | |
25 } | |
26 | |
27 /* static */ | |
28 void URLRequestSlowHTTPJob::AddUrlHandler(const FilePath& base_path) { | |
29 base_path_ = base_path; | |
30 | |
31 // Add kMockHostname to net::URLRequestFilter. | |
32 net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance(); | |
33 filter->AddHostnameHandler("http", kMockHostname, | |
34 URLRequestSlowHTTPJob::Factory); | |
35 } | |
36 | |
37 /* static */ | |
38 GURL URLRequestSlowHTTPJob::GetMockUrl(const FilePath& path) { | |
39 std::string url = "http://"; | |
40 url.append(kMockHostname); | |
41 url.append("/"); | |
42 std::string path_str = path.MaybeAsASCII(); | |
43 DCHECK(!path_str.empty()); // We only expect ASCII paths in tests. | |
44 url.append(path_str); | |
45 return GURL(url); | |
46 } | |
47 | |
48 URLRequestSlowHTTPJob::URLRequestSlowHTTPJob(net::URLRequest* request, | |
49 const FilePath& file_path) | |
50 : URLRequestMockHTTPJob(request, file_path) { } | |
51 | |
52 void URLRequestSlowHTTPJob::Start() { | |
53 delay_timer_.Start(TimeDelta::FromMilliseconds(kDelayMs), this, | |
54 &URLRequestSlowHTTPJob::RealStart); | |
55 } | |
56 | |
57 URLRequestSlowHTTPJob::~URLRequestSlowHTTPJob() { | |
58 } | |
59 | |
60 void URLRequestSlowHTTPJob::RealStart() { | |
61 URLRequestMockHTTPJob::Start(); | |
62 } | |
OLD | NEW |