| 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
|
|
|