OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/api/feedback_private/feedback_private_api.h" | 5 #include "chrome/browser/extensions/api/feedback_private/feedback_private_api.h" |
6 | 6 |
7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 bool FeedbackPrivateGetStringsFunction::RunImpl() { | 100 bool FeedbackPrivateGetStringsFunction::RunImpl() { |
101 DictionaryValue* dict = new DictionaryValue(); | 101 DictionaryValue* dict = new DictionaryValue(); |
102 SetResult(dict); | 102 SetResult(dict); |
103 | 103 |
104 #define SET_STRING(id, idr) \ | 104 #define SET_STRING(id, idr) \ |
105 dict->SetString(id, l10n_util::GetStringUTF16(idr)) | 105 dict->SetString(id, l10n_util::GetStringUTF16(idr)) |
106 SET_STRING("page-title", IDS_FEEDBACK_REPORT_PAGE_TITLE); | 106 SET_STRING("page-title", IDS_FEEDBACK_REPORT_PAGE_TITLE); |
107 SET_STRING("page-url", IDS_FEEDBACK_REPORT_URL_LABEL); | 107 SET_STRING("page-url", IDS_FEEDBACK_REPORT_URL_LABEL); |
108 SET_STRING("screenshot", IDS_FEEDBACK_SCREENSHOT_LABEL); | 108 SET_STRING("screenshot", IDS_FEEDBACK_SCREENSHOT_LABEL); |
109 SET_STRING("user-email", IDS_FEEDBACK_USER_EMAIL_LABEL); | 109 SET_STRING("user-email", IDS_FEEDBACK_USER_EMAIL_LABEL); |
110 SET_STRING("sysinfo", IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_CHKBOX); | 110 SET_STRING("sys-info", |
| 111 IDS_FEEDBACK_INCLUDE_SYSTEM_INFORMATION_AND_METRICS_CHKBOX); |
111 SET_STRING("attach-file-label", IDS_FEEDBACK_ATTACH_FILE_LABEL); | 112 SET_STRING("attach-file-label", IDS_FEEDBACK_ATTACH_FILE_LABEL); |
112 SET_STRING("attach-file-note", IDS_FEEDBACK_ATTACH_FILE_NOTE); | 113 SET_STRING("attach-file-note", IDS_FEEDBACK_ATTACH_FILE_NOTE); |
113 SET_STRING("attach-file-to-big", IDS_FEEDBACK_ATTACH_FILE_TO_BIG); | 114 SET_STRING("attach-file-to-big", IDS_FEEDBACK_ATTACH_FILE_TO_BIG); |
114 SET_STRING("reading-file", IDS_FEEDBACK_READING_FILE); | 115 SET_STRING("reading-file", IDS_FEEDBACK_READING_FILE); |
115 SET_STRING("send-report", IDS_FEEDBACK_SEND_REPORT); | 116 SET_STRING("send-report", IDS_FEEDBACK_SEND_REPORT); |
116 SET_STRING("cancel", IDS_CANCEL); | 117 SET_STRING("cancel", IDS_CANCEL); |
117 SET_STRING("no-description", IDS_FEEDBACK_NO_DESCRIPTION); | 118 SET_STRING("no-description", IDS_FEEDBACK_NO_DESCRIPTION); |
118 SET_STRING("privacy-note", IDS_FEEDBACK_PRIVACY_NOTE); | 119 SET_STRING("privacy-note", IDS_FEEDBACK_PRIVACY_NOTE); |
119 SET_STRING("performance-trace", | 120 SET_STRING("performance-trace", |
120 IDS_FEEDBACK_INCLUDE_PERFORMANCE_TRACE_CHECKBOX); | 121 IDS_FEEDBACK_INCLUDE_PERFORMANCE_TRACE_CHECKBOX); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 for (SystemInformationList::iterator it = sys_info->begin(); | 209 for (SystemInformationList::iterator it = sys_info->begin(); |
209 it != sys_info->end(); ++it) | 210 it != sys_info->end(); ++it) |
210 (*sys_logs.get())[it->get()->key] = it->get()->value; | 211 (*sys_logs.get())[it->get()->key] = it->get()->value; |
211 } | 212 } |
212 feedback_data->SetAndCompressSystemInfo(sys_logs.Pass()); | 213 feedback_data->SetAndCompressSystemInfo(sys_logs.Pass()); |
213 | 214 |
214 FeedbackService* service = FeedbackPrivateAPI::GetFactoryInstance() | 215 FeedbackService* service = FeedbackPrivateAPI::GetFactoryInstance() |
215 ->GetForProfile(GetProfile()) | 216 ->GetForProfile(GetProfile()) |
216 ->GetService(); | 217 ->GetService(); |
217 DCHECK(service); | 218 DCHECK(service); |
| 219 |
| 220 if (feedback_info.send_histograms) { |
| 221 scoped_ptr<std::string> histograms(new std::string); |
| 222 service->GetHistograms(histograms.get()); |
| 223 if (!histograms->empty()) |
| 224 feedback_data->SetAndCompressHistograms(histograms.Pass()); |
| 225 } |
| 226 |
218 service->SendFeedback( | 227 service->SendFeedback( |
219 GetProfile(), | 228 GetProfile(), |
220 feedback_data, | 229 feedback_data, |
221 base::Bind(&FeedbackPrivateSendFeedbackFunction::OnCompleted, this)); | 230 base::Bind(&FeedbackPrivateSendFeedbackFunction::OnCompleted, this)); |
| 231 |
222 return true; | 232 return true; |
223 } | 233 } |
224 | 234 |
225 void FeedbackPrivateSendFeedbackFunction::OnCompleted( | 235 void FeedbackPrivateSendFeedbackFunction::OnCompleted( |
226 bool success) { | 236 bool success) { |
227 results_ = feedback_private::SendFeedback::Results::Create( | 237 results_ = feedback_private::SendFeedback::Results::Create( |
228 success ? feedback_private::STATUS_SUCCESS : | 238 success ? feedback_private::STATUS_SUCCESS : |
229 feedback_private::STATUS_DELAYED); | 239 feedback_private::STATUS_DELAYED); |
230 SendResponse(true); | 240 SendResponse(true); |
231 } | 241 } |
232 | 242 |
233 } // namespace extensions | 243 } // namespace extensions |
OLD | NEW |