Index: content/browser/loader/mojo_async_resource_handler.h |
diff --git a/content/browser/loader/mojo_async_resource_handler.h b/content/browser/loader/mojo_async_resource_handler.h |
index 2a8c9b5286ede7324000f91f5e3281d4ba419c58..1f8d3b6c0fdb4bbb423e226fb31067b681a20bc8 100644 |
--- a/content/browser/loader/mojo_async_resource_handler.h |
+++ b/content/browser/loader/mojo_async_resource_handler.h |
@@ -13,15 +13,16 @@ |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/weak_ptr.h" |
-#include "base/timer/timer.h" |
#include "content/browser/loader/resource_handler.h" |
+#include "content/browser/loader/upload_progress_tracker.h" |
#include "content/common/content_export.h" |
#include "content/common/url_loader.mojom.h" |
#include "mojo/public/cpp/bindings/associated_binding.h" |
#include "mojo/public/cpp/system/data_pipe.h" |
#include "mojo/public/cpp/system/watcher.h" |
#include "net/base/io_buffer.h" |
-#include "url/gurl.h" |
+ |
+class GURL; |
namespace net { |
class IOBufferWithSize; |
@@ -65,7 +66,7 @@ class CONTENT_EXPORT MojoAsyncResourceHandler |
bool* defer) override; |
void OnDataDownloaded(int bytes_downloaded) override; |
- // mojom::URLLoader implementation |
+ // mojom::URLLoader implementation: |
void FollowRedirect() override; |
void OnWritableForTesting(); |
@@ -98,11 +99,17 @@ class CONTENT_EXPORT MojoAsyncResourceHandler |
// |reported_total_received_bytes_|, returns it, and updates |
// |reported_total_received_bytes_|. |
int64_t CalculateRecentlyReceivedBytes(); |
- // This function can be overriden only for tests. |
+ |
+ // These function can be overriden only for tests. |
virtual void ReportBadMessage(const std::string& error); |
+ virtual std::unique_ptr<UploadProgressTracker> CreateUploadProgressTracker( |
+ const tracked_objects::Location& from_here, |
mmenke
2017/01/19 16:06:49
Should forward declare tracked_objects::Location
tzik
2017/01/20 04:42:03
Done.
|
+ UploadProgressTracker::UploadProgressReportCallback callback); |
void OnTransfer(mojom::URLLoaderAssociatedRequest mojo_request, |
mojom::URLLoaderClientAssociatedPtr url_loader_client); |
+ void SendUploadProgress(const net::UploadProgress& progress); |
+ void OnUploadProgressACK(); |
ResourceDispatcherHostImpl* rdh_; |
mojo::AssociatedBinding<mojom::URLLoader> binding_; |
@@ -124,6 +131,8 @@ class CONTENT_EXPORT MojoAsyncResourceHandler |
scoped_refptr<SharedWriter> shared_writer_; |
mojo::ScopedDataPipeConsumerHandle response_body_consumer_handle_; |
+ std::unique_ptr<UploadProgressTracker> upload_progress_tracker_; |
+ |
base::WeakPtrFactory<MojoAsyncResourceHandler> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(MojoAsyncResourceHandler); |
}; |