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

Unified Diff: content/browser/loader/mojo_async_resource_handler.h

Issue 2574143003: Implement upload progress handling in Mojo loading (Closed)
Patch Set: +content_browsertests Created 3 years, 11 months 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/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 ebb38b2f3da220cf986b8ff2e49a4fd40deb8c2c..d4a4487b7f64526b6de5b3f00bf4c8409069c470 100644
--- a/content/browser/loader/mojo_async_resource_handler.h
+++ b/content/browser/loader/mojo_async_resource_handler.h
@@ -13,14 +13,15 @@
#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/watcher.h"
#include "net/base/io_buffer.h"
-#include "url/gurl.h"
+
+class GURL;
namespace net {
class IOBufferWithSize;
@@ -64,7 +65,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();
@@ -102,6 +103,8 @@ class CONTENT_EXPORT MojoAsyncResourceHandler
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_;
@@ -122,6 +125,8 @@ class CONTENT_EXPORT MojoAsyncResourceHandler
size_t buffer_bytes_read_ = 0;
scoped_refptr<SharedWriter> shared_writer_;
+ std::unique_ptr<UploadProgressTracker> upload_progress_tracker_;
+
base::WeakPtrFactory<MojoAsyncResourceHandler> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(MojoAsyncResourceHandler);
};

Powered by Google App Engine
This is Rietveld 408576698