Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(474)

Side by Side Diff: webkit/glue/weburlloader_impl.cc

Issue 6166010: net: Remove typedef net::URLRequestStatus URLRequestStatus; (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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"
11 #include "base/process_util.h" 11 #include "base/process_util.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 return ResourceType::PREFETCH; 139 return ResourceType::PREFETCH;
140 default: 140 default:
141 NOTREACHED(); 141 NOTREACHED();
142 return ResourceType::SUB_RESOURCE; 142 return ResourceType::SUB_RESOURCE;
143 } 143 }
144 } 144 }
145 145
146 // Extracts the information from a data: url. 146 // Extracts the information from a data: url.
147 bool GetInfoFromDataURL(const GURL& url, 147 bool GetInfoFromDataURL(const GURL& url,
148 ResourceResponseInfo* info, 148 ResourceResponseInfo* info,
149 std::string* data, URLRequestStatus* status) { 149 std::string* data,
150 net::URLRequestStatus* status) {
150 std::string mime_type; 151 std::string mime_type;
151 std::string charset; 152 std::string charset;
152 if (net::DataURL::Parse(url, &mime_type, &charset, data)) { 153 if (net::DataURL::Parse(url, &mime_type, &charset, data)) {
153 *status = URLRequestStatus(URLRequestStatus::SUCCESS, 0); 154 *status = net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0);
154 info->request_time = Time::Now(); 155 info->request_time = Time::Now();
155 info->response_time = Time::Now(); 156 info->response_time = Time::Now();
156 info->headers = NULL; 157 info->headers = NULL;
157 info->mime_type.swap(mime_type); 158 info->mime_type.swap(mime_type);
158 info->charset.swap(charset); 159 info->charset.swap(charset);
159 info->security_info.clear(); 160 info->security_info.clear();
160 info->content_length = -1; 161 info->content_length = -1;
161 162
162 return true; 163 return true;
163 } 164 }
164 165
165 *status = URLRequestStatus(URLRequestStatus::FAILED, net::ERR_INVALID_URL); 166 *status = net::URLRequestStatus(net::URLRequestStatus::FAILED,
167 net::ERR_INVALID_URL);
166 return false; 168 return false;
167 } 169 }
168 170
169 typedef ResourceDevToolsInfo::HeadersVector HeadersVector; 171 typedef ResourceDevToolsInfo::HeadersVector HeadersVector;
170 172
171 void PopulateURLResponse( 173 void PopulateURLResponse(
172 const GURL& url, 174 const GURL& url,
173 const ResourceResponseInfo& info, 175 const ResourceResponseInfo& info,
174 WebURLResponse* response) { 176 WebURLResponse* response) {
175 response->setURL(url); 177 response->setURL(url);
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 virtual bool OnReceivedRedirect( 289 virtual bool OnReceivedRedirect(
288 const GURL& new_url, 290 const GURL& new_url,
289 const ResourceResponseInfo& info, 291 const ResourceResponseInfo& info,
290 bool* has_new_first_party_for_cookies, 292 bool* has_new_first_party_for_cookies,
291 GURL* new_first_party_for_cookies); 293 GURL* new_first_party_for_cookies);
292 virtual void OnReceivedResponse( 294 virtual void OnReceivedResponse(
293 const ResourceResponseInfo& info, bool content_filtered); 295 const ResourceResponseInfo& info, bool content_filtered);
294 virtual void OnDownloadedData(int len); 296 virtual void OnDownloadedData(int len);
295 virtual void OnReceivedData(const char* data, int len); 297 virtual void OnReceivedData(const char* data, int len);
296 virtual void OnReceivedCachedMetadata(const char* data, int len); 298 virtual void OnReceivedCachedMetadata(const char* data, int len);
297 virtual void OnCompletedRequest( 299 virtual void OnCompletedRequest(const net::URLRequestStatus& status,
298 const URLRequestStatus& status, 300 const std::string& security_info,
299 const std::string& security_info, 301 const base::Time& completion_time);
300 const base::Time& completion_time);
301 302
302 private: 303 private:
303 friend class base::RefCounted<Context>; 304 friend class base::RefCounted<Context>;
304 ~Context() {} 305 ~Context() {}
305 306
306 // We can optimize the handling of data URLs in most cases. 307 // We can optimize the handling of data URLs in most cases.
307 bool CanHandleDataURL(const GURL& url) const; 308 bool CanHandleDataURL(const GURL& url) const;
308 void HandleDataURL(); 309 void HandleDataURL();
309 310
310 WebURLLoaderImpl* loader_; 311 WebURLLoaderImpl* loader_;
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 } 615 }
615 } 616 }
616 617
617 void WebURLLoaderImpl::Context::OnReceivedCachedMetadata( 618 void WebURLLoaderImpl::Context::OnReceivedCachedMetadata(
618 const char* data, int len) { 619 const char* data, int len) {
619 if (client_) 620 if (client_)
620 client_->didReceiveCachedMetadata(loader_, data, len); 621 client_->didReceiveCachedMetadata(loader_, data, len);
621 } 622 }
622 623
623 void WebURLLoaderImpl::Context::OnCompletedRequest( 624 void WebURLLoaderImpl::Context::OnCompletedRequest(
624 const URLRequestStatus& status, 625 const net::URLRequestStatus& status,
625 const std::string& security_info, 626 const std::string& security_info,
626 const base::Time& completion_time) { 627 const base::Time& completion_time) {
627 if (ftp_listing_delegate_.get()) { 628 if (ftp_listing_delegate_.get()) {
628 ftp_listing_delegate_->OnCompletedRequest(); 629 ftp_listing_delegate_->OnCompletedRequest();
629 ftp_listing_delegate_.reset(NULL); 630 ftp_listing_delegate_.reset(NULL);
630 } else if (multipart_delegate_.get()) { 631 } else if (multipart_delegate_.get()) {
631 multipart_delegate_->OnCompletedRequest(); 632 multipart_delegate_->OnCompletedRequest();
632 multipart_delegate_.reset(NULL); 633 multipart_delegate_.reset(NULL);
633 } 634 }
634 635
635 // Prevent any further IPC to the browser now that we're complete, but 636 // Prevent any further IPC to the browser now that we're complete, but
636 // don't delete it to keep any downloaded temp files alive. 637 // don't delete it to keep any downloaded temp files alive.
637 DCHECK(!completed_bridge_.get()); 638 DCHECK(!completed_bridge_.get());
638 completed_bridge_.swap(bridge_); 639 completed_bridge_.swap(bridge_);
639 640
640 if (client_) { 641 if (client_) {
641 if (status.status() != URLRequestStatus::SUCCESS) { 642 if (status.status() != net::URLRequestStatus::SUCCESS) {
642 int error_code; 643 int error_code;
643 if (status.status() == URLRequestStatus::HANDLED_EXTERNALLY) { 644 if (status.status() == net::URLRequestStatus::HANDLED_EXTERNALLY) {
644 // By marking this request as aborted we insure that we don't navigate 645 // By marking this request as aborted we insure that we don't navigate
645 // to an error page. 646 // to an error page.
646 error_code = net::ERR_ABORTED; 647 error_code = net::ERR_ABORTED;
647 } else { 648 } else {
648 error_code = status.os_error(); 649 error_code = status.os_error();
649 } 650 }
650 WebURLError error; 651 WebURLError error;
651 error.domain = WebString::fromUTF8(net::kErrorDomain); 652 error.domain = WebString::fromUTF8(net::kErrorDomain);
652 error.reason = error_code; 653 error.reason = error_code;
653 error.unreachableURL = request_.url(); 654 error.unreachableURL = request_.url();
(...skipping 30 matching lines...) Expand all
684 std::string mime_type, unused_charset; 685 std::string mime_type, unused_charset;
685 if (net::DataURL::Parse(url, &mime_type, &unused_charset, NULL) && 686 if (net::DataURL::Parse(url, &mime_type, &unused_charset, NULL) &&
686 net::IsSupportedMimeType(mime_type)) 687 net::IsSupportedMimeType(mime_type))
687 return true; 688 return true;
688 689
689 return false; 690 return false;
690 } 691 }
691 692
692 void WebURLLoaderImpl::Context::HandleDataURL() { 693 void WebURLLoaderImpl::Context::HandleDataURL() {
693 ResourceResponseInfo info; 694 ResourceResponseInfo info;
694 URLRequestStatus status; 695 net::URLRequestStatus status;
695 std::string data; 696 std::string data;
696 697
697 if (GetInfoFromDataURL(request_.url(), &info, &data, &status)) { 698 if (GetInfoFromDataURL(request_.url(), &info, &data, &status)) {
698 OnReceivedResponse(info, false); 699 OnReceivedResponse(info, false);
699 if (!data.empty()) 700 if (!data.empty())
700 OnReceivedData(data.data(), data.size()); 701 OnReceivedData(data.data(), data.size());
701 } 702 }
702 703
703 OnCompletedRequest(status, info.security_info, base::Time::Now()); 704 OnCompletedRequest(status, info.security_info, base::Time::Now());
704 } 705 }
(...skipping 12 matching lines...) Expand all
717 WebURLResponse& response, 718 WebURLResponse& response,
718 WebURLError& error, 719 WebURLError& error,
719 WebData& data) { 720 WebData& data) {
720 ResourceLoaderBridge::SyncLoadResponse sync_load_response; 721 ResourceLoaderBridge::SyncLoadResponse sync_load_response;
721 context_->Start(request, &sync_load_response); 722 context_->Start(request, &sync_load_response);
722 723
723 const GURL& final_url = sync_load_response.url; 724 const GURL& final_url = sync_load_response.url;
724 725
725 // TODO(tc): For file loads, we may want to include a more descriptive 726 // TODO(tc): For file loads, we may want to include a more descriptive
726 // status code or status text. 727 // status code or status text.
727 const URLRequestStatus::Status& status = sync_load_response.status.status(); 728 const net::URLRequestStatus::Status& status =
728 if (status != URLRequestStatus::SUCCESS && 729 sync_load_response.status.status();
729 status != URLRequestStatus::HANDLED_EXTERNALLY) { 730 if (status != net::URLRequestStatus::SUCCESS &&
731 status != net::URLRequestStatus::HANDLED_EXTERNALLY) {
730 response.setURL(final_url); 732 response.setURL(final_url);
731 error.domain = WebString::fromUTF8(net::kErrorDomain); 733 error.domain = WebString::fromUTF8(net::kErrorDomain);
732 error.reason = sync_load_response.status.os_error(); 734 error.reason = sync_load_response.status.os_error();
733 error.unreachableURL = final_url; 735 error.unreachableURL = final_url;
734 return; 736 return;
735 } 737 }
736 738
737 PopulateURLResponse(final_url, sync_load_response, &response); 739 PopulateURLResponse(final_url, sync_load_response, &response);
738 740
739 data.assign(sync_load_response.data.data(), 741 data.assign(sync_load_response.data.data(),
(...skipping 10 matching lines...) Expand all
750 752
751 void WebURLLoaderImpl::cancel() { 753 void WebURLLoaderImpl::cancel() {
752 context_->Cancel(); 754 context_->Cancel();
753 } 755 }
754 756
755 void WebURLLoaderImpl::setDefersLoading(bool value) { 757 void WebURLLoaderImpl::setDefersLoading(bool value) {
756 context_->SetDefersLoading(value); 758 context_->SetDefersLoading(value);
757 } 759 }
758 760
759 } // namespace webkit_glue 761 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/glue/resource_loader_bridge.h ('k') | webkit/tools/test_shell/simple_resource_loader_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698