| Index: components/feedback/feedback_uploader_chrome.cc
|
| diff --git a/components/feedback/feedback_uploader_chrome.cc b/components/feedback/feedback_uploader_chrome.cc
|
| index 0b18305d920b12584508bebbf8cb9d4b63cfb666..fe99da76a8cbfd61b96e935c9283c936afdb1adb 100644
|
| --- a/components/feedback/feedback_uploader_chrome.cc
|
| +++ b/components/feedback/feedback_uploader_chrome.cc
|
| @@ -20,6 +20,7 @@
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/storage_partition.h"
|
| #include "net/base/load_flags.h"
|
| +#include "net/traffic_annotation/network_traffic_annotation.h"
|
| #include "net/url_request/url_fetcher.h"
|
| #include "url/gurl.h"
|
|
|
| @@ -47,14 +48,45 @@ FeedbackUploaderChrome::FeedbackUploaderChrome(
|
| void FeedbackUploaderChrome::DispatchReport(const std::string& data) {
|
| GURL post_url(url_);
|
|
|
| + net::NetworkTrafficAnnotationTag traffic_annotation =
|
| + net::DefineNetworkTrafficAnnotation("chrome_feedback_report_app", R"(
|
| + semantics {
|
| + sender: "Chrome Feedback Report App"
|
| + description:
|
| + "Users can press Alt+Shift+i to report a bug or a feedback in "
|
| + "general. Along with the free-form text they entered, system logs "
|
| + "that helps in diagnosis of the issue are sent to Google. This "
|
| + "service uploads the report to Google Feedback server."
|
| + trigger:
|
| + "When user chooses to send a feedback to Google."
|
| + data:
|
| + "The free-form text that user has entered and useful debugging "
|
| + "logs (UI logs, Chrome logs, kernel logs, auto update engine logs, "
|
| + "ARC++ logs, etc.). The logs are anonymized to remove any "
|
| + "user-private data. The user can view the system information "
|
| + "before sending, and choose to send the feedback report without "
|
| + "system information and the logs (unchecking 'Send system "
|
| + "information' prevents sending logs as well), the screenshot, or "
|
| + "even his/her email address."
|
| + destination: GOOGLE_OWNED_SERVICE
|
| + }
|
| + policy {
|
| + cookies_allowed: false
|
| + setting:
|
| + "This feature cannot be disabled by settings and is only activated "
|
| + "by direct user request."
|
| + policy_exception_justification: "Not implemented."
|
| + })");
|
| // Note: FeedbackUploaderDelegate deletes itself and the fetcher.
|
| net::URLFetcher* fetcher =
|
| net::URLFetcher::Create(
|
| post_url, net::URLFetcher::POST,
|
| new FeedbackUploaderDelegate(
|
| - data, base::Bind(&FeedbackUploaderChrome::UpdateUploadTimer,
|
| - AsWeakPtr()),
|
| - base::Bind(&FeedbackUploaderChrome::RetryReport, AsWeakPtr())))
|
| + data,
|
| + base::Bind(&FeedbackUploaderChrome::UpdateUploadTimer,
|
| + AsWeakPtr()),
|
| + base::Bind(&FeedbackUploaderChrome::RetryReport, AsWeakPtr())),
|
| + traffic_annotation)
|
| .release();
|
| data_use_measurement::DataUseUserData::AttachToFetcher(
|
| fetcher, data_use_measurement::DataUseUserData::FEEDBACK_UPLOADER);
|
|
|