| 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 5d195a1afca0b88f460dff4b9c22eeb2041d6013..6c1ee69dacad5d8baa1c5a5b43cc6ee2ea58cedb 100644
|
| --- a/content/browser/loader/mojo_async_resource_handler.h
|
| +++ b/content/browser/loader/mojo_async_resource_handler.h
|
| @@ -13,8 +13,8 @@
|
| #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 "content/public/common/resource_type.h"
|
| @@ -22,7 +22,12 @@
|
| #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 tracked_objects {
|
| +class Location;
|
| +}
|
|
|
| namespace net {
|
| class IOBufferWithSize;
|
| @@ -67,7 +72,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();
|
| @@ -100,11 +105,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 functions 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,
|
| + 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_;
|
| @@ -126,6 +137,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);
|
| };
|
|
|