OLD | NEW |
---|---|
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 | 4 |
5 #include "chrome/browser/automation/url_request_slow_download_job.h" | 5 #include "chrome/browser/automation/url_request_slow_download_job.h" |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
10 #include "net/http/http_response_headers.h" | 10 #include "net/http/http_response_headers.h" |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
124 should_send_second_chunk_ = true; | 124 should_send_second_chunk_ = true; |
125 SetStatus(URLRequestStatus()); | 125 SetStatus(URLRequestStatus()); |
126 NotifyReadComplete(kSecondDownloadSize); | 126 NotifyReadComplete(kSecondDownloadSize); |
127 Release(); | 127 Release(); |
128 } else { | 128 } else { |
129 MessageLoop::current()->PostDelayedTask(FROM_HERE, NewRunnableMethod( | 129 MessageLoop::current()->PostDelayedTask(FROM_HERE, NewRunnableMethod( |
130 this, &URLRequestSlowDownloadJob::CheckDoneStatus), 100); | 130 this, &URLRequestSlowDownloadJob::CheckDoneStatus), 100); |
131 } | 131 } |
132 } | 132 } |
133 | 133 |
134 // Public virtual version. | |
134 void URLRequestSlowDownloadJob::GetResponseInfo(net::HttpResponseInfo* info) { | 135 void URLRequestSlowDownloadJob::GetResponseInfo(net::HttpResponseInfo* info) { |
136 // Forward to private const version. | |
137 GetResponseInfoConst(info); | |
138 } | |
139 | |
140 // Private const version. | |
141 void URLRequestSlowDownloadJob::GetResponseInfoConst(net::HttpResponseInfo* info ) const { | |
huanr
2009/03/09 17:50:44
80 characters.
jar (doing other things)
2009/03/09 19:00:41
Done.
| |
135 // Send back mock headers. | 142 // Send back mock headers. |
136 std::string raw_headers; | 143 std::string raw_headers; |
137 if (LowerCaseEqualsASCII(kFinishDownloadUrl, | 144 if (LowerCaseEqualsASCII(kFinishDownloadUrl, |
138 request_->url().spec().c_str())) { | 145 request_->url().spec().c_str())) { |
139 raw_headers.append( | 146 raw_headers.append( |
140 "HTTP/1.1 200 OK\n" | 147 "HTTP/1.1 200 OK\n" |
141 "Content-type: text/plain\n"); | 148 "Content-type: text/plain\n"); |
142 } else { | 149 } else { |
143 raw_headers.append( | 150 raw_headers.append( |
144 "HTTP/1.1 200 OK\n" | 151 "HTTP/1.1 200 OK\n" |
145 "Content-type: application/octet-stream\n" | 152 "Content-type: application/octet-stream\n" |
146 "Cache-Control: max-age=0\n"); | 153 "Cache-Control: max-age=0\n"); |
147 | 154 |
148 if (LowerCaseEqualsASCII(kKnownSizeUrl, request_->url().spec().c_str())) { | 155 if (LowerCaseEqualsASCII(kKnownSizeUrl, request_->url().spec().c_str())) { |
149 raw_headers.append(StringPrintf("Content-Length: %d\n", | 156 raw_headers.append(StringPrintf("Content-Length: %d\n", |
150 kFirstDownloadSize + kSecondDownloadSize)); | 157 kFirstDownloadSize + kSecondDownloadSize)); |
151 } | 158 } |
152 } | 159 } |
153 | 160 |
154 // ParseRawHeaders expects \0 to end each header line. | 161 // ParseRawHeaders expects \0 to end each header line. |
155 ReplaceSubstringsAfterOffset(&raw_headers, 0, "\n", std::string("\0", 1)); | 162 ReplaceSubstringsAfterOffset(&raw_headers, 0, "\n", std::string("\0", 1)); |
156 info->headers = new net::HttpResponseHeaders(raw_headers); | 163 info->headers = new net::HttpResponseHeaders(raw_headers); |
157 } | 164 } |
158 | 165 |
159 bool URLRequestSlowDownloadJob::GetMimeType(std::string* mime_type) { | 166 bool URLRequestSlowDownloadJob::GetMimeType(std::string* mime_type) const { |
160 net::HttpResponseInfo info; | 167 net::HttpResponseInfo info; |
161 GetResponseInfo(&info); | 168 GetResponseInfoConst(&info); |
162 return info.headers && info.headers->GetMimeType(mime_type); | 169 return info.headers && info.headers->GetMimeType(mime_type); |
163 } | 170 } |
164 | 171 |
OLD | NEW |