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

Unified Diff: chrome/browser/chromeos/policy/system_log_uploader.cc

Issue 1875443003: Retry uploading in UploadJobImpl when error occurs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Threading checks, logging, test improvements Created 4 years, 7 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: chrome/browser/chromeos/policy/system_log_uploader.cc
diff --git a/chrome/browser/chromeos/policy/system_log_uploader.cc b/chrome/browser/chromeos/policy/system_log_uploader.cc
index 58e83b5331f572d645fbb6dd9714acad6586381b..43c6c0b2011aa821d1a32a03b87a962d428d2645 100644
--- a/chrome/browser/chromeos/policy/system_log_uploader.cc
+++ b/chrome/browser/chromeos/policy/system_log_uploader.cc
@@ -12,6 +12,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/task_runner_util.h"
+#include "base/thread_task_runner_handle.h"
Andrew T Wilson (Slow) 2016/05/10 22:00:42 Is this include necessary still?
Marton Hunyady 2016/05/11 12:55:30 Done.
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/policy/upload_job_impl.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service.h"
@@ -64,7 +65,8 @@ std::unique_ptr<policy::SystemLogUploader::SystemLogs> ReadFiles() {
// create an upload job and load system logs from the disk.
class SystemLogDelegate : public policy::SystemLogUploader::Delegate {
public:
- SystemLogDelegate();
+ explicit SystemLogDelegate(
+ scoped_refptr<base::SequencedTaskRunner> task_runner);
~SystemLogDelegate() override;
// SystemLogUploader::Delegate:
@@ -75,10 +77,15 @@ class SystemLogDelegate : public policy::SystemLogUploader::Delegate {
policy::UploadJob::Delegate* delegate) override;
private:
+ // TaskRunner used for scheduling upload the upload task.
+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
+
DISALLOW_COPY_AND_ASSIGN(SystemLogDelegate);
};
-SystemLogDelegate::SystemLogDelegate() {}
+SystemLogDelegate::SystemLogDelegate(
+ scoped_refptr<base::SequencedTaskRunner> task_runner)
+ : task_runner_(task_runner) {}
SystemLogDelegate::~SystemLogDelegate() {}
@@ -104,8 +111,8 @@ std::unique_ptr<policy::UploadJob> SystemLogDelegate::CreateUploadJob(
return std::unique_ptr<policy::UploadJob>(new policy::UploadJobImpl(
upload_url, robot_account_id, device_oauth2_token_service,
system_request_context, delegate,
- base::WrapUnique(
- new policy::UploadJobImpl::RandomMimeBoundaryGenerator)));
+ base::WrapUnique(new policy::UploadJobImpl::RandomMimeBoundaryGenerator),
+ task_runner_));
}
// Returns the system log upload frequency.
@@ -165,7 +172,7 @@ SystemLogUploader::SystemLogUploader(
upload_enabled_(false),
weak_factory_(this) {
if (!syslog_delegate_)
- syslog_delegate_.reset(new SystemLogDelegate());
+ syslog_delegate_.reset(new SystemLogDelegate(task_runner));
DCHECK(syslog_delegate_);
// Watch for policy changes.

Powered by Google App Engine
This is Rietveld 408576698