| Index: chrome/browser/download/download_throttling_resource_handler.h
|
| ===================================================================
|
| --- chrome/browser/download/download_throttling_resource_handler.h (revision 96872)
|
| +++ chrome/browser/download/download_throttling_resource_handler.h (working copy)
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_RENDERER_HOST_DOWNLOAD_THROTTLING_RESOURCE_HANDLER_H_
|
| -#define CHROME_BROWSER_RENDERER_HOST_DOWNLOAD_THROTTLING_RESOURCE_HANDLER_H_
|
| +#ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_THROTTLING_RESOURCE_HANDLER_H_
|
| +#define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_THROTTLING_RESOURCE_HANDLER_H_
|
| #pragma once
|
|
|
| #include <string>
|
| @@ -24,14 +24,16 @@
|
| // download and asks the DownloadRequestLimiter if the download should be
|
| // allowed. The DownloadRequestLimiter notifies us asynchronously as to whether
|
| // the download is allowed or not. If the download is allowed the request is
|
| -// resumed, a DownloadResourceHandler is created and all EventHandler methods
|
| -// are delegated to it. If the download is not allowed the request is canceled.
|
| +// resumed, all EventHandler methods are delegated to it to the original
|
| +// handler. If the download is not allowed the request is canceled.
|
|
|
| class DownloadThrottlingResourceHandler
|
| : public ResourceHandler,
|
| public DownloadRequestLimiter::Callback {
|
| public:
|
| - DownloadThrottlingResourceHandler(ResourceDispatcherHost* host,
|
| + DownloadThrottlingResourceHandler(ResourceHandler* next_handler,
|
| + ResourceDispatcherHost* host,
|
| + DownloadRequestLimiter* limiter,
|
| net::URLRequest* request,
|
| const GURL& url,
|
| int render_process_host_id,
|
| @@ -71,10 +73,12 @@
|
| int render_view_id_;
|
| int request_id_;
|
|
|
| - // Handles the actual download. This is only created if the download is
|
| - // allowed to continue.
|
| - scoped_refptr<DownloadResourceHandler> download_handler_;
|
| + // The original handler.
|
| + scoped_refptr<ResourceHandler> next_handler_;
|
|
|
| + // Set to true when we know that the request is allowed to start.
|
| + bool request_allowed_;
|
| +
|
| // Response supplied to OnResponseStarted. Only non-null if OnResponseStarted
|
| // is invoked.
|
| scoped_refptr<ResourceResponse> response_;
|
| @@ -97,4 +101,4 @@
|
| DISALLOW_COPY_AND_ASSIGN(DownloadThrottlingResourceHandler);
|
| };
|
|
|
| -#endif // CHROME_BROWSER_RENDERER_HOST_DOWNLOAD_THROTTLING_RESOURCE_HANDLER_H_
|
| +#endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_THROTTLING_RESOURCE_HANDLER_H_
|
|
|