diff options
author | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-12 19:47:47 +0000 |
---|---|---|
committer | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-12 19:47:47 +0000 |
commit | c42d7348f690d96354e509a2082f2de9cc137f5c (patch) | |
tree | afb7a6fc5f5c68862ad3b385c9f0a3c316e35e75 | |
parent | 52f98381745a569f53fa484f8183315527bd662c (diff) | |
download | chromium_src-c42d7348f690d96354e509a2082f2de9cc137f5c.zip chromium_src-c42d7348f690d96354e509a2082f2de9cc137f5c.tar.gz chromium_src-c42d7348f690d96354e509a2082f2de9cc137f5c.tar.bz2 |
If ethernet is not available (i.e. no wired nic), don't show ethernet in status menu, about:networks, and options pages.
Also fixed a small issue where we should not be displaying "Other..." if wifi is disabled.
BUG=chromium-os:5570
TEST=manual
Review URL: http://codereview.chromium.org/3108011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55915 0039d316-1c4b-4281-b951-d872f2087c98
6 files changed, 96 insertions, 73 deletions
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc index 9a81c37..f831479 100644 --- a/chrome/browser/chromeos/cros/network_library.cc +++ b/chrome/browser/chromeos/cros/network_library.cc @@ -405,9 +405,9 @@ class NetworkLibraryImpl : public NetworkLibrary { } void ConnectToWifiNetwork(WifiNetwork network, - const std::string& password, - const std::string& identity, - const std::string& certpath) { + const std::string& password, + const std::string& identity, + const std::string& certpath) { if (CrosLibrary::Get()->EnsureLoaded()) { ConnectToNetworkWithCertInfo(network.service_path().c_str(), password.empty() ? NULL : password.c_str(), @@ -417,10 +417,10 @@ class NetworkLibraryImpl : public NetworkLibrary { } void ConnectToWifiNetwork(const std::string& ssid, - const std::string& password, - const std::string& identity, - const std::string& certpath, - bool auto_connect) { + const std::string& password, + const std::string& identity, + const std::string& certpath, + bool auto_connect) { if (CrosLibrary::Get()->EnsureLoaded()) { // First create a service from hidden network. ServiceInfo* service = GetWifiService(ssid.c_str(), @@ -449,8 +449,7 @@ class NetworkLibraryImpl : public NetworkLibrary { } } - void DisconnectFromWirelessNetwork( - const WirelessNetwork& network) { + void DisconnectFromWirelessNetwork(const WirelessNetwork& network) { if (CrosLibrary::Get()->EnsureLoaded()) { DisconnectFromNetwork(network.service_path().c_str()); } @@ -487,31 +486,30 @@ class NetworkLibraryImpl : public NetworkLibrary { } } - void ForgetWirelessNetwork( - const std::string& service_path) { + void ForgetWirelessNetwork(const std::string& service_path) { if (CrosLibrary::Get()->EnsureLoaded()) { DeleteRememberedService(service_path.c_str()); } } virtual bool ethernet_available() const { - return available_devices_ & (1 << TYPE_ETHERNET); + return available_devices_ & (1 << TYPE_ETHERNET); } virtual bool wifi_available() const { - return available_devices_ & (1 << TYPE_WIFI); + return available_devices_ & (1 << TYPE_WIFI); } virtual bool cellular_available() const { - return available_devices_ & (1 << TYPE_CELLULAR); + return available_devices_ & (1 << TYPE_CELLULAR); } virtual bool ethernet_enabled() const { - return enabled_devices_ & (1 << TYPE_ETHERNET); + return enabled_devices_ & (1 << TYPE_ETHERNET); } virtual bool wifi_enabled() const { - return enabled_devices_ & (1 << TYPE_WIFI); + return enabled_devices_ & (1 << TYPE_WIFI); } virtual bool cellular_enabled() const { - return enabled_devices_ & (1 << TYPE_CELLULAR); + return enabled_devices_ & (1 << TYPE_CELLULAR); } virtual bool offline_mode() const { return offline_mode_; } @@ -548,8 +546,7 @@ class NetworkLibraryImpl : public NetworkLibrary { } } - NetworkIPConfigVector GetIPConfigs( - const std::string& device_path) { + NetworkIPConfigVector GetIPConfigs(const std::string& device_path) { NetworkIPConfigVector ipconfig_vector; if (!device_path.empty()) { IPConfigStatus* ipconfig_status = ListIPConfigs(device_path.c_str()); @@ -584,8 +581,10 @@ class NetworkLibraryImpl : public NetworkLibrary { } output.append("<h3>Ethernet:</h3><table border=1>"); - output.append("<tr>" + ToHtmlTableHeader(ðernet_) + "</tr>"); - output.append("<tr>" + ToHtmlTableRow(ðernet_) + "</tr>"); + if (ethernet_enabled()) { + output.append("<tr>" + ToHtmlTableHeader(ðernet_) + "</tr>"); + output.append("<tr>" + ToHtmlTableRow(ðernet_) + "</tr>"); + } output.append("</table><h3>Wifi:</h3><table border=1>"); for (size_t i = 0; i < wifi_networks_.size(); ++i) { @@ -818,8 +817,7 @@ class NetworkLibraryImpl : public NetworkLibrary { return (iter != networks.end()) ? &(*iter) : NULL; } - void EnableNetworkDeviceType(ConnectionType device, - bool enable) { + void EnableNetworkDeviceType(ConnectionType device, bool enable) { if (!CrosLibrary::Get()->EnsureLoaded()) return; diff --git a/chrome/browser/chromeos/dom_ui/internet_options_handler.cc b/chrome/browser/chromeos/dom_ui/internet_options_handler.cc index e1e536e..0207484 100644 --- a/chrome/browser/chromeos/dom_ui/internet_options_handler.cc +++ b/chrome/browser/chromeos/dom_ui/internet_options_handler.cc @@ -225,21 +225,25 @@ ListValue* InternetOptionsHandler::GetWiredList() { ResourceBundle& rb = ResourceBundle::GetSharedInstance(); ListValue* list = new ListValue(); - const chromeos::EthernetNetwork& ethernet_network = cros->ethernet_network(); - SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); - if (!ethernet_network.connecting() && - !ethernet_network.connected()) { - icon = chromeos::NetworkMenuButton::IconForDisplay(icon, - *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED)); + // If ethernet is not enabled, then don't add anything. + if (cros->ethernet_enabled()) { + const chromeos::EthernetNetwork& ethernet_network = + cros->ethernet_network(); + SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); + if (!ethernet_network.connecting() && + !ethernet_network.connected()) { + icon = chromeos::NetworkMenuButton::IconForDisplay(icon, + *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED)); + } + list->Append(GetNetwork( + ethernet_network.service_path(), + icon, + l10n_util::GetStringUTF8(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), + ethernet_network.connecting(), + ethernet_network.connected(), + chromeos::TYPE_ETHERNET, + false)); } - list->Append(GetNetwork( - ethernet_network.service_path(), - icon, - l10n_util::GetStringUTF8(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), - ethernet_network.connecting(), - ethernet_network.connected(), - chromeos::TYPE_ETHERNET, - false)); return list; } @@ -286,14 +290,17 @@ ListValue* InternetOptionsHandler::GetWirelessList() { false)); } - list->Append(GetNetwork( - kOtherNetworksFakePath, - SkBitmap(), - l10n_util::GetStringUTF8(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS), - false, - false, - chromeos::TYPE_WIFI, - false)); + // Add "Other..." if wifi is enabled. + if (cros->wifi_enabled()) { + list->Append(GetNetwork( + kOtherNetworksFakePath, + SkBitmap(), + l10n_util::GetStringUTF8(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS), + false, + false, + chromeos::TYPE_WIFI, + false)); + } return list; } diff --git a/chrome/browser/chromeos/status/network_menu_button.cc b/chrome/browser/chromeos/status/network_menu_button.cc index ad5e7cc..0070038 100644 --- a/chrome/browser/chromeos/status/network_menu_button.cc +++ b/chrome/browser/chromeos/status/network_menu_button.cc @@ -4,6 +4,7 @@ #include "chrome/browser/chromeos/status/network_menu_button.h" +#include <algorithm> #include <limits> #include "app/l10n_util.h" @@ -347,26 +348,28 @@ void NetworkMenuButton::InitMenuItems() { NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - // Ethernet - string16 label = l10n_util::GetStringUTF16( - IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); - SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); - SkBitmap badge = cros->ethernet_connecting() || cros->ethernet_connected() ? - SkBitmap() : *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED); - int flag = (cros->ethernet_connecting() || cros->ethernet_connected()) ? - FLAG_ETHERNET | FLAG_ASSOCIATED : FLAG_ETHERNET; - menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, - IconForDisplay(icon, badge), std::string(), flag)); + // Ethernet (if enabled, which means it's available)) + if (cros->ethernet_enabled()) { + string16 label = l10n_util::GetStringUTF16( + IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); + SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); + SkBitmap badge = cros->ethernet_connecting() || cros->ethernet_connected() ? + SkBitmap() : *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED); + int flag = (cros->ethernet_connecting() || cros->ethernet_connected()) ? + FLAG_ETHERNET | FLAG_ASSOCIATED : FLAG_ETHERNET; + menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, + IconForDisplay(icon, badge), std::string(), flag)); + } // Wifi const WifiNetworkVector& wifi_networks = cros->wifi_networks(); // Wifi networks ssids. for (size_t i = 0; i < wifi_networks.size(); ++i) { - label = ASCIIToUTF16(wifi_networks[i].name()); + string16 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 = (wifi_networks[i].name() == cros->wifi_name()) ? + int flag = (wifi_networks[i].name() == cros->wifi_name()) ? FLAG_WIFI | FLAG_ASSOCIATED : FLAG_WIFI; menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, IconForDisplay(icon, badge), wifi_networks[i].service_path(), flag)); @@ -376,12 +379,12 @@ void NetworkMenuButton::InitMenuItems() { const CellularNetworkVector& cell_networks = cros->cellular_networks(); // Cellular networks ssids. for (size_t i = 0; i < cell_networks.size(); ++i) { - label = ASCIIToUTF16(cell_networks[i].name()); + string16 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 = (cell_networks[i].name() == cros->cellular_name()) ? + int flag = (cell_networks[i].name() == cros->cellular_name()) ? FLAG_CELLULAR | FLAG_ASSOCIATED : FLAG_CELLULAR; menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, IconForDisplay(icon, badge), cell_networks[i].service_path(), flag)); @@ -389,18 +392,21 @@ void NetworkMenuButton::InitMenuItems() { // No networks available message. if (wifi_networks.empty() && cell_networks.empty()) { - label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, - l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); + string16 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), - SkBitmap()), - std::string(), FLAG_OTHER_NETWORK)); + // Add "Other..." if wifi is enabled. + if (cros->wifi_enabled()) { + menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, + l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS), + IconForDisplay(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0), + SkBitmap()), + std::string(), FLAG_OTHER_NETWORK)); + } if (cros->wifi_available() || cros->cellular_available()) { // Separator. @@ -410,7 +416,7 @@ void NetworkMenuButton::InitMenuItems() { if (cros->wifi_available()) { int id = cros->wifi_enabled() ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; - label = l10n_util::GetStringFUTF16(id, + string16 label = l10n_util::GetStringFUTF16(id, l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_WIFI)); menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, SkBitmap(), std::string(), FLAG_TOGGLE_WIFI)); @@ -420,7 +426,7 @@ void NetworkMenuButton::InitMenuItems() { if (cros->cellular_available()) { int id = cros->cellular_enabled() ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; - label = l10n_util::GetStringFUTF16(id, + string16 label = l10n_util::GetStringFUTF16(id, l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CELLULAR)); menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, SkBitmap(), std::string(), FLAG_TOGGLE_CELLULAR)); @@ -447,7 +453,7 @@ void NetworkMenuButton::InitMenuItems() { // Network settings. if (host_->ShouldOpenButtonOptions(this)) { - label = + string16 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)); diff --git a/chrome/browser/resources/options/chromeos_internet_options.html b/chrome/browser/resources/options/chromeos_internet_options.html index bcdf3bd..a476c1e 100644 --- a/chrome/browser/resources/options/chromeos_internet_options.html +++ b/chrome/browser/resources/options/chromeos_internet_options.html @@ -1,14 +1,14 @@ <div class="page hidden" id="internetPage"> <h1 i18n-content="internetPage"></h1> - <section> + <section id="wiredSection"> <h3 i18n-content="wired_title"></h3> <div class="networks" id="wiredList"></div> </section> - <section> + <section id="wirelessSection"> <h3 i18n-content="wireless_title"></h3> <div class="networks" id="wirelessList"></div> </section> - <section> + <section id="rememberedSection"> <h3 i18n-content="remembered_title"></h3> <div class="networks" id="rememberedList"></div> </section> diff --git a/chrome/browser/resources/options/chromeos_internet_options.js b/chrome/browser/resources/options/chromeos_internet_options.js index dea5838..9fb2975 100644 --- a/chrome/browser/resources/options/chromeos_internet_options.js +++ b/chrome/browser/resources/options/chromeos_internet_options.js @@ -38,6 +38,10 @@ cr.define('options', function() { $('wirelessList').load(templateData.wirelessList); options.internet.NetworkElement.decorate($('rememberedList')); $('rememberedList').load(templateData.rememberedList); + + $('wiredSection').hidden = (templateData.wiredList.length == 0); + $('wirelessSection').hidden = (templateData.wirelessList.length == 0); + $('rememberedSection').hidden = (templateData.rememberedList.length == 0); } }; @@ -48,6 +52,10 @@ cr.define('options', function() { $('wiredList').load(data.wiredList); $('wirelessList').load(data.wirelessList); $('rememberedList').load(data.rememberedList); + + $('wiredSection').hidden = (data.wiredList.length == 0); + $('wirelessSection').hidden = (data.wirelessList.length == 0); + $('rememberedSection').hidden = (data.rememberedList.length == 0); }; // Export diff --git a/chrome/browser/resources/options/chromeos_internet_options_page.css b/chrome/browser/resources/options/chromeos_internet_options_page.css index c09a5f8..04fc82f 100644 --- a/chrome/browser/resources/options/chromeos_internet_options_page.css +++ b/chrome/browser/resources/options/chromeos_internet_options_page.css @@ -11,6 +11,10 @@ width: auto; } +#internetPage > section[hidden] { + display: none; +} + .networks { -webkit-margin-start: 15px; padding: 2px; |