Feedback report improvements
- Avoid copying mega bytes of feedback data when
sending reports.
- Explicitly use OnceCallback and RepeatingCallback
when appropriate.
BUG=748742
TEST=manual + unittests.
Change-Id: I6fb76e50f41f01a6df57e401cbfe1a1033e4db82
Reviewed-on: https://chromium-review.googlesource.com/1121077
Reviewed-by: Rahul Chaturvedi <[email protected]>
Commit-Queue: Ahmed Fakhry <[email protected]>
Cr-Commit-Position: refs/heads/master@{#571947}
diff --git a/components/feedback/feedback_uploader.h b/components/feedback/feedback_uploader.h
index dc06ea0..1c500fe 100644
--- a/components/feedback/feedback_uploader.h
+++ b/components/feedback/feedback_uploader.h
@@ -43,7 +43,7 @@
static void SetMinimumRetryDelayForTesting(base::TimeDelta delay);
// Queues a report for uploading.
- void QueueReport(const std::string& data);
+ void QueueReport(std::unique_ptr<std::string> data);
bool QueueEmpty() const { return reports_queue_.empty(); }
@@ -101,7 +101,8 @@
// Update our timer for uploading the next report.
void UpdateUploadTimer();
- void QueueReportWithDelay(const std::string& data, base::TimeDelta delay);
+ void QueueReportWithDelay(std::unique_ptr<std::string> data,
+ base::TimeDelta delay);
// Browser context this uploader was created for.
content::BrowserContext* context_;