OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // This class simulates a slow download. This used in a UI test to test the | 4 // This class simulates a slow download. This used in a UI test to test the |
5 // download manager. Requests to |kUnknownSizeUrl| and |kKnownSizeUrl| start | 5 // download manager. Requests to |kUnknownSizeUrl| and |kKnownSizeUrl| start |
6 // downloads that pause after the first | 6 // downloads that pause after the first |
7 | 7 |
8 #ifndef CHROME_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_ | 8 #ifndef CHROME_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_ |
9 #define CHROME_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_ | 9 #define CHROME_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_ |
10 #pragma once | 10 #pragma once |
11 | 11 |
12 #include <string> | 12 #include <string> |
13 #include <vector> | 13 #include <vector> |
14 | 14 |
15 #include "base/task.h" | 15 #include "base/task.h" |
16 #include "net/url_request/url_request_job.h" | 16 #include "net/url_request/url_request_job.h" |
17 | 17 |
18 class URLRequestSlowDownloadJob : public URLRequestJob { | 18 class URLRequestSlowDownloadJob : public net::URLRequestJob { |
19 public: | 19 public: |
20 explicit URLRequestSlowDownloadJob(net::URLRequest* request); | 20 explicit URLRequestSlowDownloadJob(net::URLRequest* request); |
21 | 21 |
22 // Timer callback, used to check to see if we should finish our download and | 22 // Timer callback, used to check to see if we should finish our download and |
23 // send the second chunk. | 23 // send the second chunk. |
24 void CheckDoneStatus(); | 24 void CheckDoneStatus(); |
25 | 25 |
26 // URLRequestJob methods | 26 // net::URLRequestJob methods |
27 virtual void Start(); | 27 virtual void Start(); |
28 virtual bool GetMimeType(std::string* mime_type) const; | 28 virtual bool GetMimeType(std::string* mime_type) const; |
29 virtual void GetResponseInfo(net::HttpResponseInfo* info); | 29 virtual void GetResponseInfo(net::HttpResponseInfo* info); |
30 virtual bool ReadRawData(net::IOBuffer* buf, int buf_size, int *bytes_read); | 30 virtual bool ReadRawData(net::IOBuffer* buf, int buf_size, int *bytes_read); |
31 | 31 |
32 static net::URLRequestJob* Factory(net::URLRequest* request, | 32 static net::URLRequestJob* Factory(net::URLRequest* request, |
33 const std::string& scheme); | 33 const std::string& scheme); |
34 | 34 |
35 // Test URLs. | 35 // Test URLs. |
36 static const char kUnknownSizeUrl[]; | 36 static const char kUnknownSizeUrl[]; |
(...skipping 18 matching lines...) Expand all Loading... |
55 void set_should_finish_download() { should_finish_download_ = true; } | 55 void set_should_finish_download() { should_finish_download_ = true; } |
56 | 56 |
57 int first_download_size_remaining_; | 57 int first_download_size_remaining_; |
58 bool should_finish_download_; | 58 bool should_finish_download_; |
59 bool should_send_second_chunk_; | 59 bool should_send_second_chunk_; |
60 | 60 |
61 ScopedRunnableMethodFactory<URLRequestSlowDownloadJob> method_factory_; | 61 ScopedRunnableMethodFactory<URLRequestSlowDownloadJob> method_factory_; |
62 }; | 62 }; |
63 | 63 |
64 #endif // CHROME_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_ | 64 #endif // CHROME_BROWSER_NET_URL_REQUEST_SLOW_DOWNLOAD_JOB_H_ |
OLD | NEW |