Index: chrome/browser/feedback/feedback_uploader.cc |
diff --git a/chrome/browser/feedback/feedback_uploader.cc b/chrome/browser/feedback/feedback_uploader.cc |
deleted file mode 100644 |
index 1798e3bfdd976abc78708860fd7cbe0dadf24a98..0000000000000000000000000000000000000000 |
--- a/chrome/browser/feedback/feedback_uploader.cc |
+++ /dev/null |
@@ -1,96 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/feedback/feedback_uploader.h" |
- |
-#include "base/callback.h" |
-#include "base/command_line.h" |
-#include "base/files/file_path.h" |
-#include "base/sequenced_task_runner.h" |
-#include "base/task_runner_util.h" |
-#include "base/threading/sequenced_worker_pool.h" |
-#include "chrome/browser/feedback/feedback_report.h" |
- |
-namespace feedback { |
-namespace { |
- |
-const char kFeedbackPostUrl[] = |
- "https://www.google.com/tools/feedback/chrome/__submit"; |
- |
-const int64 kRetryDelayMinutes = 60; |
- |
-const base::FilePath::CharType kFeedbackReportPath[] = |
- FILE_PATH_LITERAL("Feedback Reports"); |
- |
-} // namespace |
- |
-bool FeedbackUploader::ReportsUploadTimeComparator::operator()( |
- FeedbackReport* a, FeedbackReport* b) const { |
- return a->upload_at() > b->upload_at(); |
-} |
- |
-FeedbackUploader::FeedbackUploader(const base::FilePath& path, |
- base::SequencedWorkerPool* pool) |
- : report_path_(path.Append(kFeedbackReportPath)), |
- retry_delay_(base::TimeDelta::FromMinutes(kRetryDelayMinutes)), |
- url_(kFeedbackPostUrl), |
- pool_(pool) { |
- dispatch_callback_ = base::Bind(&FeedbackUploader::DispatchReport, |
- AsWeakPtr()); |
-} |
- |
-FeedbackUploader::~FeedbackUploader() {} |
- |
-void FeedbackUploader::QueueReport(const std::string& data) { |
- QueueReportWithDelay(data, base::TimeDelta()); |
-} |
- |
-void FeedbackUploader::UpdateUploadTimer() { |
- if (reports_queue_.empty()) |
- return; |
- |
- scoped_refptr<FeedbackReport> report = reports_queue_.top(); |
- base::Time now = base::Time::Now(); |
- if (report->upload_at() <= now) { |
- reports_queue_.pop(); |
- dispatch_callback_.Run(report->data()); |
- report->DeleteReportOnDisk(); |
- } else { |
- // Stop the old timer and start an updated one. |
- if (upload_timer_.IsRunning()) |
- upload_timer_.Stop(); |
- upload_timer_.Start( |
- FROM_HERE, report->upload_at() - now, this, |
- &FeedbackUploader::UpdateUploadTimer); |
- } |
-} |
- |
-void FeedbackUploader::RetryReport(const std::string& data) { |
- QueueReportWithDelay(data, retry_delay_); |
-} |
- |
-void FeedbackUploader::QueueReportWithDelay(const std::string& data, |
- base::TimeDelta delay) { |
- // Uses a BLOCK_SHUTDOWN file task runner because we really don't want to |
- // lose reports. |
- scoped_refptr<base::SequencedTaskRunner> task_runner = |
- pool_->GetSequencedTaskRunnerWithShutdownBehavior( |
- pool_->GetSequenceToken(), |
- base::SequencedWorkerPool::BLOCK_SHUTDOWN); |
- |
- reports_queue_.push(new FeedbackReport(report_path_, |
- base::Time::Now() + delay, |
- data, |
- task_runner)); |
- UpdateUploadTimer(); |
-} |
- |
-void FeedbackUploader::setup_for_test( |
- const ReportDataCallback& dispatch_callback, |
- const base::TimeDelta& retry_delay) { |
- dispatch_callback_ = dispatch_callback; |
- retry_delay_ = retry_delay; |
-} |
- |
-} // namespace feedback |