| 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_;
|
|
|