| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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/file_path.h" |
| 9 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| 10 #include "base/process_util.h" | 11 #include "base/process_util.h" |
| 11 #include "base/string_util.h" | 12 #include "base/string_util.h" |
| 12 #include "base/time.h" | 13 #include "base/time.h" |
| 13 #include "net/base/data_url.h" | 14 #include "net/base/data_url.h" |
| 14 #include "net/base/load_flags.h" | 15 #include "net/base/load_flags.h" |
| 15 #include "net/base/net_errors.h" | 16 #include "net/base/net_errors.h" |
| 16 #include "net/base/net_util.h" | 17 #include "net/base/net_util.h" |
| 17 #include "net/http/http_response_headers.h" | 18 #include "net/http/http_response_headers.h" |
| 18 #include "webkit/api/public/WebHTTPHeaderVisitor.h" | 19 #include "webkit/api/public/WebHTTPHeaderVisitor.h" |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 | 161 |
| 161 response->setHTTPStatusCode(headers->response_code()); | 162 response->setHTTPStatusCode(headers->response_code()); |
| 162 response->setHTTPStatusText(StdStringToWebString(headers->GetStatusText())); | 163 response->setHTTPStatusText(StdStringToWebString(headers->GetStatusText())); |
| 163 | 164 |
| 164 // TODO(darin): We should leverage HttpResponseHeaders for this, and this | 165 // TODO(darin): We should leverage HttpResponseHeaders for this, and this |
| 165 // should be using the same code as ResourceDispatcherHost. | 166 // should be using the same code as ResourceDispatcherHost. |
| 166 // TODO(jungshik): Figure out the actual value of the referrer charset and | 167 // TODO(jungshik): Figure out the actual value of the referrer charset and |
| 167 // pass it to GetSuggestedFilename. | 168 // pass it to GetSuggestedFilename. |
| 168 std::string value; | 169 std::string value; |
| 169 if (headers->EnumerateHeader(NULL, "content-disposition", &value)) { | 170 if (headers->EnumerateHeader(NULL, "content-disposition", &value)) { |
| 170 #if defined(OS_WIN) | 171 response->setSuggestedFileName(webkit_glue::FilePathToWebString( |
| 171 response->setSuggestedFileName( | 172 net::GetSuggestedFilename(url, value, "", FilePath()))); |
| 172 net::GetSuggestedFilename(url, value, "", "").value()); | |
| 173 #else | |
| 174 response->setSuggestedFileName(UTF8ToUTF16( | |
| 175 net::GetSuggestedFilename(url, value, "", "").value())); | |
| 176 #endif | |
| 177 } | 173 } |
| 178 | 174 |
| 179 Time time_val; | 175 Time time_val; |
| 180 if (headers->GetLastModifiedValue(&time_val)) | 176 if (headers->GetLastModifiedValue(&time_val)) |
| 181 response->setLastModifiedDate(time_val.ToDoubleT()); | 177 response->setLastModifiedDate(time_val.ToDoubleT()); |
| 182 | 178 |
| 183 // Build up the header map. | 179 // Build up the header map. |
| 184 void* iter = NULL; | 180 void* iter = NULL; |
| 185 std::string name; | 181 std::string name; |
| 186 while (headers->EnumerateHeaderLines(&iter, &name, &value)) { | 182 while (headers->EnumerateHeaderLines(&iter, &name, &value)) { |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 584 | 580 |
| 585 void WebURLLoaderImpl::cancel() { | 581 void WebURLLoaderImpl::cancel() { |
| 586 context_->Cancel(); | 582 context_->Cancel(); |
| 587 } | 583 } |
| 588 | 584 |
| 589 void WebURLLoaderImpl::setDefersLoading(bool value) { | 585 void WebURLLoaderImpl::setDefersLoading(bool value) { |
| 590 context_->SetDefersLoading(value); | 586 context_->SetDefersLoading(value); |
| 591 } | 587 } |
| 592 | 588 |
| 593 } // namespace webkit_glue | 589 } // namespace webkit_glue |
| OLD | NEW |