OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ui/webui/chromeos/power_ui.h" | 5 #include "chrome/browser/ui/webui/chromeos/power_ui.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
| 9 #include <utility> |
| 10 |
9 #include "base/bind.h" | 11 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 12 #include "base/bind_helpers.h" |
11 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
12 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
13 #include "base/time/time.h" | 15 #include "base/time/time.h" |
14 #include "base/values.h" | 16 #include "base/values.h" |
15 #include "chrome/browser/chromeos/power/power_data_collector.h" | 17 #include "chrome/browser/chromeos/power/power_data_collector.h" |
16 #include "chrome/browser/profiles/profile.h" | 18 #include "chrome/browser/profiles/profile.h" |
17 #include "chrome/common/url_constants.h" | 19 #include "chrome/common/url_constants.h" |
18 #include "chrome/grit/browser_resources.h" | 20 #include "chrome/grit/browser_resources.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 PowerDataCollector::Get()->power_supply_data(); | 86 PowerDataCollector::Get()->power_supply_data(); |
85 base::ListValue js_power_supply_data; | 87 base::ListValue js_power_supply_data; |
86 for (size_t i = 0; i < power_supply.size(); ++i) { | 88 for (size_t i = 0; i < power_supply.size(); ++i) { |
87 const PowerDataCollector::PowerSupplySample& sample = power_supply[i]; | 89 const PowerDataCollector::PowerSupplySample& sample = power_supply[i]; |
88 std::unique_ptr<base::DictionaryValue> element(new base::DictionaryValue); | 90 std::unique_ptr<base::DictionaryValue> element(new base::DictionaryValue); |
89 element->SetDouble("batteryPercent", sample.battery_percent); | 91 element->SetDouble("batteryPercent", sample.battery_percent); |
90 element->SetDouble("batteryDischargeRate", sample.battery_discharge_rate); | 92 element->SetDouble("batteryDischargeRate", sample.battery_discharge_rate); |
91 element->SetBoolean("externalPower", sample.external_power); | 93 element->SetBoolean("externalPower", sample.external_power); |
92 element->SetDouble("time", sample.time.ToJsTime()); | 94 element->SetDouble("time", sample.time.ToJsTime()); |
93 | 95 |
94 js_power_supply_data.Append(element.release()); | 96 js_power_supply_data.Append(std::move(element)); |
95 } | 97 } |
96 | 98 |
97 base::ListValue js_system_resumed_data; | 99 base::ListValue js_system_resumed_data; |
98 GetJsSystemResumedData(&js_system_resumed_data); | 100 GetJsSystemResumedData(&js_system_resumed_data); |
99 | 101 |
100 web_ui()->CallJavascriptFunctionUnsafe(kOnRequestBatteryChargeDataFunction, | 102 web_ui()->CallJavascriptFunctionUnsafe(kOnRequestBatteryChargeDataFunction, |
101 js_power_supply_data, | 103 js_power_supply_data, |
102 js_system_resumed_data); | 104 js_system_resumed_data); |
103 } | 105 } |
104 | 106 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 | 145 |
144 const std::deque<PowerDataCollector::SystemResumedSample>& system_resumed = | 146 const std::deque<PowerDataCollector::SystemResumedSample>& system_resumed = |
145 PowerDataCollector::Get()->system_resumed_data(); | 147 PowerDataCollector::Get()->system_resumed_data(); |
146 for (size_t i = 0; i < system_resumed.size(); ++i) { | 148 for (size_t i = 0; i < system_resumed.size(); ++i) { |
147 const PowerDataCollector::SystemResumedSample& sample = system_resumed[i]; | 149 const PowerDataCollector::SystemResumedSample& sample = system_resumed[i]; |
148 std::unique_ptr<base::DictionaryValue> element(new base::DictionaryValue); | 150 std::unique_ptr<base::DictionaryValue> element(new base::DictionaryValue); |
149 element->SetDouble("sleepDuration", | 151 element->SetDouble("sleepDuration", |
150 sample.sleep_duration.InMillisecondsF()); | 152 sample.sleep_duration.InMillisecondsF()); |
151 element->SetDouble("time", sample.time.ToJsTime()); | 153 element->SetDouble("time", sample.time.ToJsTime()); |
152 | 154 |
153 data->Append(element.release()); | 155 data->Append(std::move(element)); |
154 } | 156 } |
155 } | 157 } |
156 | 158 |
157 void PowerMessageHandler::GetJsStateOccupancyData( | 159 void PowerMessageHandler::GetJsStateOccupancyData( |
158 const std::vector<CpuDataCollector::StateOccupancySampleDeque>& data, | 160 const std::vector<CpuDataCollector::StateOccupancySampleDeque>& data, |
159 const std::vector<std::string>& state_names, | 161 const std::vector<std::string>& state_names, |
160 base::ListValue *js_data) { | 162 base::ListValue *js_data) { |
161 for (unsigned int cpu = 0; cpu < data.size(); ++cpu) { | 163 for (unsigned int cpu = 0; cpu < data.size(); ++cpu) { |
162 const CpuDataCollector::StateOccupancySampleDeque& sample_deque = data[cpu]; | 164 const CpuDataCollector::StateOccupancySampleDeque& sample_deque = data[cpu]; |
163 std::unique_ptr<base::ListValue> js_sample_list(new base::ListValue); | 165 std::unique_ptr<base::ListValue> js_sample_list(new base::ListValue); |
164 for (unsigned int i = 0; i < sample_deque.size(); ++i) { | 166 for (unsigned int i = 0; i < sample_deque.size(); ++i) { |
165 const CpuDataCollector::StateOccupancySample& sample = sample_deque[i]; | 167 const CpuDataCollector::StateOccupancySample& sample = sample_deque[i]; |
166 std::unique_ptr<base::DictionaryValue> js_sample( | 168 std::unique_ptr<base::DictionaryValue> js_sample( |
167 new base::DictionaryValue); | 169 new base::DictionaryValue); |
168 js_sample->SetDouble("time", sample.time.ToJsTime()); | 170 js_sample->SetDouble("time", sample.time.ToJsTime()); |
169 js_sample->SetBoolean("cpuOnline", sample.cpu_online); | 171 js_sample->SetBoolean("cpuOnline", sample.cpu_online); |
170 | 172 |
171 std::unique_ptr<base::DictionaryValue> state_dict( | 173 std::unique_ptr<base::DictionaryValue> state_dict( |
172 new base::DictionaryValue); | 174 new base::DictionaryValue); |
173 for (size_t index = 0; index < sample.time_in_state.size(); ++index) { | 175 for (size_t index = 0; index < sample.time_in_state.size(); ++index) { |
174 state_dict->SetDouble(state_names[index], | 176 state_dict->SetDouble(state_names[index], |
175 static_cast<double>(sample.time_in_state[index])); | 177 static_cast<double>(sample.time_in_state[index])); |
176 } | 178 } |
177 js_sample->Set("timeInState", state_dict.release()); | 179 js_sample->Set("timeInState", state_dict.release()); |
178 | 180 |
179 js_sample_list->Append(js_sample.release()); | 181 js_sample_list->Append(std::move(js_sample)); |
180 } | 182 } |
181 js_data->Append(js_sample_list.release()); | 183 js_data->Append(std::move(js_sample_list)); |
182 } | 184 } |
183 } | 185 } |
184 | 186 |
185 } // namespace | 187 } // namespace |
186 | 188 |
187 PowerUI::PowerUI(content::WebUI* web_ui) : content::WebUIController(web_ui) { | 189 PowerUI::PowerUI(content::WebUI* web_ui) : content::WebUIController(web_ui) { |
188 web_ui->AddMessageHandler(new PowerMessageHandler()); | 190 web_ui->AddMessageHandler(new PowerMessageHandler()); |
189 | 191 |
190 content::WebUIDataSource* html = | 192 content::WebUIDataSource* html = |
191 content::WebUIDataSource::Create(chrome::kChromeUIPowerHost); | 193 content::WebUIDataSource::Create(chrome::kChromeUIPowerHost); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 html->SetDefaultResource(IDR_ABOUT_POWER_HTML); | 237 html->SetDefaultResource(IDR_ABOUT_POWER_HTML); |
236 | 238 |
237 Profile* profile = Profile::FromWebUI(web_ui); | 239 Profile* profile = Profile::FromWebUI(web_ui); |
238 content::WebUIDataSource::Add(profile, html); | 240 content::WebUIDataSource::Add(profile, html); |
239 } | 241 } |
240 | 242 |
241 PowerUI::~PowerUI() { | 243 PowerUI::~PowerUI() { |
242 } | 244 } |
243 | 245 |
244 } // namespace chromeos | 246 } // namespace chromeos |
OLD | NEW |