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

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

Issue 1569673002: [NOT FOR LANDING] Detailed loading traces Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 9 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/detachable_resource_handler.h" 5 #include "content/browser/loader/detachable_resource_handler.h"
6 6
7 #include <utility> 7 #include <utility>
8 8 #include "base/trace_event/trace_event.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
11 #include "content/browser/loader/resource_request_info_impl.h" 11 #include "content/browser/loader/resource_request_info_impl.h"
12 #include "net/base/io_buffer.h" 12 #include "net/base/io_buffer.h"
13 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
14 #include "net/url_request/url_request.h" 14 #include "net/url_request/url_request.h"
15 #include "net/url_request/url_request_status.h" 15 #include "net/url_request/url_request_status.h"
16 16
17 namespace { 17 namespace {
18 // This matches the maximum allocation size of AsyncResourceHandler. 18 // This matches the maximum allocation size of AsyncResourceHandler.
19 const int kReadBufSize = 32 * 1024; 19 const int kReadBufSize = 32 * 1024;
20 } 20 }
21 21
22 namespace content { 22 namespace content {
23 23
24 DetachableResourceHandler::DetachableResourceHandler( 24 DetachableResourceHandler::DetachableResourceHandler(
25 net::URLRequest* request, 25 net::URLRequest* request,
26 base::TimeDelta cancel_delay, 26 base::TimeDelta cancel_delay,
27 scoped_ptr<ResourceHandler> next_handler) 27 scoped_ptr<ResourceHandler> next_handler)
28 : ResourceHandler(request), 28 : ResourceHandler(request),
29 next_handler_(std::move(next_handler)), 29 next_handler_(std::move(next_handler)),
30 cancel_delay_(cancel_delay), 30 cancel_delay_(cancel_delay),
31 is_deferred_(false), 31 is_deferred_(false),
32 is_finished_(false) { 32 is_finished_(false) {
33 GetRequestInfo()->set_detachable_handler(this); 33 GetRequestInfo()->set_detachable_handler(this);
34 } 34 }
35 35
36 DetachableResourceHandler::~DetachableResourceHandler() { 36 DetachableResourceHandler::~DetachableResourceHandler() {
37 TRACE_EVENT0("toplevel",
38 "DetachableResourceHandler::~DetachableResourceHandler");
37 // Cleanup back-pointer stored on the request info. 39 // Cleanup back-pointer stored on the request info.
38 GetRequestInfo()->set_detachable_handler(NULL); 40 GetRequestInfo()->set_detachable_handler(NULL);
39 } 41 }
40 42
41 void DetachableResourceHandler::Detach() { 43 void DetachableResourceHandler::Detach() {
42 if (is_detached()) 44 if (is_detached())
43 return; 45 return;
44 46
45 if (!is_finished_) { 47 if (!is_finished_) {
46 // Simulate a cancel on the next handler before destroying it. 48 // Simulate a cancel on the next handler before destroying it.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 if (!next_handler_) 113 if (!next_handler_)
112 return true; 114 return true;
113 115
114 bool ret = 116 bool ret =
115 next_handler_->OnResponseStarted(response, &is_deferred_); 117 next_handler_->OnResponseStarted(response, &is_deferred_);
116 *defer = is_deferred_; 118 *defer = is_deferred_;
117 return ret; 119 return ret;
118 } 120 }
119 121
120 bool DetachableResourceHandler::OnWillStart(const GURL& url, bool* defer) { 122 bool DetachableResourceHandler::OnWillStart(const GURL& url, bool* defer) {
123 TRACE_EVENT0("toplevel", "DetachableResourceHandler::OnWillStart");
121 DCHECK(!is_deferred_); 124 DCHECK(!is_deferred_);
122 125
123 if (!next_handler_) 126 if (!next_handler_)
124 return true; 127 return true;
125 128
126 bool ret = next_handler_->OnWillStart(url, &is_deferred_); 129 bool ret = next_handler_->OnWillStart(url, &is_deferred_);
127 *defer = is_deferred_; 130 *defer = is_deferred_;
128 return ret; 131 return ret;
129 } 132 }
130 133
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 206
204 void DetachableResourceHandler::CancelAndIgnore() { 207 void DetachableResourceHandler::CancelAndIgnore() {
205 controller()->CancelAndIgnore(); 208 controller()->CancelAndIgnore();
206 } 209 }
207 210
208 void DetachableResourceHandler::CancelWithError(int error_code) { 211 void DetachableResourceHandler::CancelWithError(int error_code) {
209 controller()->CancelWithError(error_code); 212 controller()->CancelWithError(error_code);
210 } 213 }
211 214
212 } // namespace content 215 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/loader/cross_site_resource_handler.cc ('k') | content/browser/loader/layered_resource_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698