diff options
author | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-13 22:40:23 +0000 |
---|---|---|
committer | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-13 22:40:23 +0000 |
commit | ae9c09293f4e8356704df885478fe32e0f513734 (patch) | |
tree | 3a24ce9a8411ffefdb1246d4fb66a2d394323eab | |
parent | 7f606ae73f601e22a9cc3f5f5e39c72d6ccda62d (diff) | |
download | chromium_src-ae9c09293f4e8356704df885478fe32e0f513734.zip chromium_src-ae9c09293f4e8356704df885478fe32e0f513734.tar.gz chromium_src-ae9c09293f4e8356704df885478fe32e0f513734.tar.bz2 |
Add logging to CrossSiteResourceHandler and BufferedResourceHandler,
when they block a URLRequest.
BUG=294920
Review URL: https://codereview.chromium.org/153503004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251161 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/browser/loader/buffered_resource_handler.cc | 2 | ||||
-rw-r--r-- | content/browser/loader/cross_site_resource_handler.cc | 11 | ||||
-rw-r--r-- | content/browser/loader/cross_site_resource_handler.h | 4 |
3 files changed, 15 insertions, 2 deletions
diff --git a/content/browser/loader/buffered_resource_handler.cc b/content/browser/loader/buffered_resource_handler.cc index ba23eaf..8003154 100644 --- a/content/browser/loader/buffered_resource_handler.cc +++ b/content/browser/loader/buffered_resource_handler.cc @@ -334,6 +334,7 @@ bool BufferedResourceHandler::SelectNextHandler(bool* defer) { PluginServiceImpl::GetInstance()->GetPlugins( base::Bind(&BufferedResourceHandler::OnPluginsLoaded, weak_ptr_factory_.GetWeakPtr())); + request()->LogBlockedBy("BufferedResourceHandler"); *defer = true; return true; } @@ -473,6 +474,7 @@ bool BufferedResourceHandler::CopyReadBufferToNextHandler(int request_id) { void BufferedResourceHandler::OnPluginsLoaded( const std::vector<WebPluginInfo>& plugins) { + request()->LogUnblocked(); bool defer = false; if (!ProcessResponse(&defer)) { controller()->Cancel(); diff --git a/content/browser/loader/cross_site_resource_handler.cc b/content/browser/loader/cross_site_resource_handler.cc index 8c93465..75009a29 100644 --- a/content/browser/loader/cross_site_resource_handler.cc +++ b/content/browser/loader/cross_site_resource_handler.cc @@ -176,7 +176,8 @@ bool CrossSiteResourceHandler::OnResponseStarted( StartCrossSiteTransition(request_id, response, should_transfer); // Defer loading until after the onunload event handler has run. - did_defer_ = *defer = true; + *defer = true; + OnDidDefer(); return true; } @@ -220,8 +221,8 @@ void CrossSiteResourceHandler::OnResponseCompleted( // Defer to tell RDH not to notify the world or clean up the pending request. // We will do so in ResumeResponse. - did_defer_ = true; *defer = true; + OnDidDefer(); } // We can now send the response to the new renderer, which will cause @@ -314,9 +315,15 @@ void CrossSiteResourceHandler::StartCrossSiteTransition( void CrossSiteResourceHandler::ResumeIfDeferred() { if (did_defer_) { + request()->LogUnblocked(); did_defer_ = false; controller()->Resume(); } } +void CrossSiteResourceHandler::OnDidDefer() { + did_defer_ = true; + request()->LogBlockedBy("CrossSiteResourceHandler"); +} + } // namespace content diff --git a/content/browser/loader/cross_site_resource_handler.h b/content/browser/loader/cross_site_resource_handler.h index 29e3f5a..e26c1d5 100644 --- a/content/browser/loader/cross_site_resource_handler.h +++ b/content/browser/loader/cross_site_resource_handler.h @@ -55,6 +55,10 @@ class CrossSiteResourceHandler : public LayeredResourceHandler { void ResumeIfDeferred(); + // Called when about to defer a request. Sets |did_defer_| and logs the + // defferral + void OnDidDefer(); + bool has_started_response_; bool in_cross_site_transition_; bool completed_during_transition_; |