| 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 |