#include "components/feedback/feedback_report.h"
#include "base/base_paths.h"
#include "base/feature_list.h"
#include "base/files/file.h"
#include "base/files/file_enumerator.h"
#include "base/files/file_util.h"
#include "base/files/important_file_writer.h"
#include "base/functional/bind.h"
#include "base/path_service.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/uuid.h"
#include "components/feedback/features.h"
#include "components/feedback/feedback_common.h"
#include "components/feedback/feedback_constants.h"
#include "components/feedback/proto/extension.pb.h"
namespace feedback {
namespace {
constexpr base::FilePath::CharType kFeedbackReportFilenameWildcard[] = …);
constexpr char kFeedbackReportFilenamePrefix[] = …;
void WriteReportOnBlockingPool(const base::FilePath reports_path,
const base::FilePath& file,
scoped_refptr<FeedbackReport> report) { … }
}
FeedbackReport::FeedbackReport(
const base::FilePath& path,
const base::Time& upload_at,
std::unique_ptr<std::string> data,
scoped_refptr<base::SequencedTaskRunner> task_runner,
bool has_email,
int product_id)
: … { … }
FeedbackReport::FeedbackReport(
base::FilePath path,
std::unique_ptr<std::string> data,
scoped_refptr<base::SequencedTaskRunner> task_runner,
bool has_email,
int product_id)
: … { … }
const char FeedbackReport::kCrashReportIdsKey[] = …;
const char FeedbackReport::kAllCrashReportIdsKey[] = …;
const char FeedbackReport::kMemUsageWithTabTitlesKey[] = …;
const char FeedbackReport::kFeedbackUserCtlConsentKey[] = …;
void FeedbackReport::LoadReportsAndQueue(const base::FilePath& user_dir,
const QueueCallback& callback) { … }
void FeedbackReport::DeleteReportOnDisk() { … }
bool FeedbackReport::should_include_variations() const { … }
FeedbackReport::~FeedbackReport() = default;
}