| Index: chrome/browser/ui/webui/feedback_ui.cc
|
| diff --git a/chrome/browser/ui/webui/feedback_ui.cc b/chrome/browser/ui/webui/feedback_ui.cc
|
| index 0f58e2cace64817a09ac47f28d87ea5b05f1ad21..4f11ab14c07f3ebba0eb08f847388a0b1fff88f9 100644
|
| --- a/chrome/browser/ui/webui/feedback_ui.cc
|
| +++ b/chrome/browser/ui/webui/feedback_ui.cc
|
| @@ -24,6 +24,7 @@
|
| #include "chrome/browser/download/download_prefs.h"
|
| #include "chrome/browser/feedback/feedback_data.h"
|
| #include "chrome/browser/feedback/feedback_util.h"
|
| +#include "chrome/browser/feedback/tracing_manager.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/browser/signin/signin_manager.h"
|
| @@ -86,6 +87,7 @@ const char kCustomPageUrlParameter[] = "customPageUrl=";
|
| #if defined(OS_CHROMEOS)
|
|
|
| const char kTimestampParameter[] = "timestamp=";
|
| +const char kTraceIdParameter[] = "traceId=";
|
|
|
| const size_t kMaxSavedScreenshots = 2;
|
| size_t kMaxNumScanFiles = 1000;
|
| @@ -236,6 +238,13 @@ void ShowFeedbackPage(Browser* browser,
|
| #if defined(OS_CHROMEOS)
|
| feedback_url = feedback_url + "&" + kTimestampParameter +
|
| net::EscapeUrlEncodedData(timestamp, false);
|
| +
|
| + // The manager is only available if tracing is enabled.
|
| + if (TracingManager* manager = TracingManager::Get()) {
|
| + int trace_id = manager->RequestTrace();
|
| + feedback_url = feedback_url + "&" + kTraceIdParameter +
|
| + base::IntToString(trace_id);
|
| + }
|
| #endif
|
| chrome::ShowSingletonTab(browser, GURL(feedback_url));
|
| }
|
| @@ -307,6 +316,8 @@ content::WebUIDataSource* CreateFeedbackUIHTMLSource(bool successful_init) {
|
| source->AddLocalizedString("user-email", IDS_FEEDBACK_USER_EMAIL_LABEL);
|
|
|
| #if defined(OS_CHROMEOS)
|
| + source->AddLocalizedString("performance-trace",
|
| + IDS_FEEDBACK_INCLUDE_PERFORMANCE_TRACE_CHECKBOX);
|
| source->AddLocalizedString("sysinfo",
|
| IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_CHKBOX);
|
| source->AddLocalizedString("currentscreenshots",
|
| @@ -608,6 +619,11 @@ void FeedbackHandler::HandleSendReport(const ListValue* list_value) {
|
| (*i++)->GetAsString(&sys_info_checkbox);
|
| bool send_sys_info = (sys_info_checkbox == "true");
|
|
|
| + std::string trace_id_str;
|
| + (*i++)->GetAsString(&trace_id_str);
|
| + int trace_id = 0;
|
| + base::StringToInt(trace_id_str, &trace_id);
|
| +
|
| std::string attached_filename;
|
| scoped_ptr<std::string> attached_filedata;
|
| // If we have an attached file, we'll still have more data in the list.
|
| @@ -645,6 +661,7 @@ void FeedbackHandler::HandleSendReport(const ListValue* list_value) {
|
| feedback_data_->set_attached_filename(attached_filename);
|
| feedback_data_->set_send_sys_info(send_sys_info);
|
| feedback_data_->set_timestamp(timestamp_);
|
| + feedback_data_->set_trace_id(trace_id);
|
| #endif
|
|
|
| // Signal the feedback object that the data from the feedback page has been
|
|
|