| 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 "chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.h" | 5 #include "chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 networks_list_.Clear(); | 168 networks_list_.Clear(); |
| 169 if (!cellular) { | 169 if (!cellular) { |
| 170 LOG(WARNING) << "Cellular device with path '" << device_path_ | 170 LOG(WARNING) << "Cellular device with path '" << device_path_ |
| 171 << "' disappeared."; | 171 << "' disappeared."; |
| 172 return; | 172 return; |
| 173 } | 173 } |
| 174 if (cellular->scanning()) { | 174 if (cellular->scanning()) { |
| 175 NET_LOG_EVENT("ChooseMobileNetwork", "Device is scanning for networks."); | 175 NET_LOG_EVENT("ChooseMobileNetwork", "Device is scanning for networks."); |
| 176 scanning_ = true; | 176 scanning_ = true; |
| 177 if (is_page_ready_) | 177 if (is_page_ready_) |
| 178 web_ui()->CallJavascriptFunction(kJsApiShowScanning); | 178 web_ui()->CallJavascriptFunctionUnsafe(kJsApiShowScanning); |
| 179 return; | 179 return; |
| 180 } | 180 } |
| 181 scanning_ = false; | 181 scanning_ = false; |
| 182 const DeviceState::CellularScanResults& scan_results = | 182 const DeviceState::CellularScanResults& scan_results = |
| 183 cellular->scan_results(); | 183 cellular->scan_results(); |
| 184 std::set<std::string> network_ids; | 184 std::set<std::string> network_ids; |
| 185 for (DeviceState::CellularScanResults::const_iterator it = | 185 for (DeviceState::CellularScanResults::const_iterator it = |
| 186 scan_results.begin(); it != scan_results.end(); ++it) { | 186 scan_results.begin(); it != scan_results.end(); ++it) { |
| 187 // We need to remove duplicates from the list because same network with | 187 // We need to remove duplicates from the list because same network with |
| 188 // different technologies are listed multiple times. But ModemManager | 188 // different technologies are listed multiple times. But ModemManager |
| 189 // Register API doesn't allow technology to be specified so just show unique | 189 // Register API doesn't allow technology to be specified so just show unique |
| 190 // network in UI. | 190 // network in UI. |
| 191 if (network_ids.insert(it->network_id).second) { | 191 if (network_ids.insert(it->network_id).second) { |
| 192 base::DictionaryValue* network = new base::DictionaryValue(); | 192 base::DictionaryValue* network = new base::DictionaryValue(); |
| 193 network->SetString(kNetworkIdProperty, it->network_id); | 193 network->SetString(kNetworkIdProperty, it->network_id); |
| 194 if (!it->long_name.empty()) | 194 if (!it->long_name.empty()) |
| 195 network->SetString(kOperatorNameProperty, it->long_name); | 195 network->SetString(kOperatorNameProperty, it->long_name); |
| 196 else if (!it->short_name.empty()) | 196 else if (!it->short_name.empty()) |
| 197 network->SetString(kOperatorNameProperty, it->short_name); | 197 network->SetString(kOperatorNameProperty, it->short_name); |
| 198 else | 198 else |
| 199 network->SetString(kOperatorNameProperty, it->network_id); | 199 network->SetString(kOperatorNameProperty, it->network_id); |
| 200 network->SetString(kStatusProperty, it->status); | 200 network->SetString(kStatusProperty, it->status); |
| 201 network->SetString(kTechnologyProperty, it->technology); | 201 network->SetString(kTechnologyProperty, it->technology); |
| 202 networks_list_.Append(network); | 202 networks_list_.Append(network); |
| 203 } | 203 } |
| 204 } | 204 } |
| 205 if (is_page_ready_) { | 205 if (is_page_ready_) { |
| 206 web_ui()->CallJavascriptFunction(kJsApiShowNetworks, networks_list_); | 206 web_ui()->CallJavascriptFunctionUnsafe(kJsApiShowNetworks, networks_list_); |
| 207 networks_list_.Clear(); | 207 networks_list_.Clear(); |
| 208 has_pending_results_ = false; | 208 has_pending_results_ = false; |
| 209 } else { | 209 } else { |
| 210 has_pending_results_ = true; | 210 has_pending_results_ = true; |
| 211 } | 211 } |
| 212 } | 212 } |
| 213 | 213 |
| 214 void ChooseMobileNetworkHandler::HandleCancel(const base::ListValue* args) { | 214 void ChooseMobileNetworkHandler::HandleCancel(const base::ListValue* args) { |
| 215 const size_t kConnectParamCount = 0; | 215 const size_t kConnectParamCount = 0; |
| 216 if (args->GetSize() != kConnectParamCount) { | 216 if (args->GetSize() != kConnectParamCount) { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 245 } | 245 } |
| 246 | 246 |
| 247 void ChooseMobileNetworkHandler::HandlePageReady(const base::ListValue* args) { | 247 void ChooseMobileNetworkHandler::HandlePageReady(const base::ListValue* args) { |
| 248 const size_t kConnectParamCount = 0; | 248 const size_t kConnectParamCount = 0; |
| 249 if (args->GetSize() != kConnectParamCount) { | 249 if (args->GetSize() != kConnectParamCount) { |
| 250 NOTREACHED(); | 250 NOTREACHED(); |
| 251 return; | 251 return; |
| 252 } | 252 } |
| 253 | 253 |
| 254 if (has_pending_results_) { | 254 if (has_pending_results_) { |
| 255 web_ui()->CallJavascriptFunction(kJsApiShowNetworks, networks_list_); | 255 web_ui()->CallJavascriptFunctionUnsafe(kJsApiShowNetworks, networks_list_); |
| 256 networks_list_.Clear(); | 256 networks_list_.Clear(); |
| 257 has_pending_results_ = false; | 257 has_pending_results_ = false; |
| 258 } else if (scanning_) { | 258 } else if (scanning_) { |
| 259 web_ui()->CallJavascriptFunction(kJsApiShowScanning); | 259 web_ui()->CallJavascriptFunctionUnsafe(kJsApiShowScanning); |
| 260 } | 260 } |
| 261 is_page_ready_ = true; | 261 is_page_ready_ = true; |
| 262 } | 262 } |
| 263 | 263 |
| 264 } // namespace | 264 } // namespace |
| 265 | 265 |
| 266 ChooseMobileNetworkUI::ChooseMobileNetworkUI(content::WebUI* web_ui) | 266 ChooseMobileNetworkUI::ChooseMobileNetworkUI(content::WebUI* web_ui) |
| 267 : WebUIController(web_ui) { | 267 : WebUIController(web_ui) { |
| 268 ChooseMobileNetworkHandler* handler = new ChooseMobileNetworkHandler(); | 268 ChooseMobileNetworkHandler* handler = new ChooseMobileNetworkHandler(); |
| 269 web_ui->AddMessageHandler(handler); | 269 web_ui->AddMessageHandler(handler); |
| 270 // Set up the "chrome://choose-mobile-network" source. | 270 // Set up the "chrome://choose-mobile-network" source. |
| 271 Profile* profile = Profile::FromWebUI(web_ui); | 271 Profile* profile = Profile::FromWebUI(web_ui); |
| 272 content::WebUIDataSource::Add( | 272 content::WebUIDataSource::Add( |
| 273 profile, CreateChooseMobileNetworkUIHTMLSource()); | 273 profile, CreateChooseMobileNetworkUIHTMLSource()); |
| 274 } | 274 } |
| 275 | 275 |
| 276 } // namespace chromeos | 276 } // namespace chromeos |
| OLD | NEW |