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

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

Issue 6771043: Enabled actual transfer size in chromium (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comment added Created 9 years, 8 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
« no previous file with comments | « webkit/glue/resource_loader_bridge.cc ('k') | webkit/plugins/npapi/webplugin_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 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/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 std::string charset; 150 std::string charset;
151 if (net::DataURL::Parse(url, &mime_type, &charset, data)) { 151 if (net::DataURL::Parse(url, &mime_type, &charset, data)) {
152 *status = net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0); 152 *status = net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0);
153 info->request_time = Time::Now(); 153 info->request_time = Time::Now();
154 info->response_time = Time::Now(); 154 info->response_time = Time::Now();
155 info->headers = NULL; 155 info->headers = NULL;
156 info->mime_type.swap(mime_type); 156 info->mime_type.swap(mime_type);
157 info->charset.swap(charset); 157 info->charset.swap(charset);
158 info->security_info.clear(); 158 info->security_info.clear();
159 info->content_length = -1; 159 info->content_length = -1;
160 info->raw_data_length = 0;
160 info->load_timing.base_time = Time::Now(); 161 info->load_timing.base_time = Time::Now();
161 162
162 return true; 163 return true;
163 } 164 }
164 165
165 *status = net::URLRequestStatus(net::URLRequestStatus::FAILED, 166 *status = net::URLRequestStatus(net::URLRequestStatus::FAILED,
166 net::ERR_INVALID_URL); 167 net::ERR_INVALID_URL);
167 return false; 168 return false;
168 } 169 }
169 170
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 289
289 // ResourceLoaderBridge::Peer methods: 290 // ResourceLoaderBridge::Peer methods:
290 virtual void OnUploadProgress(uint64 position, uint64 size); 291 virtual void OnUploadProgress(uint64 position, uint64 size);
291 virtual bool OnReceivedRedirect( 292 virtual bool OnReceivedRedirect(
292 const GURL& new_url, 293 const GURL& new_url,
293 const ResourceResponseInfo& info, 294 const ResourceResponseInfo& info,
294 bool* has_new_first_party_for_cookies, 295 bool* has_new_first_party_for_cookies,
295 GURL* new_first_party_for_cookies); 296 GURL* new_first_party_for_cookies);
296 virtual void OnReceivedResponse(const ResourceResponseInfo& info); 297 virtual void OnReceivedResponse(const ResourceResponseInfo& info);
297 virtual void OnDownloadedData(int len); 298 virtual void OnDownloadedData(int len);
298 virtual void OnReceivedData(const char* data, int len); 299 virtual void OnReceivedData(const char* data,
300 int data_length,
301 int raw_data_length);
299 virtual void OnReceivedCachedMetadata(const char* data, int len); 302 virtual void OnReceivedCachedMetadata(const char* data, int len);
300 virtual void OnCompletedRequest(const net::URLRequestStatus& status, 303 virtual void OnCompletedRequest(const net::URLRequestStatus& status,
301 const std::string& security_info, 304 const std::string& security_info,
302 const base::Time& completion_time); 305 const base::Time& completion_time);
303 306
304 private: 307 private:
305 friend class base::RefCounted<Context>; 308 friend class base::RefCounted<Context>;
306 ~Context() {} 309 ~Context() {}
307 310
308 // We can optimize the handling of data URLs in most cases. 311 // We can optimize the handling of data URLs in most cases.
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 } 587 }
585 588
586 response_url_ = response.url(); 589 response_url_ = response.url();
587 } 590 }
588 591
589 void WebURLLoaderImpl::Context::OnDownloadedData(int len) { 592 void WebURLLoaderImpl::Context::OnDownloadedData(int len) {
590 if (client_) 593 if (client_)
591 client_->didDownloadData(loader_, len); 594 client_->didDownloadData(loader_, len);
592 } 595 }
593 596
594 void WebURLLoaderImpl::Context::OnReceivedData(const char* data, int len) { 597 void WebURLLoaderImpl::Context::OnReceivedData(const char* data,
598 int data_length,
599 int raw_data_length) {
595 if (!client_) 600 if (!client_)
596 return; 601 return;
597 602
598 // Temporary logging, see site_isolation_metrics.h/cc. 603 // Temporary logging, see site_isolation_metrics.h/cc.
599 SiteIsolationMetrics::SniffCrossOriginHTML(response_url_, data, len); 604 SiteIsolationMetrics::SniffCrossOriginHTML(response_url_, data, data_length);
600 605
601 if (ftp_listing_delegate_.get()) { 606 if (ftp_listing_delegate_.get()) {
602 // The FTP listing delegate will make the appropriate calls to 607 // The FTP listing delegate will make the appropriate calls to
603 // client_->didReceiveData and client_->didReceiveResponse. 608 // client_->didReceiveData and client_->didReceiveResponse.
604 ftp_listing_delegate_->OnReceivedData(data, len); 609 ftp_listing_delegate_->OnReceivedData(data, data_length);
605 } else if (multipart_delegate_.get()) { 610 } else if (multipart_delegate_.get()) {
606 // The multipart delegate will make the appropriate calls to 611 // The multipart delegate will make the appropriate calls to
607 // client_->didReceiveData and client_->didReceiveResponse. 612 // client_->didReceiveData and client_->didReceiveResponse.
608 multipart_delegate_->OnReceivedData(data, len); 613 multipart_delegate_->OnReceivedData(data, data_length, raw_data_length);
609 } else { 614 } else {
610 client_->didReceiveData(loader_, data, len, -1); 615 client_->didReceiveData(loader_, data, data_length, raw_data_length);
611 } 616 }
612 } 617 }
613 618
614 void WebURLLoaderImpl::Context::OnReceivedCachedMetadata( 619 void WebURLLoaderImpl::Context::OnReceivedCachedMetadata(
615 const char* data, int len) { 620 const char* data, int len) {
616 if (client_) 621 if (client_)
617 client_->didReceiveCachedMetadata(loader_, data, len); 622 client_->didReceiveCachedMetadata(loader_, data, len);
618 } 623 }
619 624
620 void WebURLLoaderImpl::Context::OnCompletedRequest( 625 void WebURLLoaderImpl::Context::OnCompletedRequest(
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 } 692 }
688 693
689 void WebURLLoaderImpl::Context::HandleDataURL() { 694 void WebURLLoaderImpl::Context::HandleDataURL() {
690 ResourceResponseInfo info; 695 ResourceResponseInfo info;
691 net::URLRequestStatus status; 696 net::URLRequestStatus status;
692 std::string data; 697 std::string data;
693 698
694 if (GetInfoFromDataURL(request_.url(), &info, &data, &status)) { 699 if (GetInfoFromDataURL(request_.url(), &info, &data, &status)) {
695 OnReceivedResponse(info); 700 OnReceivedResponse(info);
696 if (!data.empty()) 701 if (!data.empty())
697 OnReceivedData(data.data(), data.size()); 702 OnReceivedData(data.data(), data.size(), 0);
698 } 703 }
699 704
700 OnCompletedRequest(status, info.security_info, base::Time::Now()); 705 OnCompletedRequest(status, info.security_info, base::Time::Now());
701 } 706 }
702 707
703 // WebURLLoaderImpl ----------------------------------------------------------- 708 // WebURLLoaderImpl -----------------------------------------------------------
704 709
705 WebURLLoaderImpl::WebURLLoaderImpl() 710 WebURLLoaderImpl::WebURLLoaderImpl()
706 : ALLOW_THIS_IN_INITIALIZER_LIST(context_(new Context(this))) { 711 : ALLOW_THIS_IN_INITIALIZER_LIST(context_(new Context(this))) {
707 } 712 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 753
749 void WebURLLoaderImpl::cancel() { 754 void WebURLLoaderImpl::cancel() {
750 context_->Cancel(); 755 context_->Cancel();
751 } 756 }
752 757
753 void WebURLLoaderImpl::setDefersLoading(bool value) { 758 void WebURLLoaderImpl::setDefersLoading(bool value) {
754 context_->SetDefersLoading(value); 759 context_->SetDefersLoading(value);
755 } 760 }
756 761
757 } // namespace webkit_glue 762 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/glue/resource_loader_bridge.cc ('k') | webkit/plugins/npapi/webplugin_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698