diff options
author | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 17:37:35 +0000 |
---|---|---|
committer | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 17:37:35 +0000 |
commit | ad4cfdc3b2d7f3f31476f6d307e7f3528bec9f5e (patch) | |
tree | 3c3c2aa5e4e6f080c07a989a77d5cf1103846a8d | |
parent | 456b1bc679cf7e976df187377a7203c48c5fc2bb (diff) | |
download | chromium_src-ad4cfdc3b2d7f3f31476f6d307e7f3528bec9f5e.zip chromium_src-ad4cfdc3b2d7f3f31476f6d307e7f3528bec9f5e.tar.gz chromium_src-ad4cfdc3b2d7f3f31476f6d307e7f3528bec9f5e.tar.bz2 |
Fixed a warning that didn't get caught by the linux_chromeos trybot.
http://codereview.chromium.org/4136002/show
BUG=http://code.google.com/p/chromium-os/issues/detail?id=8114
TEST=All of the network menu
Review URL: http://codereview.chromium.org/4210002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64268 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/app/generated_resources.grd | 8 | ||||
-rw-r--r-- | chrome/browser/chromeos/cros/cros_mock.cc | 26 | ||||
-rw-r--r-- | chrome/browser/chromeos/status/network_menu.cc | 242 | ||||
-rw-r--r-- | chrome/browser/chromeos/status/network_menu.h | 4 |
4 files changed, 180 insertions, 100 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index e1763ea..169cfe0 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -10009,7 +10009,7 @@ Keep your key file in a safe place. You will need it to create new versions of y Cellular </message> <message name="IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING" desc="The network device status connecting."> - Connecting + Connecting... </message> <message name="IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED" desc="The network device status connected."> Connected @@ -10020,6 +10020,12 @@ Keep your key file in a safe place. You will need it to create new versions of y <message name="IDS_STATUSBAR_NETWORK_DEVICE_DISABLED" desc="The network device status disabled."> Off </message> + <message name="IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATING" desc="The network device is activating."> + Activating... + </message> + <message name="IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATE" desc="Activate the network device."> + Activate <ph name="NETWORKSERVICE">$1<ex>YBH Cellular</ex></ph> + </message> <message name="IDS_STATUSBAR_NETWORK_DEVICE_ENABLE" desc="Enable the network device."> Enable <ph name="NETWORKDEVICE">$1<ex>Wifi</ex></ph> </message> diff --git a/chrome/browser/chromeos/cros/cros_mock.cc b/chrome/browser/chromeos/cros/cros_mock.cc index 6e7844f..25bf9aa 100644 --- a/chrome/browser/chromeos/cros/cros_mock.cc +++ b/chrome/browser/chromeos/cros/cros_mock.cc @@ -275,7 +275,7 @@ void CrosMock::SetNetworkLibraryStatusAreaExpectations() { // NetworkDropdownButton::NetworkChanged() calls: EXPECT_CALL(*mock_network_library_, ethernet_connected()) - .Times(2) // also called by NetworkMenu::InitMenuItems() + .Times(1) .WillRepeatedly((Return(false))) .RetiresOnSaturation(); EXPECT_CALL(*mock_network_library_, wifi_connected()) @@ -295,7 +295,7 @@ void CrosMock::SetNetworkLibraryStatusAreaExpectations() { .WillRepeatedly((Return(false))) .RetiresOnSaturation(); EXPECT_CALL(*mock_network_library_, Connected()) - .Times(2) // also called by NetworkMenu::InitMenuItems() + .Times(1) .WillRepeatedly((Return(false))) .RetiresOnSaturation(); EXPECT_CALL(*mock_network_library_, Connecting()) @@ -304,29 +304,21 @@ void CrosMock::SetNetworkLibraryStatusAreaExpectations() { .RetiresOnSaturation(); // NetworkMenu::InitMenuItems() calls: - EXPECT_CALL(*mock_network_library_, ethernet_connecting()) - .Times(1) - .WillRepeatedly((Return(false))) - .RetiresOnSaturation(); - EXPECT_CALL(*mock_network_library_, wifi_networks()) + EXPECT_CALL(*mock_network_library_, ethernet_available()) .Times(1) - .WillRepeatedly((ReturnRef(wifi_networks_))) + .WillRepeatedly((Return(true))) .RetiresOnSaturation(); - EXPECT_CALL(*mock_network_library_, wifi_available()) + EXPECT_CALL(*mock_network_library_, ethernet_connected()) .Times(1) .WillRepeatedly((Return(false))) .RetiresOnSaturation(); - EXPECT_CALL(*mock_network_library_, wifi_network()) - .Times(1) - .WillRepeatedly((ReturnRef(wifi_network_))) - .RetiresOnSaturation(); - EXPECT_CALL(*mock_network_library_, cellular_networks()) + EXPECT_CALL(*mock_network_library_, ethernet_connecting()) .Times(1) - .WillRepeatedly((ReturnRef(cellular_networks_))) + .WillRepeatedly((Return(false))) .RetiresOnSaturation(); - EXPECT_CALL(*mock_network_library_, cellular_network()) + EXPECT_CALL(*mock_network_library_, wifi_available()) .Times(1) - .WillRepeatedly((ReturnRef(cellular_network_))) + .WillRepeatedly((Return(false))) .RetiresOnSaturation(); EXPECT_CALL(*mock_network_library_, cellular_available()) .Times(1) diff --git a/chrome/browser/chromeos/status/network_menu.cc b/chrome/browser/chromeos/status/network_menu.cc index df3d048..1461823 100644 --- a/chrome/browser/chromeos/status/network_menu.cc +++ b/chrome/browser/chromeos/status/network_menu.cc @@ -78,6 +78,8 @@ const int NetworkMenu::kBarsImagesVLowData[kNumWifiImages] = { NetworkMenu::NetworkMenu() : min_width_(-1) { + use_settings_ui_ = CommandLine::ForCurrentProcess()->HasSwitch( + switches::kEnableTabbedOptions); network_menu_.reset(NetworkMenuUI::CreateMenu2(this)); } @@ -110,10 +112,8 @@ bool NetworkMenu::GetNetworkAt(int index, NetworkInfo* info) const { IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED); } else if (cros->wifi_connecting()) { info->status = kNetworkStatusConnecting; - // TODO(stevenjb): Eliminate status message, or localize properly. info->message = l10n_util::GetStringUTF8( - IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING) - + ": " + wifi.GetStateString(); + IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING); } else if (wifi.state() == STATE_FAILURE) { info->status = kNetworkStatusError; info->message = wifi.GetErrorString(); @@ -217,8 +217,12 @@ bool NetworkMenu::ConnectToNetworkAt(int index, // Show the wifi settings/dialog to load/select a certificate. ShowWifi(wifi, true); } else { - cros->ConnectToWifiNetwork(wifi, passphrase, std::string(), - std::string()); + if (MenuUI::IsEnabled()) { + cros->ConnectToWifiNetwork(wifi, passphrase, std::string(), + std::string()); + } else { + ShowWifi(wifi, true); + } } } else { cros->ConnectToWifiNetwork(wifi, std::string(), std::string(), @@ -324,6 +328,8 @@ void NetworkMenu::ActivatedAt(int index) { // If we are attempting to connect to a network that no longer exists, // display a notification. // TODO(stevenjb): Show notification. + } else if (cellular.activation_state() != ACTIVATION_STATE_ACTIVATED) { + ActivateCellular(cellular); } else if (cellular.service_path() == cros->cellular_network().service_path()) { // Show the config settings for the cellular network. @@ -423,75 +429,143 @@ void NetworkMenu::InitMenuItems() { NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + bool no_networks = true; + string16 label; + // Ethernet - bool ethernet_connected = cros->ethernet_connected(); - bool ethernet_connecting = cros->ethernet_connecting(); - string16 label = l10n_util::GetStringUTF16( - IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); - SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); - SkBitmap badge = ethernet_connecting || ethernet_connected ? - SkBitmap() : *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED); - int flag = FLAG_ETHERNET; - if (ethernet_connecting || ethernet_connected) - flag |= FLAG_ASSOCIATED; - menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, - IconForDisplay(icon, badge), std::string(), flag)); - - // Wifi - const WifiNetworkVector& wifi_networks = cros->wifi_networks(); - const WifiNetwork& active_wifi = cros->wifi_network(); - // Wifi networks ssids. - for (size_t i = 0; i < wifi_networks.size(); ++i) { - label = ASCIIToUTF16(wifi_networks[i].name()); - SkBitmap icon = IconForNetworkStrength(wifi_networks[i].strength(), true); - SkBitmap badge = wifi_networks[i].encrypted() ? - *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_SECURE) : SkBitmap(); - flag = FLAG_WIFI; - if (wifi_networks[i].service_path() == active_wifi.service_path()) + bool ethernet_available = cros->ethernet_available(); + if (ethernet_available) { + no_networks = false; + bool ethernet_connected = cros->ethernet_connected(); + bool ethernet_connecting = cros->ethernet_connecting(); + + if (ethernet_connecting) { + label = l10n_util::GetStringFUTF16( + IDS_STATUSBAR_NETWORK_DEVICE_STATUS, + l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), + l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); + } else { + label = l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); + } + SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); + SkBitmap badge = ethernet_connecting || ethernet_connected ? + SkBitmap() : *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED); + int flag = FLAG_ETHERNET; + if (ethernet_connecting || ethernet_connected) flag |= FLAG_ASSOCIATED; - menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, - IconForDisplay(icon, badge), wifi_networks[i].service_path(), flag)); + menu_items_.push_back( + MenuItem(menus::MenuModel::TYPE_COMMAND, label, + IconForDisplay(icon, badge), std::string(), flag)); } - // Cellular - const CellularNetworkVector& cell_networks = cros->cellular_networks(); - const CellularNetwork& active_cellular = cros->cellular_network(); - // Cellular networks ssids. - for (size_t i = 0; i < cell_networks.size(); ++i) { - label = ASCIIToUTF16(cell_networks[i].name()); - SkBitmap icon = IconForNetworkStrength(cell_networks[i].strength(), true); - // TODO(chocobo): Check cellular network 3g/edge. - SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G); -// SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE); - flag = FLAG_CELLULAR; - if (cell_networks[i].service_path() == active_cellular.service_path()) - flag |= FLAG_ASSOCIATED; - menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, - IconForDisplay(icon, badge), cell_networks[i].service_path(), flag)); + // Wifi Networks + bool wifi_available = cros->wifi_available(); + if (wifi_available) { + const WifiNetworkVector& wifi_networks = cros->wifi_networks(); + const WifiNetwork& active_wifi = cros->wifi_network(); + + if (wifi_networks.size() > 0) { + no_networks = false; + // Separator + menu_items_.push_back(MenuItem()); + } + // List Wifi networks. + for (size_t i = 0; i < wifi_networks.size(); ++i) { + if (wifi_networks[i].connecting()) { + label = l10n_util::GetStringFUTF16( + IDS_STATUSBAR_NETWORK_DEVICE_STATUS, + ASCIIToUTF16(wifi_networks[i].name()), + l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); + } else { + label = ASCIIToUTF16(wifi_networks[i].name()); + } + SkBitmap icon = IconForNetworkStrength(wifi_networks[i].strength(), true); + SkBitmap badge = wifi_networks[i].encrypted() ? + *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_SECURE) : SkBitmap(); + int flag = FLAG_WIFI; + if (wifi_networks[i].service_path() == active_wifi.service_path()) + flag |= FLAG_ASSOCIATED; + menu_items_.push_back( + MenuItem(menus::MenuModel::TYPE_COMMAND, label, + IconForDisplay(icon, badge), + wifi_networks[i].service_path(), flag)); + } + } + + // Cellular Networks + bool cellular_available = cros->cellular_available(); + if (cellular_available) { + const CellularNetworkVector& cell_networks = cros->cellular_networks(); + const CellularNetwork& active_cellular = cros->cellular_network(); + + if (cell_networks.size() > 0) { + no_networks = false; + // Separator + menu_items_.push_back(MenuItem()); + } + // List Cellular networks. + for (size_t i = 0; i < cell_networks.size(); ++i) { + chromeos::ActivationState activation_state = + cell_networks[i].activation_state(); + if (activation_state == ACTIVATION_STATE_NOT_ACTIVATED) { + label = l10n_util::GetStringFUTF16( + IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATE, + ASCIIToUTF16(cell_networks[i].name())); + } else if (activation_state == ACTIVATION_STATE_PARTIALLY_ACTIVATED || + activation_state == ACTIVATION_STATE_ACTIVATING) { + label = l10n_util::GetStringFUTF16( + IDS_STATUSBAR_NETWORK_DEVICE_STATUS, + ASCIIToUTF16(cell_networks[i].name()), + l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATING)); + } else if (cell_networks[i].connecting()) { + label = l10n_util::GetStringFUTF16( + IDS_STATUSBAR_NETWORK_DEVICE_STATUS, + ASCIIToUTF16(cell_networks[i].name()), + l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); + } else { + label = ASCIIToUTF16(cell_networks[i].name()); + } + SkBitmap icon = IconForNetworkStrength(cell_networks[i].strength(), true); + // TODO(chocobo): Check cellular network 3g/edge. + SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G); + // SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE); + int flag = FLAG_CELLULAR; + if (cell_networks[i].service_path() == active_cellular.service_path() && + (cell_networks[i].connecting() || cell_networks[i].connected())) + flag |= FLAG_ASSOCIATED; + menu_items_.push_back( + MenuItem(menus::MenuModel::TYPE_COMMAND, label, + IconForDisplay(icon, badge), + cell_networks[i].service_path(), flag)); + } } // No networks available message. - if (wifi_networks.empty() && cell_networks.empty()) { + if (no_networks) { label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, SkBitmap(), std::string(), FLAG_DISABLED)); } - // Other networks - menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS), - IconForDisplay(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0_BLACK), - SkBitmap()), - std::string(), FLAG_OTHER_NETWORK)); + // Add network. + if (wifi_available) { + // Separator + menu_items_.push_back(MenuItem()); - bool wifi_available = cros->wifi_available(); - bool cellular_available = cros->cellular_available(); + menu_items_.push_back(MenuItem( + menus::MenuModel::TYPE_COMMAND, + l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS), + IconForDisplay(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0_BLACK), + SkBitmap()), + std::string(), FLAG_OTHER_NETWORK)); + } + + // Enable / disable wireless. if (wifi_available || cellular_available) { - // Separator. + // Separator menu_items_.push_back(MenuItem()); - // Turn Wifi Off. (only if wifi available) if (wifi_available) { int id = cros->wifi_enabled() ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; @@ -501,10 +575,9 @@ void NetworkMenu::InitMenuItems() { SkBitmap(), std::string(), FLAG_TOGGLE_WIFI)); } - // Turn Cellular Off. (only if cellular available) if (cellular_available) { int id = cros->cellular_enabled() ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : - IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; + IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; label = l10n_util::GetStringFUTF16(id, l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CELLULAR)); menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, @@ -512,24 +585,22 @@ void NetworkMenu::InitMenuItems() { } } - // TODO(chocobo): Uncomment once we figure out how to do offline mode. // Offline mode. -// menu_items_.push_back(MenuItem(cros->offline_mode() ? -// menus::MenuModel::TYPE_CHECK : menus::MenuModel::TYPE_COMMAND, -// l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OFFLINE_MODE), -// SkBitmap(), std::string(), FLAG_TOGGLE_OFFLINE)); + // TODO(chocobo): Uncomment once we figure out how to do offline mode. + // menu_items_.push_back(MenuItem(cros->offline_mode() ? + // menus::MenuModel::TYPE_CHECK : menus::MenuModel::TYPE_COMMAND, + // l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OFFLINE_MODE), + // SkBitmap(), std::string(), FLAG_TOGGLE_OFFLINE)); - if (cros->Connected() || ShouldOpenButtonOptions()) { + // Network settings. + if (ShouldOpenButtonOptions()) { // Separator. menu_items_.push_back(MenuItem()); - // Network settings. - if (ShouldOpenButtonOptions()) { - label = - l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OPEN_OPTIONS_DIALOG); - menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, - SkBitmap(), std::string(), FLAG_OPTIONS)); - } + label = + l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OPEN_OPTIONS_DIALOG); + menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, + SkBitmap(), std::string(), FLAG_OPTIONS)); } } @@ -544,8 +615,10 @@ void NetworkMenu::ShowTabbedNetworkSettings(const Network& network) const { browser->ShowOptionsTab(page); } -// TODO(stevenjb): deprecate this once we've committed to the embedded -// menu UI and fully deprecated NetworkConfigView. +// TODO(stevenjb): deprecate this once we've committed to tabbed settings +// and the embedded menu UI (and fully deprecated NetworkConfigView). +// Meanwhile, if MenuUI::IsEnabled() is true, always show the settings UI, +// otherwise show NetworkConfigView only to get passwords when not connected. void NetworkMenu::ShowNetworkConfigView(NetworkConfigView* view, bool focus_login) const { view->set_browser_mode(IsBrowserMode()); @@ -558,8 +631,8 @@ void NetworkMenu::ShowNetworkConfigView(NetworkConfigView* view, } void NetworkMenu::ShowWifi(const WifiNetwork& wifi, bool focus_login) const{ - if (CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableTabbedOptions)) { + if (use_settings_ui_ && + (MenuUI::IsEnabled() || wifi.connected() || wifi.connecting())) { ShowTabbedNetworkSettings(wifi); } else { ShowNetworkConfigView(new NetworkConfigView(wifi, true), focus_login); @@ -568,17 +641,23 @@ void NetworkMenu::ShowWifi(const WifiNetwork& wifi, bool focus_login) const{ void NetworkMenu::ShowCellular(const CellularNetwork& cellular, bool focus_login) const { - if (CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableTabbedOptions)) { + if (use_settings_ui_ && + (MenuUI::IsEnabled() || cellular.connected() || cellular.connecting())) { ShowTabbedNetworkSettings(cellular); } else { ShowNetworkConfigView(new NetworkConfigView(cellular), focus_login); } } +void NetworkMenu::ActivateCellular(const CellularNetwork& cellular) const { + Browser* browser = BrowserList::GetLastActive(); + // TODO?(stevenjb) : specify which service to activate. + browser->ShowSingletonTab(GURL(chrome::kChromeUIMobileSetupURL)); +} + void NetworkMenu::ShowEthernet(const EthernetNetwork& ethernet) const { - if (CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableTabbedOptions)) { + if (use_settings_ui_ && + (MenuUI::IsEnabled() || ethernet.connected() || ethernet.connecting())) { ShowTabbedNetworkSettings(ethernet); } else { ShowNetworkConfigView(new NetworkConfigView(ethernet), false); @@ -586,8 +665,7 @@ void NetworkMenu::ShowEthernet(const EthernetNetwork& ethernet) const { } void NetworkMenu::ShowOther() const { - if (CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableTabbedOptions)) { + if (use_settings_ui_ && MenuUI::IsEnabled()) { Browser* browser = BrowserList::GetLastActive(); if (browser) { std::string page = StringPrintf("%s?networkType=%d", diff --git a/chrome/browser/chromeos/status/network_menu.h b/chrome/browser/chromeos/status/network_menu.h index f46269e..dd50c8d 100644 --- a/chrome/browser/chromeos/status/network_menu.h +++ b/chrome/browser/chromeos/status/network_menu.h @@ -187,6 +187,7 @@ class NetworkMenu : public views::ViewMenuDelegate, // Wrappers for the ShowNetworkConfigView / ShowTabbedNetworkSettings. void ShowWifi(const WifiNetwork& wifi, bool focus_login) const; void ShowCellular(const CellularNetwork& cellular, bool focus_login) const; + void ActivateCellular(const CellularNetwork& cellular) const; void ShowEthernet(const EthernetNetwork& ethernet) const; void ShowOther() const; @@ -211,6 +212,9 @@ class NetworkMenu : public views::ViewMenuDelegate, // Holds minimum width or -1 if it wasn't set up. int min_width_; + // If true, call into the settings UI for network configuration dialogs. + bool use_settings_ui_; + DISALLOW_COPY_AND_ASSIGN(NetworkMenu); }; |