Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Side by Side Diff: chrome/browser/extensions/api/feedback_private/feedback_private_api.cc

Issue 55363003: Send compressed histograms with system logs when sending feedback. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase with grt's changes Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/extensions/api/feedback_private/feedback_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698