Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(606)

Unified Diff: chrome/browser/chromeos/system/ash_system_tray_delegate.cc

Issue 15350002: Deprecate kAshDisableNewNetworkStatusArea (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/system/ash_system_tray_delegate.cc
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
index 499c68abf59592c194cbabc65f011c48bf39b40b..de1d8247133760adc4c35137aefbb51d5ad5d267 100644
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
@@ -66,7 +66,6 @@
#include "chrome/browser/chromeos/sim_dialog_delegate.h"
#include "chrome/browser/chromeos/status/data_promo_notification.h"
#include "chrome/browser/chromeos/status/network_menu.h"
-#include "chrome/browser/chromeos/status/network_menu_icon.h"
#include "chrome/browser/chromeos/system/timezone_settings.h"
#include "chrome/browser/chromeos/system_key_event_listener.h"
#include "chrome/browser/google/google_util.h"
@@ -124,19 +123,6 @@ const int kSessionLengthLimitMinMs = 30 * 1000; // 30 seconds.
// The maximum session length limit that can be set.
const int kSessionLengthLimitMaxMs = 24 * 60 * 60 * 1000; // 24 hours.
-ash::NetworkIconInfo CreateNetworkIconInfo(const Network* network) {
- ash::NetworkIconInfo info;
- info.name = network->type() == TYPE_ETHERNET ?
- l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET) :
- UTF8ToUTF16(network->name());
- info.image = NetworkMenuIcon::GetImage(network, NetworkMenuIcon::COLOR_DARK);
- info.service_path = network->service_path();
- info.connecting = network->connecting();
- info.connected = network->connected();
- info.is_cellular = network->type() == TYPE_CELLULAR;
- return info;
-}
-
void ExtractIMEInfo(const input_method::InputMethodDescriptor& ime,
const input_method::InputMethodUtil& util,
ash::IMEInfo* info) {
@@ -239,10 +225,8 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
public AudioHandler::VolumeObserver,
public PowerManagerClient::Observer,
public SessionManagerClient::Observer,
- public NetworkMenuIcon::Delegate,
public NetworkMenu::Delegate,
public NetworkLibrary::NetworkManagerObserver,
- public NetworkLibrary::NetworkObserver,
public drive::JobListObserver,
public content::NotificationObserver,
public input_method::InputMethodManager::Observer,
@@ -256,12 +240,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
SystemTrayDelegate()
: ui_weak_ptr_factory_(
new base::WeakPtrFactory<SystemTrayDelegate>(this)),
- network_icon_(new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE)),
- network_icon_dark_(
- new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE)),
- network_icon_vpn_(
- new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE)),
- network_menu_(new NetworkMenu(this)),
clock_type_(base::k24HourClock),
search_key_mapped_to_(input_method::kSearchKey),
screen_locked_(false),
@@ -271,6 +249,11 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
cellular_activating_(false),
cellular_out_of_credits_(false),
volume_control_delegate_(new VolumeController()) {
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(
+ chromeos::switches::kUseNewNetworkConfigurationHandlers)) {
+ network_menu_.reset(new NetworkMenu(this));
+ }
+
// Register notifications on construction so that events such as
// PROFILE_CREATED do not get missed if they happen before Initialize().
registrar_.Add(this,
@@ -323,10 +306,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
if (SystemKeyEventListener::GetInstance())
SystemKeyEventListener::GetInstance()->AddCapsLockObserver(this);
- network_icon_->SetResourceColorTheme(NetworkMenuIcon::COLOR_LIGHT);
- network_icon_dark_->SetResourceColorTheme(NetworkMenuIcon::COLOR_DARK);
- network_icon_vpn_->SetResourceColorTheme(NetworkMenuIcon::COLOR_DARK);
-
device::BluetoothAdapterFactory::GetAdapter(
base::Bind(&SystemTrayDelegate::InitializeOnAdapterReady,
ui_weak_ptr_factory_->GetWeakPtr()));
@@ -436,6 +415,9 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
virtual bool IsOobeCompleted() const OVERRIDE {
+ if (!base::chromeos::IsRunningOnChromeOS() &&
+ LoginState::Get()->GetLoggedInState() == LoginState::LOGGED_IN_ACTIVE)
+ return true;
return StartupUtils::IsOobeCompleted();
}
@@ -757,131 +739,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
integration_service->job_list()->GetJobInfoList());
}
-
- virtual void GetMostRelevantNetworkIcon(ash::NetworkIconInfo* info,
- bool dark) OVERRIDE {
- NetworkMenuIcon* icon =
- dark ? network_icon_dark_.get() : network_icon_.get();
- info->image = icon->GetIconAndText(&info->description);
- info->tray_icon_visible = icon->ShouldShowIconInTray();
- }
-
- virtual void GetVirtualNetworkIcon(ash::NetworkIconInfo* info) OVERRIDE {
- NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
- if (crosnet->virtual_network_connected()) {
- NetworkMenuIcon* icon = network_icon_vpn_.get();
- info->image = icon->GetVpnIconAndText(&info->description);
- info->tray_icon_visible = false;
- } else {
- gfx::ImageSkia* image = NetworkMenuIcon::GetVirtualNetworkImage();
- info->image = *image;
- info->description = l10n_util::GetStringUTF16(
- IDS_ASH_STATUS_TRAY_VPN_DISCONNECTED);
- }
- }
-
- virtual void GetAvailableNetworks(
- std::vector<ash::NetworkIconInfo>* list) OVERRIDE {
- NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
-
- std::set<const Network*> added;
-
- // Add the active network first.
- if (crosnet->active_nonvirtual_network())
- AddNetworkToList(list, &added, crosnet->active_nonvirtual_network());
-
- if (crosnet->ethernet_network() &&
- crosnet->ethernet_network()->connecting_or_connected()) {
- AddNetworkToList(list, &added, crosnet->ethernet_network());
- }
- if (crosnet->cellular_network()
- && crosnet->cellular_network()->connecting_or_connected()) {
- AddNetworkToList(list, &added, crosnet->cellular_network());
- }
- if (crosnet->wimax_network()
- && crosnet->wimax_network()->connecting_or_connected()) {
- AddNetworkToList(list, &added, crosnet->wimax_network());
- }
- if (crosnet->wifi_network()
- && crosnet->wifi_network()->connecting_or_connected()) {
- AddNetworkToList(list, &added, crosnet->wifi_network());
- }
-
- // Add remaining networks by type.
-
- // Ethernet.
- if (crosnet->ethernet_available() && crosnet->ethernet_enabled()) {
- const EthernetNetwork* ethernet_network = crosnet->ethernet_network();
- if (ethernet_network)
- AddNetworkToList(list, &added, ethernet_network);
- }
-
- // Cellular.
- if (crosnet->cellular_available() && crosnet->cellular_enabled()) {
- const CellularNetworkVector& cell = crosnet->cellular_networks();
- for (size_t i = 0; i < cell.size(); ++i)
- AddNetworkToList(list, &added, cell[i]);
- }
-
- // Wimax.
- if (crosnet->wimax_available() && crosnet->wimax_enabled()) {
- const WimaxNetworkVector& wimax = crosnet->wimax_networks();
- for (size_t i = 0; i < wimax.size(); ++i)
- AddNetworkToList(list, &added, wimax[i]);
- }
-
- // Wifi.
- if (crosnet->wifi_available() && crosnet->wifi_enabled()) {
- const WifiNetworkVector& wifi = crosnet->wifi_networks();
- for (size_t i = 0; i < wifi.size(); ++i)
- AddNetworkToList(list, &added, wifi[i]);
- }
- }
-
- virtual void GetVirtualNetworks(
- std::vector<ash::NetworkIconInfo>* list) OVERRIDE {
- NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
- std::set<const Network*> added;
-
- // Add connected/connecting vpn first.
- if (crosnet->virtual_network()
- && crosnet->virtual_network()->connecting_or_connected()) {
- AddNetworkToList(list, &added, crosnet->virtual_network());
- }
-
- // VPN (only if logged in).
- if (GetUserLoginStatus() != ash::user::LOGGED_IN_NONE &&
- (crosnet->connected_network() ||
- crosnet->virtual_network_connected())) {
- const VirtualNetworkVector& vpns = crosnet->virtual_networks();
- for (size_t i = 0; i < vpns.size(); ++i)
- AddNetworkToList(list, &added, vpns[i]);
- }
- }
-
- virtual void GetNetworkAddresses(std::string* ip_address,
- std::string* ethernet_mac_address,
- std::string* wifi_mac_address) OVERRIDE {
- NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
- if (crosnet->Connected())
- *ip_address = crosnet->IPAddress();
- else
- *ip_address = std::string();
-
- *ethernet_mac_address = std::string();
- const NetworkDevice* ether = crosnet->FindEthernetDevice();
- if (ether)
- crosnet->GetIPConfigsAndBlock(ether->device_path(), ethernet_mac_address,
- NetworkLibrary::FORMAT_COLON_SEPARATED_HEX);
-
- *wifi_mac_address = std::string();
- const NetworkDevice* wifi = crosnet->wifi_enabled() ?
- crosnet->FindWifiDevice() : NULL;
- if (wifi)
- crosnet->GetIPConfigsAndBlock(wifi->device_path(), wifi_mac_address,
- NetworkLibrary::FORMAT_COLON_SEPARATED_HEX);
- }
-
virtual void ConfigureNetwork(const std::string& network_id) OVERRIDE {
const chromeos::NetworkState* network = network_id.empty() ? NULL :
chromeos::NetworkStateHandler::Get()->GetNetworkState(network_id);
@@ -919,11 +776,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
ShowNetworkSettings("");
}
- virtual void RequestNetworkScan() OVERRIDE {
- NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
- crosnet->RequestNetworkScan();
- }
-
virtual void AddBluetoothDevice() OVERRIDE {
// Open the Bluetooth device dialog, which automatically starts the
// discovery process.
@@ -933,20 +785,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
chrome::kBluetoothAddDeviceSubPage);
}
- virtual void ToggleAirplaneMode() OVERRIDE {
- NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
- crosnet->EnableOfflineMode(!crosnet->offline_mode());
- }
-
- virtual void ToggleWifi() OVERRIDE {
- GetSystemTrayNotifier()->NotifyWillToggleWifi();
- network_menu_->ToggleWifi();
- }
-
- virtual void ToggleMobile() OVERRIDE {
- network_menu_->ToggleMobile();
- }
-
virtual void ToggleBluetooth() OVERRIDE {
bluetooth_adapter_->SetPowered(!bluetooth_adapter_->IsPowered(),
base::Bind(&base::DoNothing),
@@ -959,51 +797,25 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
virtual void ShowOtherWifi() OVERRIDE {
- network_menu_->ShowOtherWifi();
+ NetworkConfigView::ShowForType(chromeos::TYPE_WIFI, GetNativeWindow());
}
virtual void ShowOtherVPN() OVERRIDE {
- network_menu_->ShowOtherVPN();
+ NetworkConfigView::ShowForType(chromeos::TYPE_VPN, GetNativeWindow());
}
virtual void ShowOtherCellular() OVERRIDE {
- network_menu_->ShowOtherCellular();
- }
-
- virtual bool IsNetworkConnected() OVERRIDE {
- return CrosLibrary::Get()->GetNetworkLibrary()->Connected();
- }
-
- virtual bool GetWifiAvailable() OVERRIDE {
- return CrosLibrary::Get()->GetNetworkLibrary()->wifi_available();
- }
-
- virtual bool GetMobileAvailable() OVERRIDE {
- return CrosLibrary::Get()->GetNetworkLibrary()->mobile_available();
+ ChooseMobileNetworkDialog::ShowDialog(GetNativeWindow());
}
virtual bool GetBluetoothAvailable() OVERRIDE {
return bluetooth_adapter_->IsPresent();
}
- virtual bool GetWifiEnabled() OVERRIDE {
- return CrosLibrary::Get()->GetNetworkLibrary()->wifi_enabled();
- }
-
- virtual bool GetMobileEnabled() OVERRIDE {
- return CrosLibrary::Get()->GetNetworkLibrary()->mobile_enabled();
- }
-
virtual bool GetBluetoothEnabled() OVERRIDE {
return bluetooth_adapter_->IsPowered();
}
- virtual bool GetMobileScanSupported() OVERRIDE {
- NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
- const NetworkDevice* mobile = crosnet->FindMobileDevice();
- return mobile ? mobile->support_network_scan() : false;
- }
-
virtual bool GetCellularCarrierInfo(std::string* carrier_id,
std::string* topup_url,
std::string* setup_url) OVERRIDE {
@@ -1034,14 +846,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
return result;
}
- virtual bool GetWifiScanning() OVERRIDE {
- return CrosLibrary::Get()->GetNetworkLibrary()->wifi_scanning();
- }
-
- virtual bool GetCellularInitializing() OVERRIDE {
- return CrosLibrary::Get()->GetNetworkLibrary()->cellular_initializing();
- }
-
virtual void ShowCellularURL(const std::string& url) OVERRIDE {
chrome::ShowSingletonTab(GetAppropriateBrowser(), GURL(url));
}
@@ -1180,88 +984,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
GetSystemTrayNotifier()->NotifySessionLengthLimitChanged();
}
- void NotifyRefreshNetwork() {
- chromeos::NetworkLibrary* crosnet =
- chromeos::CrosLibrary::Get()->GetNetworkLibrary();
- const Network* network = crosnet->connected_network();
- ash::NetworkIconInfo info;
- if (network)
- info = CreateNetworkIconInfo(network);
- info.image = network_icon_->GetIconAndText(&info.description);
- info.tray_icon_visible = network_icon_->ShouldShowIconInTray();
- GetSystemTrayNotifier()->NotifyRefreshNetwork(info);
- GetSystemTrayNotifier()->NotifyVpnRefreshNetwork(info);
- }
-
- void RefreshNetworkObserver(NetworkLibrary* crosnet) {
- const Network* network = crosnet->active_nonvirtual_network();
- std::string new_path = network ? network->service_path() : std::string();
- if (active_network_path_ != new_path) {
- if (!active_network_path_.empty())
- crosnet->RemoveNetworkObserver(active_network_path_, this);
- if (!new_path.empty())
- crosnet->AddNetworkObserver(new_path, this);
- active_network_path_ = new_path;
- }
- }
-
- void AddNetworkToList(std::vector<ash::NetworkIconInfo>* list,
- std::set<const Network*>* added,
- const Network* network) {
- // Only add networks to the list once.
- if (added->find(network) != added->end())
- return;
-
- ash::NetworkIconInfo info = CreateNetworkIconInfo(network);
- switch (network->type()) {
- case TYPE_ETHERNET:
- if (info.name.empty()) {
- info.name =
- l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET);
- }
- break;
- case TYPE_CELLULAR: {
- const CellularNetwork* cellular =
- static_cast<const CellularNetwork*>(network);
- ActivationState state = cellular->activation_state();
- if (state == ACTIVATION_STATE_NOT_ACTIVATED ||
- state == ACTIVATION_STATE_PARTIALLY_ACTIVATED) {
- // If a cellular network needs to be activated,
- // then do not show it in the lock screen.
- if (GetUserLoginStatus() == ash::user::LOGGED_IN_LOCKED)
- return;
-
- info.description = l10n_util::GetStringFUTF16(
- IDS_ASH_STATUS_TRAY_NETWORK_LIST_ACTIVATE, info.name);
- } else if (state == ACTIVATION_STATE_ACTIVATING) {
- info.description = l10n_util::GetStringFUTF16(
- IDS_ASH_STATUS_TRAY_NETWORK_LIST_ACTIVATING, info.name);
- } else if (network->connecting()) {
- info.description = l10n_util::GetStringFUTF16(
- IDS_STATUSBAR_NETWORK_DEVICE_STATUS,
- info.name, l10n_util::GetStringUTF16(
- IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING));
- }
- break;
- }
- case TYPE_VPN:
- case TYPE_WIFI:
- case TYPE_WIMAX:
- case TYPE_BLUETOOTH:
- case TYPE_UNKNOWN:
- break;
- }
- if (network->connecting()) {
- info.description = l10n_util::GetStringFUTF16(
- IDS_STATUSBAR_NETWORK_DEVICE_STATUS,
- info.name,
- l10n_util::GetStringUTF16(
- IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING));
- }
- added->insert(network);
- list->push_back(info);
- }
-
// Overridden from AudioHandler::VolumeObserver.
virtual void OnVolumeChanged() OVERRIDE {
float level = AudioHandler::GetInstance()->GetVolumePercent() / 100.f;
@@ -1299,11 +1021,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
// TODO(sad): Override more from PowerManagerClient::Observer here.
- // Overridden from NetworkMenuIcon::Delegate.
- virtual void NetworkMenuIconChanged() OVERRIDE {
- NotifyRefreshNetwork();
- }
-
// Overridden from NetworkMenu::Delegate.
virtual gfx::NativeWindow GetNativeWindow() const OVERRIDE {
return GetNativeWindowByStatus(GetUserLoginStatus());
@@ -1318,18 +1035,10 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
// Overridden from NetworkLibrary::NetworkManagerObserver.
virtual void OnNetworkManagerChanged(NetworkLibrary* crosnet) OVERRIDE {
- RefreshNetworkObserver(crosnet);
+ // TODO(stevenjb): Migrate to NetworkStateHandler.
data_promo_notification_->ShowOptionalMobileDataPromoNotification(
crosnet, GetPrimarySystemTray(), this);
UpdateCellular();
-
- NotifyRefreshNetwork();
- }
-
- // Overridden from NetworkLibrary::NetworkObserver.
- virtual void OnNetworkChanged(NetworkLibrary* crosnet,
- const Network* network) OVERRIDE {
- NotifyRefreshNetwork();
}
// content::NotificationObserver implementation.
@@ -1581,40 +1290,14 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
NULL,
ash::NetworkObserver::MESSAGE_DATA_PROMO,
type,
- l10n_util::GetStringUTF16(
- IDS_NETWORK_CELLULAR_ACTIVATED_TITLE),
- l10n_util::GetStringFUTF16(
- IDS_NETWORK_CELLULAR_ACTIVATED,
- UTF8ToUTF16((cellular->name()))),
- std::vector<string16>());
- }
- if (!CommandLine::ForCurrentProcess()->HasSwitch(
- ash::switches::kAshDisableNewNetworkStatusArea)) {
- return;
- }
- // Trigger "Out of credits" notification (for NetworkLibrary impl)
- if (cellular->out_of_credits() && !cellular_out_of_credits_) {
- cellular_out_of_credits_ = true;
- ash::NetworkObserver::NetworkType type = NetworkTypeForCellular(cellular);
- std::vector<string16> links;
- links.push_back(
- l10n_util::GetStringFUTF16(IDS_NETWORK_OUT_OF_CREDITS_LINK,
- UTF8ToUTF16(cellular->name())));
- ash::Shell::GetInstance()->system_tray_notifier()->
- NotifySetNetworkMessage(
- this, ash::NetworkObserver::ERROR_OUT_OF_CREDITS, type,
- l10n_util::GetStringUTF16(IDS_NETWORK_OUT_OF_CREDITS_TITLE),
- l10n_util::GetStringUTF16(IDS_NETWORK_OUT_OF_CREDITS_BODY),
- links);
- } else if (!cellular->out_of_credits() && cellular_out_of_credits_) {
- cellular_out_of_credits_ = false;
+ l10n_util::GetStringUTF16(IDS_NETWORK_CELLULAR_ACTIVATED_TITLE),
+ l10n_util::GetStringFUTF16(IDS_NETWORK_CELLULAR_ACTIVATED,
+ UTF8ToUTF16((cellular->name()))),
+ std::vector<string16>());
}
}
scoped_ptr<base::WeakPtrFactory<SystemTrayDelegate> > ui_weak_ptr_factory_;
- scoped_ptr<NetworkMenuIcon> network_icon_;
- scoped_ptr<NetworkMenuIcon> network_icon_dark_;
- scoped_ptr<NetworkMenuIcon> network_icon_vpn_;
scoped_ptr<NetworkMenu> network_menu_;
content::NotificationRegistrar registrar_;
PrefChangeRegistrar local_state_registrar_;
« no previous file with comments | « chrome/browser/chromeos/login/chrome_restart_request.cc ('k') | chrome/browser/ui/ash/chrome_shell_delegate_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698