From ef5306ef2dc2460f0a0af8498f80d712ab3ec0b6 Mon Sep 17 00:00:00 2001
From: "creis@chromium.org"
 <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue, 15 Oct 2013 19:38:18 +0000
Subject: Clean up ResourceHandler API.

1. Move URLRequest member to ResourceHandler base class and add convenience functions for subclasses.
2. Make OnWillRead take a scoped_refptr to avoid leaking the buffer.

(Attempt 2, after being reverted for possibly unrelated crashes.)

BUG=295239
TEST=No behavior change.
TBR=darin

Review URL: https://codereview.chromium.org/26420005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228741 0039d316-1c4b-4281-b951-d872f2087c98
---
 content/browser/loader/throttling_resource_handler.cc | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

(limited to 'content/browser/loader/throttling_resource_handler.cc')

diff --git a/content/browser/loader/throttling_resource_handler.cc b/content/browser/loader/throttling_resource_handler.cc
index 8bb5446..23f77da 100644
--- a/content/browser/loader/throttling_resource_handler.cc
+++ b/content/browser/loader/throttling_resource_handler.cc
@@ -4,7 +4,7 @@
 
 #include "content/browser/loader/throttling_resource_handler.h"
 
-#include "content/public/browser/resource_request_info.h"
+#include "content/browser/loader/resource_request_info_impl.h"
 #include "content/public/browser/resource_throttle.h"
 #include "content/public/common/resource_response.h"
 
@@ -14,9 +14,8 @@ ThrottlingResourceHandler::ThrottlingResourceHandler(
     scoped_ptr<ResourceHandler> next_handler,
     net::URLRequest* request,
     ScopedVector<ResourceThrottle> throttles)
-    : LayeredResourceHandler(next_handler.Pass()),
+    : LayeredResourceHandler(request, next_handler.Pass()),
       deferred_stage_(DEFERRED_NONE),
-      request_(request),
       throttles_(throttles.Pass()),
       index_(0),
       cancelled_by_resource_throttle_(false) {
@@ -141,8 +140,7 @@ void ThrottlingResourceHandler::ResumeStart() {
   deferred_url_ = GURL();
 
   bool defer = false;
-  const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_);
-  if (!OnWillStart(info->GetRequestID(), url, &defer)) {
+  if (!OnWillStart(GetRequestID(), url, &defer)) {
     controller()->Cancel();
   } else if (!defer) {
     controller()->Resume();
@@ -158,9 +156,7 @@ void ThrottlingResourceHandler::ResumeRedirect() {
   deferred_response_.swap(response);
 
   bool defer = false;
-  const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_);
-  if (!OnRequestRedirected(info->GetRequestID(), new_url, response.get(),
-                           &defer)) {
+  if (!OnRequestRedirected(GetRequestID(), new_url, response.get(), &defer)) {
     controller()->Cancel();
   } else if (!defer) {
     controller()->Resume();
@@ -174,8 +170,7 @@ void ThrottlingResourceHandler::ResumeResponse() {
   deferred_response_.swap(response);
 
   bool defer = false;
-  const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_);
-  if (!OnResponseStarted(info->GetRequestID(), response.get(), &defer)) {
+  if (!OnResponseStarted(GetRequestID(), response.get(), &defer)) {
     controller()->Cancel();
   } else if (!defer) {
     controller()->Resume();
-- 
cgit v1.1