| OLD | NEW |
| 1 // Copyright (c) 2010 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 | 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/file_path.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 555 // without a client and therefore without much need to do further handling. | 555 // without a client and therefore without much need to do further handling. |
| 556 if (!client_) | 556 if (!client_) |
| 557 return; | 557 return; |
| 558 | 558 |
| 559 DCHECK(!ftp_listing_delegate_.get()); | 559 DCHECK(!ftp_listing_delegate_.get()); |
| 560 DCHECK(!multipart_delegate_.get()); | 560 DCHECK(!multipart_delegate_.get()); |
| 561 if (info.headers && info.mime_type == "multipart/x-mixed-replace") { | 561 if (info.headers && info.mime_type == "multipart/x-mixed-replace") { |
| 562 std::string content_type; | 562 std::string content_type; |
| 563 info.headers->EnumerateHeader(NULL, "content-type", &content_type); | 563 info.headers->EnumerateHeader(NULL, "content-type", &content_type); |
| 564 | 564 |
| 565 std::string boundary = net::GetHeaderParamValue(content_type, "boundary"); | 565 std::string boundary = net::GetHeaderParamValue( |
| 566 content_type, "boundary", net::QuoteRule::REMOVE_OUTER_QUOTES); |
| 566 TrimString(boundary, " \"", &boundary); | 567 TrimString(boundary, " \"", &boundary); |
| 567 | 568 |
| 568 // If there's no boundary, just handle the request normally. In the gecko | 569 // If there's no boundary, just handle the request normally. In the gecko |
| 569 // code, nsMultiMixedConv::OnStartRequest throws an exception. | 570 // code, nsMultiMixedConv::OnStartRequest throws an exception. |
| 570 if (!boundary.empty()) { | 571 if (!boundary.empty()) { |
| 571 multipart_delegate_.reset( | 572 multipart_delegate_.reset( |
| 572 new MultipartResponseDelegate(client_, loader_, response, boundary)); | 573 new MultipartResponseDelegate(client_, loader_, response, boundary)); |
| 573 } | 574 } |
| 574 } else if (info.mime_type == "text/vnd.chromium.ftp-dir" && | 575 } else if (info.mime_type == "text/vnd.chromium.ftp-dir" && |
| 575 !show_raw_listing) { | 576 !show_raw_listing) { |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 718 | 719 |
| 719 void WebURLLoaderImpl::cancel() { | 720 void WebURLLoaderImpl::cancel() { |
| 720 context_->Cancel(); | 721 context_->Cancel(); |
| 721 } | 722 } |
| 722 | 723 |
| 723 void WebURLLoaderImpl::setDefersLoading(bool value) { | 724 void WebURLLoaderImpl::setDefersLoading(bool value) { |
| 724 context_->SetDefersLoading(value); | 725 context_->SetDefersLoading(value); |
| 725 } | 726 } |
| 726 | 727 |
| 727 } // namespace webkit_glue | 728 } // namespace webkit_glue |
| OLD | NEW |