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

Unified Diff: content/browser/download/download_resource_handler.h

Issue 1533583002: [Downloads] Factor out request handling logic between DRH and UD. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments and change .Pass() -> std::move(...) per PRESUBMIT check Created 5 years 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/download/download_resource_handler.h
diff --git a/content/browser/download/download_resource_handler.h b/content/browser/download/download_resource_handler.h
index 9c8f53dd8d2853d8fbc19edbc2c1a2be79e64761..a62892651af61ebb524fb531ff53e3dd0ccffcca 100644
--- a/content/browser/download/download_resource_handler.h
+++ b/content/browser/download/download_resource_handler.h
@@ -9,6 +9,7 @@
#include "base/callback.h"
#include "base/memory/scoped_ptr.h"
+#include "content/browser/download/download_request_core.h"
#include "content/browser/loader/resource_handler.h"
#include "content/public/browser/download_interrupt_reasons.h"
#include "content/public/browser/download_manager.h"
@@ -33,10 +34,6 @@ class CONTENT_EXPORT DownloadResourceHandler
public:
struct DownloadTabInfo;
- // Size of the buffer used between the DownloadResourceHandler and the
- // downstream receiver of its output.
- static const int kDownloadByteStreamSize;
-
// started_cb will be called exactly once on the UI thread.
// |id| should be invalid if the id should be automatically assigned.
DownloadResourceHandler(
@@ -87,14 +84,15 @@ class CONTENT_EXPORT DownloadResourceHandler
// Arrange for started_cb_ to be called on the UI thread with the
// below values, nulling out started_cb_. Should only be called
// on the IO thread.
- void CallStartedCB(DownloadItem* item,
- DownloadInterruptReason interrupt_reason);
+ void CallStartedCB(DownloadInterruptReason interrupt_reason);
+
+ void OnCoreReadyToRead();
uint32 download_id_;
+
// This is read only on the IO thread, but may only
// be called on the UI thread.
DownloadUrlParameters::OnStartedCallback started_cb_;
- scoped_ptr<DownloadSaveInfo> save_info_;
// Stores information about the download that must be acquired on the UI
// thread before StartOnUIThread is called.
@@ -104,32 +102,7 @@ class CONTENT_EXPORT DownloadResourceHandler
// deletion must occur on the IO thread.
scoped_ptr<DownloadTabInfo> tab_info_;
- // Data flow
- scoped_refptr<net::IOBuffer> read_buffer_; // From URLRequest.
- scoped_ptr<ByteStreamWriter> stream_writer_; // To rest of system.
-
- // Keeps the system from sleeping while this ResourceHandler is alive. If the
- // system enters power saving mode while a request is alive, it can cause the
- // request to fail and the associated download will be interrupted.
- scoped_ptr<PowerSaveBlocker> power_save_blocker_;
-
- // The following are used to collect stats.
- base::TimeTicks download_start_time_;
- base::TimeTicks last_read_time_;
- base::TimeTicks last_stream_pause_time_;
- base::TimeDelta total_pause_time_;
- size_t last_buffer_size_;
- int64 bytes_read_;
-
- int pause_count_;
- bool was_deferred_;
-
- // For DCHECKing
- bool on_response_started_called_;
-
- static const int kReadBufSize = 32768; // bytes
- static const int kThrottleTimeMs = 200; // milliseconds
-
+ DownloadRequestCore core_;
DISALLOW_COPY_AND_ASSIGN(DownloadResourceHandler);
};
« no previous file with comments | « content/browser/download/download_request_handle.cc ('k') | content/browser/download/download_resource_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698