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

Side by Side Diff: content/browser/loader/resource_loader.cc

Issue 1834273002: Add TRACE_EVENT macros to net. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Re-work Created 4 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
OLDNEW
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 #include "content/browser/loader/resource_loader.h" 5 #include "content/browser/loader/resource_loader.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/location.h" 10 #include "base/location.h"
11 #include "base/metrics/histogram.h" 11 #include "base/metrics/histogram.h"
12 #include "base/profiler/scoped_tracker.h" 12 #include "base/profiler/scoped_tracker.h"
13 #include "base/single_thread_task_runner.h" 13 #include "base/single_thread_task_runner.h"
14 #include "base/thread_task_runner_handle.h" 14 #include "base/thread_task_runner_handle.h"
15 #include "base/time/time.h" 15 #include "base/time/time.h"
16 #include "base/trace_event/trace_event.h"
16 #include "content/browser/appcache/appcache_interceptor.h" 17 #include "content/browser/appcache/appcache_interceptor.h"
17 #include "content/browser/child_process_security_policy_impl.h" 18 #include "content/browser/child_process_security_policy_impl.h"
18 #include "content/browser/loader/cross_site_resource_handler.h" 19 #include "content/browser/loader/cross_site_resource_handler.h"
19 #include "content/browser/loader/detachable_resource_handler.h" 20 #include "content/browser/loader/detachable_resource_handler.h"
20 #include "content/browser/loader/resource_loader_delegate.h" 21 #include "content/browser/loader/resource_loader_delegate.h"
21 #include "content/browser/loader/resource_request_info_impl.h" 22 #include "content/browser/loader/resource_request_info_impl.h"
22 #include "content/browser/service_worker/service_worker_request_handler.h" 23 #include "content/browser/service_worker/service_worker_request_handler.h"
23 #include "content/browser/ssl/ssl_client_auth_handler.h" 24 #include "content/browser/ssl/ssl_client_auth_handler.h"
24 #include "content/browser/ssl/ssl_manager.h" 25 #include "content/browser/ssl/ssl_manager.h"
25 #include "content/browser/ssl/ssl_policy.h" 26 #include "content/browser/ssl/ssl_policy.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 return ResourceRequestInfoImpl::ForRequest(request_.get()); 239 return ResourceRequestInfoImpl::ForRequest(request_.get());
239 } 240 }
240 241
241 void ResourceLoader::ClearLoginDelegate() { 242 void ResourceLoader::ClearLoginDelegate() {
242 login_delegate_ = NULL; 243 login_delegate_ = NULL;
243 } 244 }
244 245
245 void ResourceLoader::OnReceivedRedirect(net::URLRequest* unused, 246 void ResourceLoader::OnReceivedRedirect(net::URLRequest* unused,
246 const net::RedirectInfo& redirect_info, 247 const net::RedirectInfo& redirect_info,
247 bool* defer) { 248 bool* defer) {
249 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("net"),
250 "ResourceLoader::OnReceivedRedirect");
248 DCHECK_EQ(request_.get(), unused); 251 DCHECK_EQ(request_.get(), unused);
249 252
250 DVLOG(1) << "OnReceivedRedirect: " << request_->url().spec(); 253 DVLOG(1) << "OnReceivedRedirect: " << request_->url().spec();
251 DCHECK(request_->status().is_success()); 254 DCHECK(request_->status().is_success());
252 255
253 ResourceRequestInfoImpl* info = GetRequestInfo(); 256 ResourceRequestInfoImpl* info = GetRequestInfo();
254 257
255 if (info->GetProcessType() != PROCESS_TYPE_PLUGIN && 258 if (info->GetProcessType() != PROCESS_TYPE_PLUGIN &&
256 !ChildProcessSecurityPolicyImpl::GetInstance()-> 259 !ChildProcessSecurityPolicyImpl::GetInstance()->
257 CanRequestURL(info->GetChildID(), redirect_info.new_url)) { 260 CanRequestURL(info->GetChildID(), redirect_info.new_url)) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 bool fatal) { 326 bool fatal) {
324 ResourceRequestInfoImpl* info = GetRequestInfo(); 327 ResourceRequestInfoImpl* info = GetRequestInfo();
325 328
326 SSLManager::OnSSLCertificateError( 329 SSLManager::OnSSLCertificateError(
327 weak_ptr_factory_.GetWeakPtr(), info->GetResourceType(), request_->url(), 330 weak_ptr_factory_.GetWeakPtr(), info->GetResourceType(), request_->url(),
328 info->GetWebContentsGetterForRequest(), ssl_info, fatal); 331 info->GetWebContentsGetterForRequest(), ssl_info, fatal);
329 } 332 }
330 333
331 void ResourceLoader::OnBeforeNetworkStart(net::URLRequest* unused, 334 void ResourceLoader::OnBeforeNetworkStart(net::URLRequest* unused,
332 bool* defer) { 335 bool* defer) {
336 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("net"),
337 "ResourceLoader::OnBeforeNetworkStart");
333 DCHECK_EQ(request_.get(), unused); 338 DCHECK_EQ(request_.get(), unused);
334 339
335 // Give the handler a chance to delay the URLRequest from using the network. 340 // Give the handler a chance to delay the URLRequest from using the network.
336 if (!handler_->OnBeforeNetworkStart(request_->url(), defer)) { 341 if (!handler_->OnBeforeNetworkStart(request_->url(), defer)) {
337 Cancel(); 342 Cancel();
338 return; 343 return;
339 } else if (*defer) { 344 } else if (*defer) {
340 deferred_stage_ = DEFERRED_NETWORK_START; 345 deferred_stage_ = DEFERRED_NETWORK_START;
341 } 346 }
342 } 347 }
343 348
344 void ResourceLoader::OnResponseStarted(net::URLRequest* unused) { 349 void ResourceLoader::OnResponseStarted(net::URLRequest* unused) {
350 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("net"),
351 "ResourceLoader::OnResponseStarted");
345 DCHECK_EQ(request_.get(), unused); 352 DCHECK_EQ(request_.get(), unused);
346 353
347 DVLOG(1) << "OnResponseStarted: " << request_->url().spec(); 354 DVLOG(1) << "OnResponseStarted: " << request_->url().spec();
348 355
349 if (!request_->status().is_success()) { 356 if (!request_->status().is_success()) {
350 ResponseCompleted(); 357 ResponseCompleted();
351 return; 358 return;
352 } 359 }
353 360
354 CompleteResponseStarted(); 361 CompleteResponseStarted();
355 362
356 if (is_deferred()) 363 if (is_deferred())
357 return; 364 return;
358 365
359 if (request_->status().is_success()) 366 if (request_->status().is_success())
360 StartReading(false); // Read the first chunk. 367 StartReading(false); // Read the first chunk.
361 else 368 else
362 ResponseCompleted(); 369 ResponseCompleted();
363 } 370 }
364 371
365 void ResourceLoader::OnReadCompleted(net::URLRequest* unused, int bytes_read) { 372 void ResourceLoader::OnReadCompleted(net::URLRequest* unused, int bytes_read) {
373 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("net"),
374 "ResourceLoader::OnReadCompleted");
366 DCHECK_EQ(request_.get(), unused); 375 DCHECK_EQ(request_.get(), unused);
367 DVLOG(1) << "OnReadCompleted: \"" << request_->url().spec() << "\"" 376 DVLOG(1) << "OnReadCompleted: \"" << request_->url().spec() << "\""
368 << " bytes_read = " << bytes_read; 377 << " bytes_read = " << bytes_read;
369 378
370 // bytes_read == -1 always implies an error. 379 // bytes_read == -1 always implies an error.
371 if (bytes_read == -1 || !request_->status().is_success()) { 380 if (bytes_read == -1 || !request_->status().is_success()) {
372 ResponseCompleted(); 381 ResponseCompleted();
373 return; 382 return;
374 } 383 }
375 384
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 610
602 // Make sure we track the buffer in at least one place. This ensures it gets 611 // Make sure we track the buffer in at least one place. This ensures it gets
603 // deleted even in the case the request has already finished its job and 612 // deleted even in the case the request has already finished its job and
604 // doesn't use the buffer. 613 // doesn't use the buffer.
605 scoped_refptr<net::IOBuffer> buf; 614 scoped_refptr<net::IOBuffer> buf;
606 int buf_size; 615 int buf_size;
607 { 616 {
608 // TODO(darin): Remove ScopedTracker below once crbug.com/475761 is fixed. 617 // TODO(darin): Remove ScopedTracker below once crbug.com/475761 is fixed.
609 tracked_objects::ScopedTracker tracking_profile2( 618 tracked_objects::ScopedTracker tracking_profile2(
610 FROM_HERE_WITH_EXPLICIT_FUNCTION("475761 OnWillRead()")); 619 FROM_HERE_WITH_EXPLICIT_FUNCTION("475761 OnWillRead()"));
620 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("net"), "ResourceLoader::ReadMore");
611 621
612 if (!handler_->OnWillRead(&buf, &buf_size, -1)) { 622 if (!handler_->OnWillRead(&buf, &buf_size, -1)) {
613 Cancel(); 623 Cancel();
614 return; 624 return;
615 } 625 }
616 } 626 }
617 627
618 DCHECK(buf.get()); 628 DCHECK(buf.get());
619 DCHECK(buf_size > 0); 629 DCHECK(buf_size > 0);
620 630
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
716 case net::URLRequestStatus::FAILED: 726 case net::URLRequestStatus::FAILED:
717 status = STATUS_UNDEFINED; 727 status = STATUS_UNDEFINED;
718 break; 728 break;
719 } 729 }
720 730
721 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX); 731 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX);
722 } 732 }
723 } 733 }
724 734
725 } // namespace content 735 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698