Chromium Code Reviews| 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); |
| }; |