OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/browser/tracing/tracing_ui.h" | 5 #include "content/browser/tracing/tracing_ui.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "content/public/browser/web_ui.h" | 33 #include "content/public/browser/web_ui.h" |
34 #include "content/public/browser/web_ui_data_source.h" | 34 #include "content/public/browser/web_ui_data_source.h" |
35 #include "content/public/common/content_client.h" | 35 #include "content/public/common/content_client.h" |
36 #include "content/public/common/url_constants.h" | 36 #include "content/public/common/url_constants.h" |
37 | 37 |
38 namespace content { | 38 namespace content { |
39 namespace { | 39 namespace { |
40 | 40 |
41 void OnGotCategories(const WebUIDataSource::GotDataCallback& callback, | 41 void OnGotCategories(const WebUIDataSource::GotDataCallback& callback, |
42 const std::set<std::string>& categorySet) { | 42 const std::set<std::string>& categorySet) { |
43 scoped_ptr<base::ListValue> category_list(new base::ListValue()); | 43 base::ListValue category_list; |
44 for (std::set<std::string>::const_iterator it = categorySet.begin(); | 44 for (std::set<std::string>::const_iterator it = categorySet.begin(); |
45 it != categorySet.end(); it++) { | 45 it != categorySet.end(); it++) { |
46 category_list->AppendString(*it); | 46 category_list.AppendString(*it); |
47 } | 47 } |
48 | 48 |
49 base::RefCountedString* res = new base::RefCountedString(); | 49 base::RefCountedString* res = new base::RefCountedString(); |
50 base::JSONWriter::Write(category_list.get(), &res->data()); | 50 base::JSONWriter::Write(category_list, &res->data()); |
51 callback.Run(res); | 51 callback.Run(res); |
52 } | 52 } |
53 | 53 |
54 bool GetTracingOptions(const std::string& data64, | 54 bool GetTracingOptions(const std::string& data64, |
55 base::trace_event::CategoryFilter* category_filter, | 55 base::trace_event::CategoryFilter* category_filter, |
56 base::trace_event::TraceOptions* tracing_options) { | 56 base::trace_event::TraceOptions* tracing_options) { |
57 std::string data; | 57 std::string data; |
58 if (!base::Base64Decode(data64, &data)) { | 58 if (!base::Base64Decode(data64, &data)) { |
59 LOG(ERROR) << "Options were not base64 encoded."; | 59 LOG(ERROR) << "Options were not base64 encoded."; |
60 return false; | 60 return false; |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 void OnTraceBufferUsageResult(const WebUIDataSource::GotDataCallback& callback, | 126 void OnTraceBufferUsageResult(const WebUIDataSource::GotDataCallback& callback, |
127 float percent_full, | 127 float percent_full, |
128 size_t approximate_event_count) { | 128 size_t approximate_event_count) { |
129 std::string str = base::DoubleToString(percent_full); | 129 std::string str = base::DoubleToString(percent_full); |
130 callback.Run(base::RefCountedString::TakeString(&str)); | 130 callback.Run(base::RefCountedString::TakeString(&str)); |
131 } | 131 } |
132 | 132 |
133 void OnTraceBufferStatusResult(const WebUIDataSource::GotDataCallback& callback, | 133 void OnTraceBufferStatusResult(const WebUIDataSource::GotDataCallback& callback, |
134 float percent_full, | 134 float percent_full, |
135 size_t approximate_event_count) { | 135 size_t approximate_event_count) { |
136 scoped_ptr<base::DictionaryValue> status(new base::DictionaryValue()); | 136 base::DictionaryValue status; |
137 status->SetDouble("percentFull", percent_full); | 137 status.SetDouble("percentFull", percent_full); |
138 status->SetInteger("approximateEventCount", approximate_event_count); | 138 status.SetInteger("approximateEventCount", approximate_event_count); |
139 | 139 |
140 std::string status_json; | 140 std::string status_json; |
141 base::JSONWriter::Write(status.get(), &status_json); | 141 base::JSONWriter::Write(status, &status_json); |
142 | 142 |
143 base::RefCountedString* status_base64 = new base::RefCountedString(); | 143 base::RefCountedString* status_base64 = new base::RefCountedString(); |
144 base::Base64Encode(status_json, &status_base64->data()); | 144 base::Base64Encode(status_json, &status_base64->data()); |
145 callback.Run(status_base64); | 145 callback.Run(status_base64); |
146 } | 146 } |
147 | 147 |
148 void OnMonitoringEnabledAck(const WebUIDataSource::GotDataCallback& callback); | 148 void OnMonitoringEnabledAck(const WebUIDataSource::GotDataCallback& callback); |
149 | 149 |
150 bool EnableMonitoring(const std::string& data64, | 150 bool EnableMonitoring(const std::string& data64, |
151 const WebUIDataSource::GotDataCallback& callback) { | 151 const WebUIDataSource::GotDataCallback& callback) { |
(...skipping 18 matching lines...) Expand all Loading... |
170 callback.Run(res); | 170 callback.Run(res); |
171 } | 171 } |
172 | 172 |
173 void GetMonitoringStatus(const WebUIDataSource::GotDataCallback& callback) { | 173 void GetMonitoringStatus(const WebUIDataSource::GotDataCallback& callback) { |
174 bool is_monitoring; | 174 bool is_monitoring; |
175 base::trace_event::CategoryFilter category_filter(""); | 175 base::trace_event::CategoryFilter category_filter(""); |
176 base::trace_event::TraceOptions options; | 176 base::trace_event::TraceOptions options; |
177 TracingController::GetInstance()->GetMonitoringStatus( | 177 TracingController::GetInstance()->GetMonitoringStatus( |
178 &is_monitoring, &category_filter, &options); | 178 &is_monitoring, &category_filter, &options); |
179 | 179 |
180 scoped_ptr<base::DictionaryValue> | 180 base::DictionaryValue monitoring_options; |
181 monitoring_options(new base::DictionaryValue()); | 181 monitoring_options.SetBoolean("isMonitoring", is_monitoring); |
182 monitoring_options->SetBoolean("isMonitoring", is_monitoring); | 182 monitoring_options.SetString("categoryFilter", category_filter.ToString()); |
183 monitoring_options->SetString("categoryFilter", category_filter.ToString()); | 183 monitoring_options.SetBoolean("useSystemTracing", options.enable_systrace); |
184 monitoring_options->SetBoolean("useSystemTracing", options.enable_systrace); | 184 monitoring_options.SetBoolean( |
185 monitoring_options->SetBoolean( | |
186 "useContinuousTracing", | 185 "useContinuousTracing", |
187 options.record_mode == base::trace_event::RECORD_CONTINUOUSLY); | 186 options.record_mode == base::trace_event::RECORD_CONTINUOUSLY); |
188 monitoring_options->SetBoolean("useSampling", options.enable_sampling); | 187 monitoring_options.SetBoolean("useSampling", options.enable_sampling); |
189 | 188 |
190 std::string monitoring_options_json; | 189 std::string monitoring_options_json; |
191 base::JSONWriter::Write(monitoring_options.get(), &monitoring_options_json); | 190 base::JSONWriter::Write(monitoring_options, &monitoring_options_json); |
192 | 191 |
193 base::RefCountedString* monitoring_options_base64 = | 192 base::RefCountedString* monitoring_options_base64 = |
194 new base::RefCountedString(); | 193 new base::RefCountedString(); |
195 base::Base64Encode(monitoring_options_json, | 194 base::Base64Encode(monitoring_options_json, |
196 &monitoring_options_base64->data()); | 195 &monitoring_options_base64->data()); |
197 callback.Run(monitoring_options_base64); | 196 callback.Run(monitoring_options_base64); |
198 } | 197 } |
199 | 198 |
200 void TracingCallbackWrapper(const WebUIDataSource::GotDataCallback& callback, | 199 void TracingCallbackWrapper(const WebUIDataSource::GotDataCallback& callback, |
201 base::RefCountedString* data) { | 200 base::RefCountedString* data) { |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 web_ui()->CallJavascriptFunction("onUploadComplete", | 352 web_ui()->CallJavascriptFunction("onUploadComplete", |
354 base::StringValue(feedback)); | 353 base::StringValue(feedback)); |
355 } else { | 354 } else { |
356 web_ui()->CallJavascriptFunction("onUploadError", | 355 web_ui()->CallJavascriptFunction("onUploadError", |
357 base::StringValue(feedback)); | 356 base::StringValue(feedback)); |
358 } | 357 } |
359 trace_uploader_.reset(); | 358 trace_uploader_.reset(); |
360 } | 359 } |
361 | 360 |
362 } // namespace content | 361 } // namespace content |
OLD | NEW |