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

Unified Diff: content/browser/loader/resource_loader.cc

Issue 732633002: Adding instrumentation to locate the source of jankiness. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mmenke@ comments Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/loader/resource_loader.cc
diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
index eae75eb4be532cfac6170003d7207e35a2696402..8c11b808682f9122471843a9104a72e6badc5878 100644
--- a/content/browser/loader/resource_loader.cc
+++ b/content/browser/loader/resource_loader.cc
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram.h"
+#include "base/profiler/scoped_tracker.h"
#include "base/time/time.h"
#include "content/browser/appcache/appcache_interceptor.h"
#include "content/browser/child_process_security_policy_impl.h"
@@ -111,9 +112,16 @@ void ResourceLoader::StartRequest() {
// Give the handler a chance to delay the URLRequest from being started.
bool defer_start = false;
- if (!handler_->OnWillStart(request_->url(), &defer_start)) {
- Cancel();
- return;
+ {
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::StartRequest"));
+
+ if (!handler_->OnWillStart(request_->url(), &defer_start)) {
+ Cancel();
+ return;
+ }
}
if (defer_start) {
@@ -162,6 +170,12 @@ void ResourceLoader::ReportUploadProgress() {
if (is_finished || enough_new_progress || too_much_time_passed) {
ResourceRequestInfoImpl* info = GetRequestInfo();
if (info->is_upload_progress_enabled()) {
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is
+ // fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::ReportUploadProgress"));
+
handler_->OnUploadProgress(progress.position(), progress.size());
waiting_for_upload_progress_ack_ = true;
}
@@ -232,6 +246,11 @@ void ResourceLoader::OnReceivedRedirect(net::URLRequest* unused,
scoped_refptr<ResourceResponse> response(new ResourceResponse());
PopulateResourceResponse(info, request_.get(), response.get());
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::OnReceivedRedirect"));
+
if (!handler_->OnRequestRedirected(redirect_info, response.get(), defer)) {
Cancel();
} else if (*defer) {
@@ -303,6 +322,11 @@ void ResourceLoader::OnBeforeNetworkStart(net::URLRequest* unused,
bool* defer) {
DCHECK_EQ(request_.get(), unused);
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::OnBeforeNetworkStart"));
+
// Give the handler a chance to delay the URLRequest from using the network.
if (!handler_->OnBeforeNetworkStart(request_->url(), defer)) {
Cancel();
@@ -313,6 +337,11 @@ void ResourceLoader::OnBeforeNetworkStart(net::URLRequest* unused,
}
void ResourceLoader::OnResponseStarted(net::URLRequest* unused) {
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::OnResponseStarted"));
+
DCHECK_EQ(request_.get(), unused);
VLOG(1) << "OnResponseStarted: " << request_->url().spec();
@@ -354,6 +383,11 @@ void ResourceLoader::OnResponseStarted(net::URLRequest* unused) {
}
void ResourceLoader::OnReadCompleted(net::URLRequest* unused, int bytes_read) {
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::OnReadCompleted"));
+
DCHECK_EQ(request_.get(), unused);
VLOG(1) << "OnReadCompleted: \"" << request_->url().spec() << "\""
<< " bytes_read = " << bytes_read;
@@ -553,6 +587,11 @@ void ResourceLoader::CompleteResponseStarted() {
delegate_->DidReceiveResponse(this);
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::CompleteResponseStarted"));
+
bool defer = false;
if (!handler_->OnResponseStarted(response.get(), &defer)) {
Cancel();
@@ -607,9 +646,15 @@ void ResourceLoader::ReadMore(int* bytes_read) {
// doesn't use the buffer.
scoped_refptr<net::IOBuffer> buf;
int buf_size;
- if (!handler_->OnWillRead(&buf, &buf_size, -1)) {
- Cancel();
- return;
+ {
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION("423948 ResourceLoader::ReadMore"));
+
+ if (!handler_->OnWillRead(&buf, &buf_size, -1)) {
+ Cancel();
+ return;
+ }
}
DCHECK(buf.get());
@@ -625,6 +670,10 @@ void ResourceLoader::CompleteRead(int bytes_read) {
DCHECK(bytes_read >= 0);
DCHECK(request_->status().is_success());
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION("423948 ResourceLoader::CompleteRead"));
+
bool defer = false;
if (!handler_->OnReadCompleted(bytes_read, &defer)) {
Cancel();
@@ -660,7 +709,14 @@ void ResourceLoader::ResponseCompleted() {
}
bool defer = false;
- handler_->OnResponseCompleted(request_->status(), security_info, &defer);
+ {
+ // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
+ tracked_objects::ScopedTracker tracking_profile(
+ FROM_HERE_WITH_EXPLICIT_FUNCTION(
+ "423948 ResourceLoader::ResponseCompleted"));
+
+ handler_->OnResponseCompleted(request_->status(), security_info, &defer);
+ }
if (defer) {
// The handler is not ready to die yet. We will call DidFinishLoading when
// we resume.
« no previous file with comments | « content/browser/loader/power_save_block_resource_throttle.cc ('k') | content/browser/service_worker/service_worker_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698