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

Side by Side Diff: chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc

Issue 22611005: Switch over MobileActivator to use Network*Handler (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ws Created 7 years, 3 months 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/chromeos/mobile_setup_dialog.cc ('k') | chromeos/chromeos.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/mobile_setup_ui.h" 5 #include "chrome/browser/ui/webui/chromeos/mobile_setup_ui.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/bind_helpers.h" 12 #include "base/bind_helpers.h"
13 #include "base/json/json_writer.h" 13 #include "base/json/json_writer.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/memory/ref_counted_memory.h" 15 #include "base/memory/ref_counted_memory.h"
16 #include "base/message_loop/message_loop.h" 16 #include "base/message_loop/message_loop.h"
17 #include "base/metrics/histogram.h" 17 #include "base/metrics/histogram.h"
18 #include "base/strings/string_piece.h" 18 #include "base/strings/string_piece.h"
19 #include "base/strings/string_util.h" 19 #include "base/strings/string_util.h"
20 #include "base/strings/utf_string_conversions.h" 20 #include "base/strings/utf_string_conversions.h"
21 #include "base/values.h" 21 #include "base/values.h"
22 #include "chrome/browser/chromeos/cros/network_library.h"
23 #include "chrome/browser/chromeos/mobile/mobile_activator.h" 22 #include "chrome/browser/chromeos/mobile/mobile_activator.h"
24 #include "chrome/browser/profiles/profile.h" 23 #include "chrome/browser/profiles/profile.h"
25 #include "chrome/browser/ui/browser_list.h" 24 #include "chrome/browser/ui/browser_list.h"
26 #include "chrome/common/pref_names.h" 25 #include "chrome/common/pref_names.h"
27 #include "chrome/common/render_messages.h" 26 #include "chrome/common/render_messages.h"
28 #include "chrome/common/url_constants.h" 27 #include "chrome/common/url_constants.h"
28 #include "chromeos/network/device_state.h"
29 #include "chromeos/network/network_state.h"
30 #include "chromeos/network/network_state_handler.h"
31 #include "chromeos/network/network_state_handler_observer.h"
29 #include "content/public/browser/browser_thread.h" 32 #include "content/public/browser/browser_thread.h"
30 #include "content/public/browser/render_view_host_observer.h" 33 #include "content/public/browser/render_view_host_observer.h"
31 #include "content/public/browser/url_data_source.h" 34 #include "content/public/browser/url_data_source.h"
32 #include "content/public/browser/web_contents.h" 35 #include "content/public/browser/web_contents.h"
33 #include "content/public/browser/web_ui.h" 36 #include "content/public/browser/web_ui.h"
34 #include "content/public/browser/web_ui_message_handler.h" 37 #include "content/public/browser/web_ui_message_handler.h"
35 #include "grit/browser_resources.h" 38 #include "grit/browser_resources.h"
36 #include "grit/chromium_strings.h" 39 #include "grit/chromium_strings.h"
37 #include "grit/generated_resources.h" 40 #include "grit/generated_resources.h"
38 #include "grit/locale_settings.h" 41 #include "grit/locale_settings.h"
42 #include "third_party/cros_system_api/dbus/service_constants.h"
39 #include "ui/base/l10n/l10n_util.h" 43 #include "ui/base/l10n/l10n_util.h"
40 #include "ui/base/resource/resource_bundle.h" 44 #include "ui/base/resource/resource_bundle.h"
41 #include "ui/webui/jstemplate_builder.h" 45 #include "ui/webui/jstemplate_builder.h"
42 #include "ui/webui/web_ui_util.h" 46 #include "ui/webui/web_ui_util.h"
43 #include "url/gurl.h" 47 #include "url/gurl.h"
44 48
45 using chromeos::CellularNetwork;
46 using chromeos::MobileActivator; 49 using chromeos::MobileActivator;
47 using chromeos::NetworkLibrary; 50 using chromeos::NetworkHandler;
51 using chromeos::NetworkState;
48 using content::BrowserThread; 52 using content::BrowserThread;
49 using content::RenderViewHost; 53 using content::RenderViewHost;
50 using content::WebContents; 54 using content::WebContents;
51 using content::WebUIMessageHandler; 55 using content::WebUIMessageHandler;
52 56
53 namespace { 57 namespace {
54 58
55 // Host page JS API function names. 59 // Host page JS API function names.
56 const char kJsApiStartActivation[] = "startActivation"; 60 const char kJsApiStartActivation[] = "startActivation";
57 const char kJsApiSetTransactionStatus[] = "setTransactionStatus"; 61 const char kJsApiSetTransactionStatus[] = "setTransactionStatus";
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 private: 142 private:
139 virtual ~MobileSetupUIHTMLSource() {} 143 virtual ~MobileSetupUIHTMLSource() {}
140 144
141 DISALLOW_COPY_AND_ASSIGN(MobileSetupUIHTMLSource); 145 DISALLOW_COPY_AND_ASSIGN(MobileSetupUIHTMLSource);
142 }; 146 };
143 147
144 // The handler for Javascript messages related to the "register" view. 148 // The handler for Javascript messages related to the "register" view.
145 class MobileSetupHandler 149 class MobileSetupHandler
146 : public WebUIMessageHandler, 150 : public WebUIMessageHandler,
147 public MobileActivator::Observer, 151 public MobileActivator::Observer,
148 public NetworkLibrary::NetworkManagerObserver, 152 public chromeos::NetworkStateHandlerObserver,
149 public base::SupportsWeakPtr<MobileSetupHandler> { 153 public base::SupportsWeakPtr<MobileSetupHandler> {
150 public: 154 public:
151 MobileSetupHandler(); 155 MobileSetupHandler();
152 virtual ~MobileSetupHandler(); 156 virtual ~MobileSetupHandler();
153 157
154 // WebUIMessageHandler implementation. 158 // WebUIMessageHandler implementation.
155 virtual void RegisterMessages() OVERRIDE; 159 virtual void RegisterMessages() OVERRIDE;
156 160
157 private: 161 private:
158 enum Type { 162 enum Type {
159 TYPE_UNDETERMINED, 163 TYPE_UNDETERMINED,
160 // The network is not yet activated, and the webui is in activation flow. 164 // The network is not yet activated, and the webui is in activation flow.
161 TYPE_ACTIVATION, 165 TYPE_ACTIVATION,
162 // The network is activated, the webui displays network portal. 166 // The network is activated, the webui displays network portal.
163 TYPE_PORTAL, 167 TYPE_PORTAL,
164 // Same as TYPE_PORTAL, but the network technology is LTE. The webui is 168 // Same as TYPE_PORTAL, but the network technology is LTE. The webui is
165 // additionally aware of network manager state and whether the portal can be 169 // additionally aware of network manager state and whether the portal can be
166 // reached. 170 // reached.
167 TYPE_PORTAL_LTE 171 TYPE_PORTAL_LTE
168 }; 172 };
169 173
170 // Changes internal state. 174 // MobileActivator::Observer.
171 virtual void OnActivationStateChanged( 175 virtual void OnActivationStateChanged(
172 CellularNetwork* network, 176 const NetworkState* network,
173 MobileActivator::PlanActivationState new_state, 177 MobileActivator::PlanActivationState new_state,
174 const std::string& error_description) OVERRIDE; 178 const std::string& error_description) OVERRIDE;
175 179
176 // Handlers for JS WebUI messages. 180 // Handlers for JS WebUI messages.
177 void HandleSetTransactionStatus(const ListValue* args); 181 void HandleSetTransactionStatus(const ListValue* args);
178 void HandleStartActivation(const ListValue* args); 182 void HandleStartActivation(const ListValue* args);
179 void HandlePaymentPortalLoad(const ListValue* args); 183 void HandlePaymentPortalLoad(const ListValue* args);
180 void HandleGetDeviceInfo(const ListValue* args); 184 void HandleGetDeviceInfo(const ListValue* args);
181 185
182 // NetworkLibrary::NetworkManagerObserver implementation. 186 // NetworkStateHandlerObserver implementation.
183 virtual void OnNetworkManagerChanged(NetworkLibrary* network_lib) OVERRIDE; 187 virtual void NetworkManagerChanged() OVERRIDE;
188 virtual void DefaultNetworkChanged(
189 const NetworkState* default_network) OVERRIDE;
184 190
185 // Updates |lte_portal_reachable_| for lte network |network| and notifies 191 // Updates |lte_portal_reachable_| for lte network |network| and notifies
186 // webui of the new state if the reachability changed or |force_notification| 192 // webui of the new state if the reachability changed or |force_notification|
187 // is set. 193 // is set.
188 void UpdatePortalReachability(NetworkLibrary* network_lib, 194 void UpdatePortalReachability(const NetworkState* network,
189 CellularNetwork* network,
190 bool force_notification); 195 bool force_notification);
191 196
192 // Sends message to host registration page with system/user info data. 197 // Sends message to host registration page with system/user info data.
193 void SendDeviceInfo(); 198 void SendDeviceInfo();
194 199
195 // Converts the currently active CellularNetwork device into a JS object. 200 // Converts the currently active CellularNetwork device into a JS object.
196 static void GetDeviceInfo(CellularNetwork* network, 201 static void GetDeviceInfo(const NetworkState* network,
197 DictionaryValue* value); 202 DictionaryValue* value);
198 203
199 // Type of the mobilesetup webui deduced from received messages. 204 // Type of the mobilesetup webui deduced from received messages.
200 Type type_; 205 Type type_;
201 // Whether portal page for lte networks can be reached in current network 206 // Whether portal page for lte networks can be reached in current network
202 // connection state. This value is reflected in portal webui for lte networks. 207 // connection state. This value is reflected in portal webui for lte networks.
203 // Initial value is true. 208 // Initial value is true.
204 bool lte_portal_reachable_; 209 bool lte_portal_reachable_;
205 210
206 DISALLOW_COPY_AND_ASSIGN(MobileSetupHandler); 211 DISALLOW_COPY_AND_ASSIGN(MobileSetupHandler);
(...skipping 10 matching lines...) Expand all
217 222
218 std::string MobileSetupUIHTMLSource::GetSource() const { 223 std::string MobileSetupUIHTMLSource::GetSource() const {
219 return chrome::kChromeUIMobileSetupHost; 224 return chrome::kChromeUIMobileSetupHost;
220 } 225 }
221 226
222 void MobileSetupUIHTMLSource::StartDataRequest( 227 void MobileSetupUIHTMLSource::StartDataRequest(
223 const std::string& path, 228 const std::string& path,
224 int render_process_id, 229 int render_process_id,
225 int render_view_id, 230 int render_view_id,
226 const content::URLDataSource::GotDataCallback& callback) { 231 const content::URLDataSource::GotDataCallback& callback) {
227 CellularNetwork* network = NULL; 232 const NetworkState* network = NULL;
228 if (!path.empty()) { 233 if (!path.empty()) {
229 network = NetworkLibrary::Get()-> FindCellularNetworkByPath(path); 234 network = NetworkHandler::Get()->network_state_handler()->GetNetworkState(
235 path);
230 } 236 }
231 237
232 if (!network || (!network->SupportsActivation() && !network->activated())) { 238 if (!network ||
239 (network->payment_url().empty() && network->usage_url().empty() &&
240 network->activation_state() != flimflam::kActivationStateActivated)) {
233 LOG(WARNING) << "Can't find device to activate for service path " << path; 241 LOG(WARNING) << "Can't find device to activate for service path " << path;
234 scoped_refptr<base::RefCountedBytes> html_bytes(new base::RefCountedBytes); 242 scoped_refptr<base::RefCountedBytes> html_bytes(new base::RefCountedBytes);
235 callback.Run(html_bytes.get()); 243 callback.Run(html_bytes.get());
236 return; 244 return;
237 } 245 }
238 246
239 LOG(WARNING) << "Starting mobile setup for " << path; 247 LOG(WARNING) << "Starting mobile setup for " << path;
240 DictionaryValue strings; 248 DictionaryValue strings;
241 249
242 strings.SetString("connecting_header", 250 strings.SetString("connecting_header",
(...skipping 19 matching lines...) Expand all
262 strings.SetString("cancel_button", 270 strings.SetString("cancel_button",
263 l10n_util::GetStringUTF16(IDS_CANCEL)); 271 l10n_util::GetStringUTF16(IDS_CANCEL));
264 strings.SetString("ok_button", 272 strings.SetString("ok_button",
265 l10n_util::GetStringUTF16(IDS_OK)); 273 l10n_util::GetStringUTF16(IDS_OK));
266 webui::SetFontAndTextDirection(&strings); 274 webui::SetFontAndTextDirection(&strings);
267 275
268 // The webui differs based on whether the network is activated or not. If the 276 // The webui differs based on whether the network is activated or not. If the
269 // network is activated, the webui goes straight to portal. Otherwise the 277 // network is activated, the webui goes straight to portal. Otherwise the
270 // webui is used for activation flow. 278 // webui is used for activation flow.
271 std::string full_html; 279 std::string full_html;
272 if (network->activated()) { 280 if (network->activation_state() == flimflam::kActivationStateActivated) {
273 static const base::StringPiece html_for_activated( 281 static const base::StringPiece html_for_activated(
274 ResourceBundle::GetSharedInstance().GetRawDataResource( 282 ResourceBundle::GetSharedInstance().GetRawDataResource(
275 IDR_MOBILE_SETUP_PORTAL_PAGE_HTML)); 283 IDR_MOBILE_SETUP_PORTAL_PAGE_HTML));
276 full_html = webui::GetI18nTemplateHtml(html_for_activated, &strings); 284 full_html = webui::GetI18nTemplateHtml(html_for_activated, &strings);
277 } else { 285 } else {
278 static const base::StringPiece html_for_non_activated( 286 static const base::StringPiece html_for_non_activated(
279 ResourceBundle::GetSharedInstance().GetRawDataResource( 287 ResourceBundle::GetSharedInstance().GetRawDataResource(
280 IDR_MOBILE_SETUP_PAGE_HTML)); 288 IDR_MOBILE_SETUP_PAGE_HTML));
281 full_html = webui::GetI18nTemplateHtml(html_for_non_activated, &strings); 289 full_html = webui::GetI18nTemplateHtml(html_for_non_activated, &strings);
282 } 290 }
283 291
284 callback.Run(base::RefCountedString::TakeString(&full_html)); 292 callback.Run(base::RefCountedString::TakeString(&full_html));
285 } 293 }
286 294
287 //////////////////////////////////////////////////////////////////////////////// 295 ////////////////////////////////////////////////////////////////////////////////
288 // 296 //
289 // MobileSetupHandler 297 // MobileSetupHandler
290 // 298 //
291 //////////////////////////////////////////////////////////////////////////////// 299 ////////////////////////////////////////////////////////////////////////////////
292 MobileSetupHandler::MobileSetupHandler() 300 MobileSetupHandler::MobileSetupHandler()
293 : type_(TYPE_UNDETERMINED), 301 : type_(TYPE_UNDETERMINED),
294 lte_portal_reachable_(true) { 302 lte_portal_reachable_(true) {
295 } 303 }
296 304
297 MobileSetupHandler::~MobileSetupHandler() { 305 MobileSetupHandler::~MobileSetupHandler() {
298 if (type_ == TYPE_ACTIVATION) { 306 if (type_ == TYPE_ACTIVATION) {
299 MobileActivator::GetInstance()->RemoveObserver(this); 307 MobileActivator::GetInstance()->RemoveObserver(this);
300 MobileActivator::GetInstance()->TerminateActivation(); 308 MobileActivator::GetInstance()->TerminateActivation();
301 } else if (type_ == TYPE_PORTAL_LTE) { 309 } else if (type_ == TYPE_PORTAL_LTE) {
302 NetworkLibrary::Get()->RemoveNetworkManagerObserver(this); 310 NetworkHandler::Get()->network_state_handler()->RemoveObserver(this,
311 FROM_HERE);
303 } 312 }
304 } 313 }
305 314
306 void MobileSetupHandler::OnActivationStateChanged( 315 void MobileSetupHandler::OnActivationStateChanged(
307 CellularNetwork* network, 316 const NetworkState* network,
308 MobileActivator::PlanActivationState state, 317 MobileActivator::PlanActivationState state,
309 const std::string& error_description) { 318 const std::string& error_description) {
310 DCHECK_EQ(TYPE_ACTIVATION, type_); 319 DCHECK_EQ(TYPE_ACTIVATION, type_);
311 if (!web_ui()) 320 if (!web_ui())
312 return; 321 return;
313 322
314 DictionaryValue device_dict; 323 DictionaryValue device_dict;
315 if (network) 324 if (network)
316 GetDeviceInfo(network, &device_dict); 325 GetDeviceInfo(network, &device_dict);
317 device_dict.SetInteger("state", state); 326 device_dict.SetInteger("state", state);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 398
390 void MobileSetupHandler::HandleGetDeviceInfo(const ListValue* args) { 399 void MobileSetupHandler::HandleGetDeviceInfo(const ListValue* args) {
391 DCHECK_NE(TYPE_ACTIVATION, type_); 400 DCHECK_NE(TYPE_ACTIVATION, type_);
392 if (!web_ui()) 401 if (!web_ui())
393 return; 402 return;
394 403
395 std::string path = web_ui()->GetWebContents()->GetURL().path(); 404 std::string path = web_ui()->GetWebContents()->GetURL().path();
396 if (path.empty()) 405 if (path.empty())
397 return; 406 return;
398 407
399 NetworkLibrary* network_lib = NetworkLibrary::Get(); 408 chromeos::NetworkStateHandler* nsh =
400 CellularNetwork* network = 409 NetworkHandler::Get()->network_state_handler();
401 network_lib->FindCellularNetworkByPath(path.substr(1)); 410 // TODO: Figure out why the path has an extra '/' in the front. (e.g. It is
411 // '//service/5' instead of '/service/5'.
412 const NetworkState* network = nsh->GetNetworkState(path.substr(1));
402 if (!network) { 413 if (!network) {
403 web_ui()->GetWebContents()->Close(); 414 web_ui()->GetWebContents()->Close();
404 return; 415 return;
405 } 416 }
406 417
407 // If this is the initial call, update the network status and start observing 418 // If this is the initial call, update the network status and start observing
408 // network changes, but only for LTE networks. The other networks should 419 // network changes, but only for LTE networks. The other networks should
409 // ignore network status. 420 // ignore network status.
410 if (type_ == TYPE_UNDETERMINED) { 421 if (type_ == TYPE_UNDETERMINED) {
411 if (network->network_technology() == chromeos::NETWORK_TECHNOLOGY_LTE || 422 if (network->network_technology() == flimflam::kNetworkTechnologyLte ||
412 network->network_technology() == 423 network->network_technology() ==
413 chromeos::NETWORK_TECHNOLOGY_LTE_ADVANCED) { 424 flimflam::kNetworkTechnologyLteAdvanced) {
414 type_ = TYPE_PORTAL_LTE; 425 type_ = TYPE_PORTAL_LTE;
415 network_lib->AddNetworkManagerObserver(this); 426 nsh->AddObserver(this, FROM_HERE);
416 // Update the network status and notify the webui. This is the initial 427 // Update the network status and notify the webui. This is the initial
417 // network state so the webui should be notified no matter what. 428 // network state so the webui should be notified no matter what.
418 UpdatePortalReachability(network_lib, 429 UpdatePortalReachability(network,
419 network, 430 true /* force notification */);
420 true /*force notification*/);
421 } else { 431 } else {
422 type_ = TYPE_PORTAL; 432 type_ = TYPE_PORTAL;
423 // For non-LTE networks network state is ignored, so report the portal is 433 // For non-LTE networks network state is ignored, so report the portal is
424 // reachable, so it gets shown. 434 // reachable, so it gets shown.
425 web_ui()->CallJavascriptFunction(kJsConnectivityChangedCallback, 435 web_ui()->CallJavascriptFunction(kJsConnectivityChangedCallback,
426 base::FundamentalValue(true)); 436 base::FundamentalValue(true));
427 } 437 }
428 } 438 }
429 439
430 DictionaryValue device_info; 440 DictionaryValue device_info;
431 GetDeviceInfo(network, &device_info); 441 GetDeviceInfo(network, &device_info);
432 web_ui()->CallJavascriptFunction(kJsGetDeviceInfoCallback, device_info); 442 web_ui()->CallJavascriptFunction(kJsGetDeviceInfoCallback, device_info);
433 } 443 }
434 444
435 void MobileSetupHandler::OnNetworkManagerChanged(NetworkLibrary* network_lib) { 445 void MobileSetupHandler::NetworkManagerChanged() {
436 if (!web_ui()) 446 if (!web_ui())
437 return; 447 return;
438 448
439 std::string path = web_ui()->GetWebContents()->GetURL().path(); 449 std::string path = web_ui()->GetWebContents()->GetURL().path();
440 if (path.empty()) 450 if (path.empty())
441 return; 451 return;
442 452
443 CellularNetwork* network = 453 const NetworkState* network =
444 network_lib->FindCellularNetworkByPath(path.substr(1)); 454 NetworkHandler::Get()->network_state_handler()->GetNetworkState(
455 path.substr(1));
445 if (!network) { 456 if (!network) {
446 LOG(ERROR) << "Service path lost"; 457 LOG(ERROR) << "Service path lost";
447 web_ui()->GetWebContents()->Close(); 458 web_ui()->GetWebContents()->Close();
448 return; 459 return;
449 } 460 }
450 461
451 UpdatePortalReachability(network_lib, network, false /*force notification*/); 462 UpdatePortalReachability(network,
463 false /* do not force notification */);
452 } 464 }
453 465
454 void MobileSetupHandler::UpdatePortalReachability(NetworkLibrary* network_lib, 466 void MobileSetupHandler::DefaultNetworkChanged(
455 CellularNetwork* network, 467 const NetworkState* default_network) {
456 bool force_notification) { 468 NetworkManagerChanged();
469 }
470
471 void MobileSetupHandler::UpdatePortalReachability(
472 const NetworkState* network,
473 bool force_notification) {
457 DCHECK(web_ui()); 474 DCHECK(web_ui());
458 475
459 DCHECK_EQ(type_, TYPE_PORTAL_LTE); 476 DCHECK_EQ(type_, TYPE_PORTAL_LTE);
460 477
461 bool portal_reachable = network->connected() || 478 chromeos::NetworkStateHandler* nsh =
462 (network_lib->connected_network() && 479 NetworkHandler::Get()->network_state_handler();
463 network_lib->connected_network()->online()); 480 bool portal_reachable =
481 (network->IsConnectedState() ||
482 (nsh->DefaultNetwork() &&
483 nsh->DefaultNetwork()->connection_state() == flimflam::kStateOnline));
464 484
465 if (force_notification || portal_reachable != lte_portal_reachable_) { 485 if (force_notification || portal_reachable != lte_portal_reachable_) {
466 web_ui()->CallJavascriptFunction(kJsConnectivityChangedCallback, 486 web_ui()->CallJavascriptFunction(kJsConnectivityChangedCallback,
467 base::FundamentalValue(portal_reachable)); 487 base::FundamentalValue(portal_reachable));
468 } 488 }
469 489
470 lte_portal_reachable_ = portal_reachable; 490 lte_portal_reachable_ = portal_reachable;
471 } 491 }
472 492
473 void MobileSetupHandler::GetDeviceInfo(CellularNetwork* network, 493 void MobileSetupHandler::GetDeviceInfo(const NetworkState* network,
474 DictionaryValue* value) { 494 DictionaryValue* value) {
475 DCHECK(network); 495 DCHECK(network);
476 chromeos::NetworkLibrary* cros =
477 chromeos::NetworkLibrary::Get();
478 if (!cros)
479 return;
480 value->SetBoolean("activate_over_non_cellular_network", 496 value->SetBoolean("activate_over_non_cellular_network",
481 network->activate_over_non_cellular_network()); 497 network->activate_over_non_cellular_networks());
482 value->SetString("carrier", network->name()); 498 value->SetString("carrier", network->name());
483 value->SetString("payment_url", network->payment_url()); 499 value->SetString("payment_url", network->payment_url());
484 if (network->using_post() && network->post_data().length()) 500 if (LowerCaseEqualsASCII(network->post_method(), "post") &&
501 !network->post_data().empty())
485 value->SetString("post_data", network->post_data()); 502 value->SetString("post_data", network->post_data());
486 503
487 const chromeos::NetworkDevice* device = 504 const chromeos::DeviceState* device =
488 cros->FindNetworkDeviceByPath(network->device_path()); 505 NetworkHandler::Get()->network_state_handler()->GetDeviceState(
506 network->device_path());
489 if (device) { 507 if (device) {
490 value->SetString("MEID", device->meid()); 508 value->SetString("MEID", device->meid());
491 value->SetString("IMEI", device->imei()); 509 value->SetString("IMEI", device->imei());
492 value->SetString("MDN", device->mdn()); 510 value->SetString("MDN", device->mdn());
493 } 511 }
494 } 512 }
495 513
496 //////////////////////////////////////////////////////////////////////////////// 514 ////////////////////////////////////////////////////////////////////////////////
497 // 515 //
498 // MobileSetupUI 516 // MobileSetupUI
499 // 517 //
500 //////////////////////////////////////////////////////////////////////////////// 518 ////////////////////////////////////////////////////////////////////////////////
501 519
502 MobileSetupUI::MobileSetupUI(content::WebUI* web_ui) 520 MobileSetupUI::MobileSetupUI(content::WebUI* web_ui)
503 : WebUIController(web_ui) { 521 : WebUIController(web_ui) {
504 web_ui->AddMessageHandler(new MobileSetupHandler()); 522 web_ui->AddMessageHandler(new MobileSetupHandler());
505 MobileSetupUIHTMLSource* html_source = new MobileSetupUIHTMLSource(); 523 MobileSetupUIHTMLSource* html_source = new MobileSetupUIHTMLSource();
506 524
507 // Set up the chrome://mobilesetup/ source. 525 // Set up the chrome://mobilesetup/ source.
508 Profile* profile = Profile::FromWebUI(web_ui); 526 Profile* profile = Profile::FromWebUI(web_ui);
509 content::URLDataSource::Add(profile, html_source); 527 content::URLDataSource::Add(profile, html_source);
510 } 528 }
511 529
512 void MobileSetupUI::RenderViewCreated(RenderViewHost* host) { 530 void MobileSetupUI::RenderViewCreated(RenderViewHost* host) {
513 // Destroyed by the corresponding RenderViewHost 531 // Destroyed by the corresponding RenderViewHost
514 new PortalFrameLoadObserver(AsWeakPtr(), host); 532 new PortalFrameLoadObserver(AsWeakPtr(), host);
515 } 533 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/chromeos/mobile_setup_dialog.cc ('k') | chromeos/chromeos.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698