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

Side by Side Diff: chrome/browser/chromeos/status/network_menu.cc

Issue 10056001: chromeos: Remove old status-area related code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/status/network_menu.h" 5 #include "chrome/browser/chromeos/status/network_menu.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/stringprintf.h" 12 #include "base/stringprintf.h"
13 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
14 #include "chrome/browser/chromeos/choose_mobile_network_dialog.h" 14 #include "chrome/browser/chromeos/choose_mobile_network_dialog.h"
15 #include "chrome/browser/chromeos/cros/cros_library.h" 15 #include "chrome/browser/chromeos/cros/cros_library.h"
16 #include "chrome/browser/chromeos/enrollment_dialog_view.h" 16 #include "chrome/browser/chromeos/enrollment_dialog_view.h"
17 #include "chrome/browser/chromeos/login/user_manager.h" 17 #include "chrome/browser/chromeos/login/user_manager.h"
18 #include "chrome/browser/chromeos/mobile_config.h" 18 #include "chrome/browser/chromeos/mobile_config.h"
19 #include "chrome/browser/chromeos/options/network_config_view.h" 19 #include "chrome/browser/chromeos/options/network_config_view.h"
20 #include "chrome/browser/chromeos/sim_dialog_delegate.h" 20 #include "chrome/browser/chromeos/sim_dialog_delegate.h"
21 #include "chrome/browser/chromeos/status/network_menu_icon.h" 21 #include "chrome/browser/chromeos/status/network_menu_icon.h"
22 #include "chrome/browser/chromeos/status/status_area_view_chromeos.h"
23 #include "chrome/browser/defaults.h" 22 #include "chrome/browser/defaults.h"
24 #include "chrome/browser/profiles/profile_manager.h" 23 #include "chrome/browser/profiles/profile_manager.h"
25 #include "chrome/browser/ui/browser.h" 24 #include "chrome/browser/ui/browser.h"
26 #include "chrome/browser/ui/dialog_style.h" 25 #include "chrome/browser/ui/dialog_style.h"
27 #include "chrome/browser/ui/views/window.h" 26 #include "chrome/browser/ui/views/window.h"
28 #include "chrome/common/chrome_switches.h" 27 #include "chrome/common/chrome_switches.h"
29 #include "chrome/common/url_constants.h" 28 #include "chrome/common/url_constants.h"
30 #include "content/public/browser/browser_thread.h" 29 #include "content/public/browser/browser_thread.h"
31 #include "grit/generated_resources.h" 30 #include "grit/generated_resources.h"
32 #include "grit/theme_resources.h" 31 #include "grit/theme_resources.h"
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 if (cellular_available && cellular_enabled) { 619 if (cellular_available && cellular_enabled) {
621 const CellularNetworkVector& cell_networks = cros->cellular_networks(); 620 const CellularNetworkVector& cell_networks = cros->cellular_networks();
622 const CellularNetwork* active_cellular = cros->cellular_network(); 621 const CellularNetwork* active_cellular = cros->cellular_network();
623 622
624 bool separator_added = false; 623 bool separator_added = false;
625 // List Cellular networks. 624 // List Cellular networks.
626 for (size_t i = 0; i < cell_networks.size(); ++i) { 625 for (size_t i = 0; i < cell_networks.size(); ++i) {
627 chromeos::ActivationState activation_state = 626 chromeos::ActivationState activation_state =
628 cell_networks[i]->activation_state(); 627 cell_networks[i]->activation_state();
629 628
630 // If we are on the OOBE/login screen, do not show activating 3G option. 629 // This is currently only used in the OOBE/login screen, do not show
631 if (!StatusAreaViewChromeos::IsBrowserMode() && 630 // activating 3G option.
632 activation_state != ACTIVATION_STATE_ACTIVATED) 631 if (activation_state != ACTIVATION_STATE_ACTIVATED)
633 continue; 632 continue;
634 633
635 // Ampersand is a valid character in a network name, but menu2 uses it 634 // Ampersand is a valid character in a network name, but menu2 uses it
636 // to mark "mnemonics" for keyboard shortcuts. http://crosbug.com/14697 635 // to mark "mnemonics" for keyboard shortcuts. http://crosbug.com/14697
637 std::string network_name = EscapeAmpersands(cell_networks[i]->name()); 636 std::string network_name = EscapeAmpersands(cell_networks[i]->name());
638 if (activation_state == ACTIVATION_STATE_NOT_ACTIVATED || 637 if (activation_state == ACTIVATION_STATE_NOT_ACTIVATED ||
639 activation_state == ACTIVATION_STATE_PARTIALLY_ACTIVATED) { 638 activation_state == ACTIVATION_STATE_PARTIALLY_ACTIVATED) {
640 label = l10n_util::GetStringFUTF16( 639 label = l10n_util::GetStringFUTF16(
641 IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATE, 640 IDS_STATUSBAR_NETWORK_DEVICE_ACTIVATE,
642 UTF8ToUTF16(network_name)); 641 UTF8ToUTF16(network_name));
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 if (label.length()) { 686 if (label.length()) {
688 menu_items_.push_back( 687 menu_items_.push_back(
689 MenuItem(ui::MenuModel::TYPE_COMMAND, 688 MenuItem(ui::MenuModel::TYPE_COMMAND,
690 label, SkBitmap(), 689 label, SkBitmap(),
691 std::string(), FLAG_DISABLED)); 690 std::string(), FLAG_DISABLED));
692 } 691 }
693 } 692 }
694 } 693 }
695 const NetworkDevice* cellular_device = cros->FindCellularDevice(); 694 const NetworkDevice* cellular_device = cros->FindCellularDevice();
696 if (cellular_device) { 695 if (cellular_device) {
697 // Add "View Account" with top up URL if we know that. 696 // NOTE: This is currently only used in login/OOBE screen. So do not add
698 MobileConfig* config = MobileConfig::GetInstance(); 697 // "View Account" with top up URL.
699 if (StatusAreaViewChromeos::IsBrowserMode() && config->IsReady()) {
700 std::string carrier_id = cros->GetCellularHomeCarrierId();
701 // If we don't have top up URL cached.
702 if (carrier_id != carrier_id_) {
703 // Mark that we've checked this carrier ID.
704 carrier_id_ = carrier_id;
705 top_up_url_.clear();
706 const MobileConfig::Carrier* carrier = config->GetCarrier(carrier_id);
707 if (carrier && !carrier->top_up_url().empty())
708 top_up_url_ = carrier->top_up_url();
709 }
710 if (!top_up_url_.empty()) {
711 menu_items_.push_back(MenuItem(
712 ui::MenuModel::TYPE_COMMAND,
713 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_VIEW_ACCOUNT),
714 SkBitmap(),
715 std::string(), FLAG_VIEW_ACCOUNT));
716 }
717 }
718 698
719 if (cellular_device->support_network_scan()) { 699 if (cellular_device->support_network_scan()) {
720 // For GSM add mobile network scan. 700 // For GSM add mobile network scan.
721 if (!separator_added && !menu_items_.empty()) 701 if (!separator_added && !menu_items_.empty())
722 menu_items_.push_back(MenuItem()); 702 menu_items_.push_back(MenuItem());
723 703
724 menu_items_.push_back(MenuItem( 704 menu_items_.push_back(MenuItem(
725 ui::MenuModel::TYPE_COMMAND, 705 ui::MenuModel::TYPE_COMMAND,
726 l10n_util::GetStringUTF16( 706 l10n_util::GetStringUTF16(
727 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS), 707 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS),
728 NetworkMenuIcon::GetDisconnectedBitmap(NetworkMenuIcon::BARS, 708 NetworkMenuIcon::GetDisconnectedBitmap(NetworkMenuIcon::BARS,
729 NetworkMenuIcon::COLOR_DARK), 709 NetworkMenuIcon::COLOR_DARK),
730 std::string(), FLAG_ADD_CELLULAR)); 710 std::string(), FLAG_ADD_CELLULAR));
731 } 711 }
732 } 712 }
733 } 713 }
734 714
735 // No networks available message. 715 // No networks available message.
736 if (menu_items_.empty()) { 716 if (menu_items_.empty()) {
737 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, 717 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT,
738 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); 718 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE));
739 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label, 719 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label,
740 SkBitmap(), std::string(), FLAG_DISABLED)); 720 SkBitmap(), std::string(), FLAG_DISABLED));
741 } 721 }
742 722
743 // If we are logged in and there is a connected network or a connected VPN,
744 // add submenu for Private Networks.
745 if (StatusAreaViewChromeos::IsBrowserMode()) {
746 if (cros->connected_network() || cros->virtual_network_connected()) {
747 menu_items_.push_back(MenuItem()); // Separator
748 const SkBitmap icon = NetworkMenuIcon::GetVpnBitmap();
749 menu_items_.push_back(MenuItem(
750 ui::MenuModel::TYPE_SUBMENU,
751 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_PRIVATE_NETWORKS),
752 icon, vpn_menu_model_.get(), FLAG_NONE));
753 vpn_menu_model_->InitMenuItems(should_open_button_options);
754 }
755 }
756
757 bool show_wifi_scanning = wifi_available && cros->wifi_scanning(); 723 bool show_wifi_scanning = wifi_available && cros->wifi_scanning();
758 // Do not show disable wifi during oobe 724 // Do not show disable wifi during oobe
759 bool show_toggle_wifi = wifi_available && 725 bool show_toggle_wifi = wifi_available &&
760 (should_open_button_options || !wifi_enabled); 726 (should_open_button_options || !wifi_enabled);
761 // Do not show disable cellular during oobe 727 // Do not show disable cellular during oobe
762 bool show_toggle_cellular = cellular_available && 728 bool show_toggle_cellular = cellular_available &&
763 (should_open_button_options || !cellular_enabled); 729 (should_open_button_options || !cellular_enabled);
764 730
765 if (show_wifi_scanning || show_toggle_wifi || show_toggle_cellular) { 731 if (show_wifi_scanning || show_toggle_wifi || show_toggle_cellular) {
766 menu_items_.push_back(MenuItem()); // Separator 732 menu_items_.push_back(MenuItem()); // Separator
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 // l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OFFLINE_MODE), 786 // l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OFFLINE_MODE),
821 // SkBitmap(), std::string(), FLAG_TOGGLE_OFFLINE)); 787 // SkBitmap(), std::string(), FLAG_TOGGLE_OFFLINE));
822 788
823 // Additional links like: 789 // Additional links like:
824 // * Network settings; 790 // * Network settings;
825 // * IP Address on active interface; 791 // * IP Address on active interface;
826 // * Hardware addresses for wifi and ethernet. 792 // * Hardware addresses for wifi and ethernet.
827 more_menu_model_->InitMenuItems(should_open_button_options); 793 more_menu_model_->InitMenuItems(should_open_button_options);
828 if (!more_menu_model_->menu_items().empty()) { 794 if (!more_menu_model_->menu_items().empty()) {
829 menu_items_.push_back(MenuItem()); // Separator 795 menu_items_.push_back(MenuItem()); // Separator
830 if (StatusAreaViewChromeos::IsBrowserMode()) { 796 menu_items_.push_back(MenuItem(
831 // In browser mode we do not want separate submenu, inline items. 797 ui::MenuModel::TYPE_SUBMENU,
832 menu_items_.insert( 798 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_MORE),
833 menu_items_.end(), 799 SkBitmap(), more_menu_model_.get(), FLAG_NONE));
834 more_menu_model_->menu_items().begin(),
835 more_menu_model_->menu_items().end());
836 } else {
837 menu_items_.push_back(MenuItem(
838 ui::MenuModel::TYPE_SUBMENU,
839 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_MORE),
840 SkBitmap(), more_menu_model_.get(), FLAG_NONE));
841 }
842 } 800 }
843 } 801 }
844 802
845 int MainMenuModel::GetCommandIdAt(int index) const { 803 int MainMenuModel::GetCommandIdAt(int index) const {
846 return index + kMainIndexMask; 804 return index + kMainIndexMask;
847 } 805 }
848 806
849 //////////////////////////////////////////////////////////////////////////////// 807 ////////////////////////////////////////////////////////////////////////////////
850 // VPNMenuModel 808 // VPNMenuModel
851 809
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 // in CrosMock::SetNetworkLibraryStatusAreaExpectations(). 875 // in CrosMock::SetNetworkLibraryStatusAreaExpectations().
918 876
919 menu_items_.clear(); 877 menu_items_.clear();
920 MenuItemVector link_items; 878 MenuItemVector link_items;
921 MenuItemVector address_items; 879 MenuItemVector address_items;
922 880
923 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); 881 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary();
924 bool connected = cros->Connected(); // always call for test expectations. 882 bool connected = cros->Connected(); // always call for test expectations.
925 883
926 int message_id = -1; 884 int message_id = -1;
927 if (StatusAreaViewChromeos::IsBrowserMode()) 885 if (connected)
928 message_id = IDS_STATUSBAR_NETWORK_OPEN_OPTIONS_DIALOG;
929 else if (connected)
930 message_id = IDS_STATUSBAR_NETWORK_OPEN_PROXY_SETTINGS_DIALOG; 886 message_id = IDS_STATUSBAR_NETWORK_OPEN_PROXY_SETTINGS_DIALOG;
931 if (message_id != -1) { 887 if (message_id != -1) {
932 link_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, 888 link_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND,
933 l10n_util::GetStringUTF16(message_id), 889 l10n_util::GetStringUTF16(message_id),
934 SkBitmap(), std::string(), FLAG_OPTIONS)); 890 SkBitmap(), std::string(), FLAG_OPTIONS));
935 } 891 }
936 892
937 if (connected) { 893 if (connected) {
938 std::string ip_address = cros->IPAddress(); 894 std::string ip_address = cros->IPAddress();
939 if (!ip_address.empty()) { 895 if (!ip_address.empty()) {
940 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, 896 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND,
941 ASCIIToUTF16(cros->IPAddress()), SkBitmap(), std::string(), 897 ASCIIToUTF16(cros->IPAddress()), SkBitmap(), std::string(),
942 FLAG_DISABLED)); 898 FLAG_DISABLED));
943 } 899 }
944 } 900 }
945 901
946 if (!StatusAreaViewChromeos::IsBrowserMode()) { 902 const NetworkDevice* ether = cros->FindEthernetDevice();
947 const NetworkDevice* ether = cros->FindEthernetDevice(); 903 if (ether) {
948 if (ether) { 904 std::string hardware_address;
905 cros->GetIPConfigs(ether->device_path(), &hardware_address,
906 NetworkLibrary::FORMAT_COLON_SEPARATED_HEX);
907 if (!hardware_address.empty()) {
908 std::string label = l10n_util::GetStringUTF8(
909 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET) + " " + hardware_address;
910 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND,
911 UTF8ToUTF16(label), SkBitmap(), std::string(), FLAG_DISABLED));
912 }
913 }
914
915 if (cros->wifi_enabled()) {
916 const NetworkDevice* wifi = cros->FindWifiDevice();
917 if (wifi) {
949 std::string hardware_address; 918 std::string hardware_address;
950 cros->GetIPConfigs(ether->device_path(), &hardware_address, 919 cros->GetIPConfigs(wifi->device_path(),
951 NetworkLibrary::FORMAT_COLON_SEPARATED_HEX); 920 &hardware_address, NetworkLibrary::FORMAT_COLON_SEPARATED_HEX);
952 if (!hardware_address.empty()) { 921 if (!hardware_address.empty()) {
953 std::string label = l10n_util::GetStringUTF8( 922 std::string label = l10n_util::GetStringUTF8(
954 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET) + " " + hardware_address; 923 IDS_STATUSBAR_NETWORK_DEVICE_WIFI) + " " + hardware_address;
955 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, 924 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND,
956 UTF8ToUTF16(label), SkBitmap(), std::string(), FLAG_DISABLED)); 925 UTF8ToUTF16(label), SkBitmap(), std::string(), FLAG_DISABLED));
957 } 926 }
958 } 927 }
959
960 if (cros->wifi_enabled()) {
961 const NetworkDevice* wifi = cros->FindWifiDevice();
962 if (wifi) {
963 std::string hardware_address;
964 cros->GetIPConfigs(wifi->device_path(),
965 &hardware_address, NetworkLibrary::FORMAT_COLON_SEPARATED_HEX);
966 if (!hardware_address.empty()) {
967 std::string label = l10n_util::GetStringUTF8(
968 IDS_STATUSBAR_NETWORK_DEVICE_WIFI) + " " + hardware_address;
969 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND,
970 UTF8ToUTF16(label), SkBitmap(), std::string(), FLAG_DISABLED));
971 }
972 }
973 }
974 } 928 }
975 929
976 menu_items_ = link_items; 930 menu_items_ = link_items;
977 if (!menu_items_.empty() && address_items.size() > 1) 931 if (!menu_items_.empty() && address_items.size() > 1)
978 menu_items_.push_back(MenuItem()); // Separator 932 menu_items_.push_back(MenuItem()); // Separator
979 menu_items_.insert(menu_items_.end(), 933 menu_items_.insert(menu_items_.end(),
980 address_items.begin(), address_items.end()); 934 address_items.begin(), address_items.end());
981 } 935 }
982 936
983 int MoreMenuModel::GetCommandIdAt(int index) const { 937 int MoreMenuModel::GetCommandIdAt(int index) const {
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1127 1081
1128 void NetworkMenu::ShowOtherCellular() { 1082 void NetworkMenu::ShowOtherCellular() {
1129 ChooseMobileNetworkDialog::ShowDialog(delegate_->GetNativeWindow()); 1083 ChooseMobileNetworkDialog::ShowDialog(delegate_->GetNativeWindow());
1130 } 1084 }
1131 1085
1132 bool NetworkMenu::ShouldHighlightNetwork(const Network* network) { 1086 bool NetworkMenu::ShouldHighlightNetwork(const Network* network) {
1133 return ::ShouldHighlightNetwork(network); 1087 return ::ShouldHighlightNetwork(network);
1134 } 1088 }
1135 1089
1136 } // namespace chromeos 1090 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/status/memory_menu_button.cc ('k') | chrome/browser/chromeos/status/network_menu_button.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698