Index: chrome/browser/chromeos/options/wifi_config_view.cc |
diff --git a/chrome/browser/chromeos/options/wifi_config_view.cc b/chrome/browser/chromeos/options/wifi_config_view.cc |
index 31f84c18683fdbed5dfa11d8e3730c4460d26748..a56486332cef16c17a779370fc2a46d3e642016f 100644 |
--- a/chrome/browser/chromeos/options/wifi_config_view.cc |
+++ b/chrome/browser/chromeos/options/wifi_config_view.cc |
@@ -372,12 +372,14 @@ void WifiConfigView::RefreshEapFields() { |
phase_2_auth_combobox_->ModelChanged(); |
phase_2_auth_combobox_->SetSelectedItem(0); |
phase_2_auth_combobox_->SetEnabled( |
- phase_2_auth_combobox_->model()->GetItemCount() > 1); |
+ phase_2_auth_combobox_->model()->GetItemCount() > 1 && |
+ phase_2_auth_ui_data_.editable()); |
phase_2_auth_label_->SetEnabled(phase_2_auth_combobox_->IsEnabled()); |
// No password for EAP-TLS |
passphrase_textfield_->SetEnabled(selected != EAP_METHOD_INDEX_NONE && |
- selected != EAP_METHOD_INDEX_TLS); |
+ selected != EAP_METHOD_INDEX_TLS && |
+ passphrase_ui_data_.editable()); |
passphrase_label_->SetEnabled(passphrase_textfield_->IsEnabled()); |
if (!passphrase_textfield_->IsEnabled()) |
passphrase_textfield_->SetText(string16()); |
@@ -387,7 +389,9 @@ void WifiConfigView::RefreshEapFields() { |
bool user_cert_enabled = (selected == EAP_METHOD_INDEX_TLS); |
user_cert_label_->SetEnabled(user_cert_enabled); |
bool have_user_certs = !certs_loading && HaveUserCerts(); |
- user_cert_combobox_->SetEnabled(user_cert_enabled && have_user_certs); |
+ user_cert_combobox_->SetEnabled(user_cert_enabled && |
+ have_user_certs && |
+ user_cert_ui_data_.editable()); |
user_cert_combobox_->ModelChanged(); |
user_cert_combobox_->SetSelectedItem(0); |
@@ -395,13 +399,16 @@ void WifiConfigView::RefreshEapFields() { |
bool ca_cert_enabled = |
(selected != EAP_METHOD_INDEX_NONE && selected != EAP_METHOD_INDEX_LEAP); |
server_ca_cert_label_->SetEnabled(ca_cert_enabled); |
- server_ca_cert_combobox_->SetEnabled(ca_cert_enabled && !certs_loading); |
+ server_ca_cert_combobox_->SetEnabled(ca_cert_enabled && |
+ !certs_loading && |
+ server_ca_cert_ui_data_.editable()); |
server_ca_cert_combobox_->ModelChanged(); |
server_ca_cert_combobox_->SetSelectedItem(0); |
// No anonymous identity if no phase 2 auth. |
identity_anonymous_textfield_->SetEnabled( |
- phase_2_auth_combobox_->IsEnabled()); |
+ phase_2_auth_combobox_->IsEnabled() && |
+ identity_anonymous_ui_data_.editable()); |
identity_anonymous_label_->SetEnabled( |
identity_anonymous_textfield_->IsEnabled()); |
if (!identity_anonymous_textfield_->IsEnabled()) |
@@ -741,6 +748,34 @@ void WifiConfigView::Cancel() { |
// to enter the data. And if they select the 802.1x encryption, we will show |
// the 802.1x fields. |
void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
+ if (wifi) { |
+ eap_method_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPMethod); |
+ phase_2_auth_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPPhase2Auth); |
+ user_cert_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPClientCertPkcs11Id); |
+ server_ca_cert_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPServerCaCertNssNickname); |
+ if (server_ca_cert_ui_data_.managed()) { |
+ server_ca_cert_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPUseSystemCAs); |
+ } |
+ identity_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPIdentity); |
+ identity_anonymous_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPAnonymousIdentity); |
+ save_credentials_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertySaveCredentials); |
+ if (show_8021x) { |
+ passphrase_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyEAPPassphrase); |
+ } else { |
+ passphrase_ui_data_.UpdateFromNetwork( |
+ wifi, NetworkUIData::kPropertyPassphrase); |
+ } |
+ } |
+ |
views::GridLayout* layout = views::GridLayout::CreatePanel(this); |
SetLayoutManager(layout); |
@@ -756,7 +791,7 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
views::GridLayout::USE_PREF, 0, |
ChildNetworkConfigView::kInputFieldMinWidth); |
column_set->AddPaddingColumn(0, views::kRelatedControlSmallHorizontalSpacing); |
- // Password visible button |
+ // Password visible button / policy indicator. |
column_set->AddColumn(views::GridLayout::CENTER, views::GridLayout::FILL, 1, |
views::GridLayout::USE_PREF, 0, kPasswordVisibleWidth); |
@@ -802,7 +837,9 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_EAP_METHOD))); |
eap_method_combobox_ = new views::Combobox(new EAPMethodComboboxModel()); |
eap_method_combobox_->set_listener(this); |
+ eap_method_combobox_->SetEnabled(eap_method_ui_data_.editable()); |
layout->AddView(eap_method_combobox_); |
+ layout->AddView(new ControlledSettingIndicatorView(eap_method_ui_data_)); |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
// Phase 2 authentication |
@@ -816,6 +853,7 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
phase_2_auth_combobox_->SetEnabled(false); |
phase_2_auth_combobox_->set_listener(this); |
layout->AddView(phase_2_auth_combobox_); |
+ layout->AddView(new ControlledSettingIndicatorView(phase_2_auth_ui_data_)); |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
// Server CA certificate |
@@ -830,6 +868,8 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
server_ca_cert_combobox_->SetEnabled(false); |
server_ca_cert_combobox_->set_listener(this); |
layout->AddView(server_ca_cert_combobox_); |
+ layout->AddView( |
+ new ControlledSettingIndicatorView(server_ca_cert_ui_data_)); |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
// User certificate |
@@ -843,6 +883,7 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
user_cert_combobox_->SetEnabled(false); |
user_cert_combobox_->set_listener(this); |
layout->AddView(user_cert_combobox_); |
+ layout->AddView(new ControlledSettingIndicatorView(user_cert_ui_data_)); |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
// Identity |
@@ -855,7 +896,9 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
identity_textfield_->SetController(this); |
if (wifi && !wifi->identity().empty()) |
identity_textfield_->SetText(UTF8ToUTF16(wifi->identity())); |
+ identity_textfield_->SetEnabled(identity_ui_data_.editable()); |
layout->AddView(identity_textfield_); |
+ layout->AddView(new ControlledSettingIndicatorView(identity_ui_data_)); |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
} |
@@ -878,29 +921,35 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
passphrase_textfield_->SetAccessibleName(l10n_util::GetStringUTF16( |
label_text_id)); |
layout->AddView(passphrase_textfield_); |
- // Password visible button. |
- passphrase_visible_button_ = new views::ToggleImageButton(this); |
- passphrase_visible_button_->SetTooltipText( |
- l10n_util::GetStringUTF16( |
- IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE_SHOW)); |
- passphrase_visible_button_->SetToggledTooltipText( |
- l10n_util::GetStringUTF16( |
- IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE_HIDE)); |
- passphrase_visible_button_->SetImage( |
- views::ImageButton::BS_NORMAL, |
- ResourceBundle::GetSharedInstance(). |
- GetBitmapNamed(IDR_NETWORK_SHOW_PASSWORD_OFF)); |
- passphrase_visible_button_->SetImage( |
- views::ImageButton::BS_HOT, |
- ResourceBundle::GetSharedInstance(). |
- GetBitmapNamed(IDR_NETWORK_SHOW_PASSWORD_HOVER)); |
- passphrase_visible_button_->SetToggledImage( |
- views::ImageButton::BS_NORMAL, |
- ResourceBundle::GetSharedInstance(). |
- GetBitmapNamed(IDR_NETWORK_SHOW_PASSWORD_ON)); |
- passphrase_visible_button_->SetImageAlignment( |
- views::ImageButton::ALIGN_CENTER, views::ImageButton::ALIGN_MIDDLE); |
- layout->AddView(passphrase_visible_button_); |
+ |
+ if (passphrase_ui_data_.managed()) { |
+ layout->AddView(new ControlledSettingIndicatorView(passphrase_ui_data_)); |
+ } else { |
+ // Password visible button. |
+ passphrase_visible_button_ = new views::ToggleImageButton(this); |
+ passphrase_visible_button_->SetTooltipText( |
+ l10n_util::GetStringUTF16( |
+ IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE_SHOW)); |
+ passphrase_visible_button_->SetToggledTooltipText( |
+ l10n_util::GetStringUTF16( |
+ IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE_HIDE)); |
+ passphrase_visible_button_->SetImage( |
+ views::ImageButton::BS_NORMAL, |
+ ResourceBundle::GetSharedInstance(). |
+ GetBitmapNamed(IDR_NETWORK_SHOW_PASSWORD_OFF)); |
+ passphrase_visible_button_->SetImage( |
+ views::ImageButton::BS_HOT, |
+ ResourceBundle::GetSharedInstance(). |
+ GetBitmapNamed(IDR_NETWORK_SHOW_PASSWORD_HOVER)); |
+ passphrase_visible_button_->SetToggledImage( |
+ views::ImageButton::BS_NORMAL, |
+ ResourceBundle::GetSharedInstance(). |
+ GetBitmapNamed(IDR_NETWORK_SHOW_PASSWORD_ON)); |
+ passphrase_visible_button_->SetImageAlignment( |
+ views::ImageButton::ALIGN_CENTER, views::ImageButton::ALIGN_MIDDLE); |
+ layout->AddView(passphrase_visible_button_); |
+ } |
+ |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
if (show_8021x) { |
@@ -916,6 +965,8 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
identity_anonymous_textfield_->SetEnabled(false); |
identity_anonymous_textfield_->SetController(this); |
layout->AddView(identity_anonymous_textfield_); |
+ layout->AddView( |
+ new ControlledSettingIndicatorView(identity_anonymous_ui_data_)); |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
} |
@@ -927,8 +978,12 @@ void WifiConfigView::Init(WifiNetwork* wifi, bool show_8021x) { |
save_credentials_checkbox_ = new views::Checkbox( |
l10n_util::GetStringUTF16( |
IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SAVE_CREDENTIALS)); |
+ save_credentials_checkbox_->SetEnabled( |
+ save_credentials_ui_data_.editable()); |
layout->SkipColumns(1); |
layout->AddView(save_credentials_checkbox_); |
+ layout->AddView( |
+ new ControlledSettingIndicatorView(save_credentials_ui_data_)); |
} |
// Share network |