summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-12 19:47:47 +0000
committerchocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-12 19:47:47 +0000
commitc42d7348f690d96354e509a2082f2de9cc137f5c (patch)
treeafb7a6fc5f5c68862ad3b385c9f0a3c316e35e75
parent52f98381745a569f53fa484f8183315527bd662c (diff)
downloadchromium_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
-rw-r--r--chrome/browser/chromeos/cros/network_library.cc44
-rw-r--r--chrome/browser/chromeos/dom_ui/internet_options_handler.cc51
-rw-r--r--chrome/browser/chromeos/status/network_menu_button.cc56
-rw-r--r--chrome/browser/resources/options/chromeos_internet_options.html6
-rw-r--r--chrome/browser/resources/options/chromeos_internet_options.js8
-rw-r--r--chrome/browser/resources/options/chromeos_internet_options_page.css4
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(&ethernet_) + "</tr>");
- output.append("<tr>" + ToHtmlTableRow(&ethernet_) + "</tr>");
+ if (ethernet_enabled()) {
+ output.append("<tr>" + ToHtmlTableHeader(&ethernet_) + "</tr>");
+ output.append("<tr>" + ToHtmlTableRow(&ethernet_) + "</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;