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 6005152fad67bc63d538659eba6185357927a932..9dbd28cdbdbf26c2da95722d4383f09994c29bdd 100644 |
--- a/chrome/browser/chromeos/status/network_menu.cc |
+++ b/chrome/browser/chromeos/status/network_menu.cc |
@@ -64,8 +64,6 @@ std::string EscapeAmpersands(const std::string& input) { |
// Activate a cellular network. |
void ActivateCellular(const chromeos::CellularNetwork* cellular) { |
DCHECK(cellular); |
- if (!chromeos::UserManager::Get()->IsSessionStarted()) |
- return; |
ash::Shell::GetInstance()->delegate()->OpenMobileSetup( |
cellular->service_path()); |
@@ -590,11 +588,6 @@ void MainMenuModel::InitMenuItems(bool should_open_button_options) { |
chromeos::ActivationState activation_state = |
cell_networks[i]->activation_state(); |
- // This is currently only used in the OOBE/login screen, do not show |
- // activating 3G option. |
- if (activation_state != ACTIVATION_STATE_ACTIVATED) |
- continue; |
- |
// Ampersand is a valid character in a network name, but menu2 uses it |
// to mark "mnemonics" for keyboard shortcuts. http://crosbug.com/14697 |
std::string network_name = EscapeAmpersands(cell_networks[i]->name()); |
@@ -983,6 +976,13 @@ void NetworkMenu::DoConnect(Network* network) { |
// Connection failures are responsible for updating the UI, including |
// reopening dialogs. |
} |
+ } else if (network->type() == TYPE_CELLULAR) { |
+ CellularNetwork* cellular = static_cast<CellularNetwork*>(network); |
+ if (cellular->activation_state() != ACTIVATION_STATE_ACTIVATED) { |
+ ActivateCellular(cellular); |
+ } else { |
+ cros->ConnectToCellularNetwork(cellular); |
+ } |
} |
} |