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

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

Issue 7633046: Fix VPN icon issues (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix mock expectations. Created 9 years, 4 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/logging.h" 9 #include "base/logging.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 } 748 }
749 749
750 // No networks available message. 750 // No networks available message.
751 if (menu_items_.empty()) { 751 if (menu_items_.empty()) {
752 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, 752 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT,
753 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); 753 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE));
754 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label, 754 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label,
755 SkBitmap(), std::string(), FLAG_DISABLED)); 755 SkBitmap(), std::string(), FLAG_DISABLED));
756 } 756 }
757 757
758 // If we are logged in and there is a connected network, 758 // If we are logged in and there is a connected network or a connected VPN,
759 // add submenu for Private Networks. 759 // add submenu for Private Networks.
760 if (is_browser_mode) { 760 if (is_browser_mode) {
761 const Network* connected_network = cros->connected_network(); 761 if (cros->connected_network() || cros->virtual_network_connected()) {
762 if (connected_network) {
763 menu_items_.push_back(MenuItem()); // Separator 762 menu_items_.push_back(MenuItem()); // Separator
764 const SkBitmap* icon = NetworkMenuIcon::GetVpnBitmap(); 763 const SkBitmap* icon = NetworkMenuIcon::GetVpnBitmap();
765 menu_items_.push_back(MenuItem( 764 menu_items_.push_back(MenuItem(
766 ui::MenuModel::TYPE_SUBMENU, 765 ui::MenuModel::TYPE_SUBMENU,
767 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_PRIVATE_NETWORKS), 766 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_PRIVATE_NETWORKS),
768 *icon, vpn_menu_model_.get(), FLAG_NONE)); 767 *icon, vpn_menu_model_.get(), FLAG_NONE));
769 vpn_menu_model_->InitMenuItems( 768 vpn_menu_model_->InitMenuItems(
770 is_browser_mode, should_open_button_options); 769 is_browser_mode, should_open_button_options);
771 } 770 }
772 } 771 }
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 //////////////////////////////////////////////////////////////////////////////// 852 ////////////////////////////////////////////////////////////////////////////////
854 // VPNMenuModel 853 // VPNMenuModel
855 854
856 void VPNMenuModel::InitMenuItems(bool is_browser_mode, 855 void VPNMenuModel::InitMenuItems(bool is_browser_mode,
857 bool should_open_button_options) { 856 bool should_open_button_options) {
858 // This gets called on initialization, so any changes should be reflected 857 // This gets called on initialization, so any changes should be reflected
859 // in CrosMock::SetNetworkLibraryStatusAreaExpectations(). 858 // in CrosMock::SetNetworkLibraryStatusAreaExpectations().
860 859
861 menu_items_.clear(); 860 menu_items_.clear();
862 861
863 // VPN only applies if there's a connected underlying network. 862 // Populate our MenuItems with the current list of virtual networks.
864 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); 863 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary();
865 const Network* connected_network = cros->connected_network();
866 if (!connected_network)
867 return;
868
869 // Populate our MenuItems with the current list of virtual networks.
870 const VirtualNetworkVector& virtual_networks = cros->virtual_networks(); 864 const VirtualNetworkVector& virtual_networks = cros->virtual_networks();
871 const VirtualNetwork* active_vpn = cros->virtual_network(); 865 const VirtualNetwork* active_vpn = cros->virtual_network();
872 866
873 bool separator_added = false; 867 bool separator_added = false;
874 string16 label; 868 string16 label;
875 869
876 for (size_t i = 0; i < virtual_networks.size(); ++i) { 870 for (size_t i = 0; i < virtual_networks.size(); ++i) {
877 const VirtualNetwork* vpn = virtual_networks[i]; 871 const VirtualNetwork* vpn = virtual_networks[i];
878 if (vpn->connecting()) { 872 if (vpn->connecting()) {
879 label = l10n_util::GetStringFUTF16( 873 label = l10n_util::GetStringFUTF16(
(...skipping 20 matching lines...) Expand all
900 const SkBitmap* icon = NetworkMenuIcon::GetBitmap(vpn); 894 const SkBitmap* icon = NetworkMenuIcon::GetBitmap(vpn);
901 menu_items_.push_back( 895 menu_items_.push_back(
902 MenuItem(ui::MenuModel::TYPE_COMMAND, 896 MenuItem(ui::MenuModel::TYPE_COMMAND,
903 label, *icon, vpn->service_path(), flag)); 897 label, *icon, vpn->service_path(), flag));
904 } 898 }
905 899
906 // Add option to add/disconnect from vpn. 900 // Add option to add/disconnect from vpn.
907 if (!menu_items_.empty()) { // Add separator if menu is not empty. 901 if (!menu_items_.empty()) { // Add separator if menu is not empty.
908 menu_items_.push_back(MenuItem()); 902 menu_items_.push_back(MenuItem());
909 } 903 }
910 menu_items_.push_back(MenuItem( 904 // Can only connect to a VPN if we have a connected network.
911 ui::MenuModel::TYPE_COMMAND, 905 if (cros->connected_network()) {
912 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_ADD_VPN), 906 menu_items_.push_back(MenuItem(
913 SkBitmap(), std::string(), FLAG_ADD_VPN)); 907 ui::MenuModel::TYPE_COMMAND,
908 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_ADD_VPN),
909 SkBitmap(), std::string(), FLAG_ADD_VPN));
910 }
911 // Show disconnect if we have an active VPN.
914 if (active_vpn) { 912 if (active_vpn) {
915 menu_items_.push_back(MenuItem( 913 menu_items_.push_back(MenuItem(
916 ui::MenuModel::TYPE_COMMAND, 914 ui::MenuModel::TYPE_COMMAND,
917 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DISCONNECT_VPN), 915 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DISCONNECT_VPN),
918 SkBitmap(), std::string(), FLAG_DISCONNECT_VPN)); 916 SkBitmap(), std::string(), FLAG_DISCONNECT_VPN));
919 } 917 }
920 } 918 }
921 919
922 int VPNMenuModel::GetCommandIdAt(int index) const { 920 int VPNMenuModel::GetCommandIdAt(int index) const {
923 return index + kVPNIndexMask; 921 return index + kVPNIndexMask;
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 std::string page = StringPrintf( 1074 std::string page = StringPrintf(
1077 "%s?servicePath=%s&networkType=%d&networkName=%s", 1075 "%s?servicePath=%s&networkType=%d&networkName=%s",
1078 chrome::kInternetOptionsSubPage, 1076 chrome::kInternetOptionsSubPage,
1079 EscapeUrlEncodedData(network->service_path(), true).c_str(), 1077 EscapeUrlEncodedData(network->service_path(), true).c_str(),
1080 network->type(), 1078 network->type(),
1081 EscapeUrlEncodedData(network_name, false).c_str()); 1079 EscapeUrlEncodedData(network_name, false).c_str());
1082 browser->ShowOptionsTab(page); 1080 browser->ShowOptionsTab(page);
1083 } 1081 }
1084 1082
1085 } // namespace chromeos 1083 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/options/vpn_config_view.cc ('k') | chrome/browser/chromeos/status/network_menu_icon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698