| 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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 } | 131 } |
| 132 } | 132 } |
| 133 | 133 |
| 134 // Public virtual version. | 134 // Public virtual version. |
| 135 void URLRequestSlowDownloadJob::GetResponseInfo(net::HttpResponseInfo* info) { | 135 void URLRequestSlowDownloadJob::GetResponseInfo(net::HttpResponseInfo* info) { |
| 136 // Forward to private const version. | 136 // Forward to private const version. |
| 137 GetResponseInfoConst(info); | 137 GetResponseInfoConst(info); |
| 138 } | 138 } |
| 139 | 139 |
| 140 // Private const version. | 140 // Private const version. |
| 141 void URLRequestSlowDownloadJob::GetResponseInfoConst(net::HttpResponseInfo* info
) const { | 141 void URLRequestSlowDownloadJob::GetResponseInfoConst( |
| 142 net::HttpResponseInfo* info) const { |
| 142 // Send back mock headers. | 143 // Send back mock headers. |
| 143 std::string raw_headers; | 144 std::string raw_headers; |
| 144 if (LowerCaseEqualsASCII(kFinishDownloadUrl, | 145 if (LowerCaseEqualsASCII(kFinishDownloadUrl, |
| 145 request_->url().spec().c_str())) { | 146 request_->url().spec().c_str())) { |
| 146 raw_headers.append( | 147 raw_headers.append( |
| 147 "HTTP/1.1 200 OK\n" | 148 "HTTP/1.1 200 OK\n" |
| 148 "Content-type: text/plain\n"); | 149 "Content-type: text/plain\n"); |
| 149 } else { | 150 } else { |
| 150 raw_headers.append( | 151 raw_headers.append( |
| 151 "HTTP/1.1 200 OK\n" | 152 "HTTP/1.1 200 OK\n" |
| 152 "Content-type: application/octet-stream\n" | 153 "Content-type: application/octet-stream\n" |
| 153 "Cache-Control: max-age=0\n"); | 154 "Cache-Control: max-age=0\n"); |
| 154 | 155 |
| 155 if (LowerCaseEqualsASCII(kKnownSizeUrl, request_->url().spec().c_str())) { | 156 if (LowerCaseEqualsASCII(kKnownSizeUrl, request_->url().spec().c_str())) { |
| 156 raw_headers.append(StringPrintf("Content-Length: %d\n", | 157 raw_headers.append(StringPrintf("Content-Length: %d\n", |
| 157 kFirstDownloadSize + kSecondDownloadSize)); | 158 kFirstDownloadSize + kSecondDownloadSize)); |
| 158 } | 159 } |
| 159 } | 160 } |
| 160 | 161 |
| 161 // ParseRawHeaders expects \0 to end each header line. | 162 // ParseRawHeaders expects \0 to end each header line. |
| 162 ReplaceSubstringsAfterOffset(&raw_headers, 0, "\n", std::string("\0", 1)); | 163 ReplaceSubstringsAfterOffset(&raw_headers, 0, "\n", std::string("\0", 1)); |
| 163 info->headers = new net::HttpResponseHeaders(raw_headers); | 164 info->headers = new net::HttpResponseHeaders(raw_headers); |
| 164 } | 165 } |
| 165 | 166 |
| 166 bool URLRequestSlowDownloadJob::GetMimeType(std::string* mime_type) const { | 167 bool URLRequestSlowDownloadJob::GetMimeType(std::string* mime_type) const { |
| 167 net::HttpResponseInfo info; | 168 net::HttpResponseInfo info; |
| 168 GetResponseInfoConst(&info); | 169 GetResponseInfoConst(&info); |
| 169 return info.headers && info.headers->GetMimeType(mime_type); | 170 return info.headers && info.headers->GetMimeType(mime_type); |
| 170 } | 171 } |
| OLD | NEW |