Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // An implementation of WebURLLoader in terms of ResourceLoaderBridge. | 5 // An implementation of WebURLLoader in terms of ResourceLoaderBridge. |
| 6 | 6 |
| 7 #include "webkit/glue/weburlloader_impl.h" | 7 #include "webkit/glue/weburlloader_impl.h" |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 238 else if (headers->GetHttpVersion() == net::HttpVersion(1, 1)) | 238 else if (headers->GetHttpVersion() == net::HttpVersion(1, 1)) |
| 239 version = WebURLResponse::HTTP_1_1; | 239 version = WebURLResponse::HTTP_1_1; |
| 240 response->setHTTPVersion(version); | 240 response->setHTTPVersion(version); |
| 241 response->setHTTPStatusCode(headers->response_code()); | 241 response->setHTTPStatusCode(headers->response_code()); |
| 242 response->setHTTPStatusText(WebString::fromUTF8(headers->GetStatusText())); | 242 response->setHTTPStatusText(WebString::fromUTF8(headers->GetStatusText())); |
| 243 | 243 |
| 244 // TODO(darin): We should leverage HttpResponseHeaders for this, and this | 244 // TODO(darin): We should leverage HttpResponseHeaders for this, and this |
| 245 // should be using the same code as ResourceDispatcherHost. | 245 // should be using the same code as ResourceDispatcherHost. |
| 246 // TODO(jungshik): Figure out the actual value of the referrer charset and | 246 // TODO(jungshik): Figure out the actual value of the referrer charset and |
| 247 // pass it to GetSuggestedFilename. | 247 // pass it to GetSuggestedFilename. |
| 248 std::string value; | 248 std::string disposition_filename; |
| 249 if (headers->EnumerateHeader(NULL, "content-disposition", &value)) { | 249 headers->EnumerateHeader(NULL, "content-disposition", &disposition_filename); |
| 250 response->setSuggestedFileName( | 250 response->setSuggestedFileName( |
| 251 net::GetSuggestedFilename(url, value, "", "", "", std::string())); | 251 net::GetSuggestedFilename(url, |
| 252 } | 252 disposition_filename, |
| 253 std::string(), // referrer_charset | |
| 254 std::string(), // suggested_name | |
| 255 std::string(), // mime_type | |
| 256 std::string())); // default_name | |
| 253 | 257 |
| 254 Time time_val; | 258 Time time_val; |
| 255 if (headers->GetLastModifiedValue(&time_val)) | 259 if (headers->GetLastModifiedValue(&time_val)) |
| 256 response->setLastModifiedDate(time_val.ToDoubleT()); | 260 response->setLastModifiedDate(time_val.ToDoubleT()); |
| 257 | 261 |
| 258 // Build up the header map. | 262 // Build up the header map. |
| 259 void* iter = NULL; | 263 void* iter = NULL; |
| 260 std::string name; | 264 std::string name; |
| 261 while (headers->EnumerateHeaderLines(&iter, &name, &value)) { | 265 while (headers->EnumerateHeaderLines(&iter, &name, &disposition_filename)) { |
|
darin (slow to review)
2013/01/07 23:05:03
nit: This is an awkward use of the variable named
Avi (use Gerrit)
2013/01/07 23:08:26
I actually didn't see this second use of |value| :
| |
| 262 response->addHTTPHeaderField(WebString::fromUTF8(name), | 266 response->addHTTPHeaderField(WebString::fromUTF8(name), |
| 263 WebString::fromUTF8(value)); | 267 WebString::fromUTF8(disposition_filename)); |
| 264 } | 268 } |
| 265 } | 269 } |
| 266 | 270 |
| 267 } // namespace | 271 } // namespace |
| 268 | 272 |
| 269 // WebURLLoaderImpl::Context -------------------------------------------------- | 273 // WebURLLoaderImpl::Context -------------------------------------------------- |
| 270 | 274 |
| 271 // This inner class exists since the WebURLLoader may be deleted while inside a | 275 // This inner class exists since the WebURLLoader may be deleted while inside a |
| 272 // call to WebURLLoaderClient. The bridge requires its Peer to stay alive | 276 // call to WebURLLoaderClient. The bridge requires its Peer to stay alive |
| 273 // until it receives OnCompletedRequest. | 277 // until it receives OnCompletedRequest. |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 772 | 776 |
| 773 void WebURLLoaderImpl::cancel() { | 777 void WebURLLoaderImpl::cancel() { |
| 774 context_->Cancel(); | 778 context_->Cancel(); |
| 775 } | 779 } |
| 776 | 780 |
| 777 void WebURLLoaderImpl::setDefersLoading(bool value) { | 781 void WebURLLoaderImpl::setDefersLoading(bool value) { |
| 778 context_->SetDefersLoading(value); | 782 context_->SetDefersLoading(value); |
| 779 } | 783 } |
| 780 | 784 |
| 781 } // namespace webkit_glue | 785 } // namespace webkit_glue |
| OLD | NEW |