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) { | |
rkc
2013/11/01 19:57:39
As mentioned in the IDL, this could just be a chec
| |
221 scoped_ptr<std::string> histograms(service->GetHistograms()); | |
222 feedback_data->SetAndCompressHistograms(*histograms); | |
223 } | |
224 | |
218 service->SendFeedback( | 225 service->SendFeedback( |
219 GetProfile(), | 226 GetProfile(), |
220 feedback_data, | 227 feedback_data, |
221 base::Bind(&FeedbackPrivateSendFeedbackFunction::OnCompleted, this)); | 228 base::Bind(&FeedbackPrivateSendFeedbackFunction::OnCompleted, this)); |
229 | |
222 return true; | 230 return true; |
223 } | 231 } |
224 | 232 |
225 void FeedbackPrivateSendFeedbackFunction::OnCompleted( | 233 void FeedbackPrivateSendFeedbackFunction::OnCompleted( |
226 bool success) { | 234 bool success) { |
227 results_ = feedback_private::SendFeedback::Results::Create( | 235 results_ = feedback_private::SendFeedback::Results::Create( |
228 success ? feedback_private::STATUS_SUCCESS : | 236 success ? feedback_private::STATUS_SUCCESS : |
229 feedback_private::STATUS_DELAYED); | 237 feedback_private::STATUS_DELAYED); |
230 SendResponse(true); | 238 SendResponse(true); |
231 } | 239 } |
232 | 240 |
233 } // namespace extensions | 241 } // namespace extensions |
OLD | NEW |