Index: chrome/browser/chromeos/status/network_menu.cc |
diff --git a/chrome/browser/chromeos/status/network_menu.cc b/chrome/browser/chromeos/status/network_menu.cc |
index 7fc33fb1870d94aaf96f82f05ccd6fdacde1d409..f2f7b04c94d0a3cc9cb0abff24b4b5ef408aa2db 100644 |
--- a/chrome/browser/chromeos/status/network_menu.cc |
+++ b/chrome/browser/chromeos/status/network_menu.cc |
@@ -64,11 +64,15 @@ std::string EscapeAmpersands(const std::string& input) { |
} |
// Activate a cellular network. |
-void ActivateCellular(const chromeos::CellularNetwork* cellular) { |
+void ActivateCellular(chromeos::CellularNetwork* cellular) { |
DCHECK(cellular); |
- ash::Shell::GetInstance()->delegate()->OpenMobileSetup( |
- cellular->service_path()); |
+ if (cellular->UsesDirectActivation()) { |
+ cellular->StartActivation(); |
+ } else { |
+ ash::Shell::GetInstance()->delegate()->OpenMobileSetup( |
+ cellular->service_path()); |
+ } |
} |
// Decides whether a network should be highlighted in the UI. |