| Index: chrome/browser/chromeos/options/vpn_config_view.cc
|
| diff --git a/chrome/browser/chromeos/options/vpn_config_view.cc b/chrome/browser/chromeos/options/vpn_config_view.cc
|
| index 85a1512aa1f6b7d52e8d4d03ad38f0b9b6d5447e..9bf34c3b90fb3242226c5702a36ae57618c3b325 100644
|
| --- a/chrome/browser/chromeos/options/vpn_config_view.cc
|
| +++ b/chrome/browser/chromeos/options/vpn_config_view.cc
|
| @@ -369,6 +369,21 @@ const std::string VPNConfigView::GetUserCertID() const {
|
| }
|
|
|
| void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| + if (vpn) {
|
| + ca_cert_ui_data_.UpdateFromNetwork(
|
| + vpn, NetworkUIData::kPropertyVPNCaCertNss);
|
| + psk_passphrase_ui_data_.UpdateFromNetwork(
|
| + vpn, NetworkUIData::kPropertyVPNPskPassphrase);
|
| + user_cert_ui_data_.UpdateFromNetwork(
|
| + vpn, NetworkUIData::kPropertyVPNClientCertId);
|
| + username_ui_data_.UpdateFromNetwork(
|
| + vpn, NetworkUIData::kPropertyVPNUsername);
|
| + user_passphrase_ui_data_.UpdateFromNetwork(
|
| + vpn, NetworkUIData::kPropertyVPNUserPassphrase);
|
| + group_name_ui_data_.UpdateFromNetwork(
|
| + vpn, NetworkUIData::kPropertyVPNGroupName);
|
| + }
|
| +
|
| views::GridLayout* layout = views::GridLayout::CreatePanel(this);
|
| SetLayoutManager(layout);
|
|
|
| @@ -390,6 +405,9 @@ void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| views::GridLayout::USE_PREF, 0,
|
| ChildNetworkConfigView::kInputFieldMinWidth);
|
| column_set->AddPaddingColumn(0, views::kRelatedControlSmallHorizontalSpacing);
|
| + // Policy indicator.
|
| + column_set->AddColumn(views::GridLayout::CENTER, views::GridLayout::CENTER, 0,
|
| + views::GridLayout::USE_PREF, 0, 0);
|
|
|
| // Initialize members.
|
| service_text_modified_ = false;
|
| @@ -471,6 +489,8 @@ void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| if (vpn && !vpn->psk_passphrase().empty())
|
| psk_passphrase_textfield_->SetText(UTF8ToUTF16(vpn->psk_passphrase()));
|
| layout->AddView(psk_passphrase_textfield_);
|
| + layout->AddView(
|
| + new ControlledSettingIndicatorView(psk_passphrase_ui_data_));
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
| } else {
|
| psk_passphrase_label_ = NULL;
|
| @@ -489,6 +509,7 @@ void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| new ServerCACertComboboxModel(cert_library_);
|
| server_ca_cert_combobox_ = new views::Combobox(server_ca_cert_model);
|
| layout->AddView(server_ca_cert_combobox_);
|
| + layout->AddView(new ControlledSettingIndicatorView(ca_cert_ui_data_));
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
| } else {
|
| server_ca_cert_label_ = NULL;
|
| @@ -506,6 +527,7 @@ void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| user_cert_combobox_ = new views::Combobox(user_cert_model);
|
| user_cert_combobox_->set_listener(this);
|
| layout->AddView(user_cert_combobox_);
|
| + layout->AddView(new ControlledSettingIndicatorView(user_cert_ui_data_));
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
| } else {
|
| user_cert_label_ = NULL;
|
| @@ -518,9 +540,11 @@ void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_VPN_USERNAME)));
|
| username_textfield_ = new views::Textfield(views::Textfield::STYLE_DEFAULT);
|
| username_textfield_->SetController(this);
|
| + username_textfield_->SetEnabled(username_ui_data_.editable());
|
| if (vpn && !vpn->username().empty())
|
| username_textfield_->SetText(UTF8ToUTF16(vpn->username()));
|
| layout->AddView(username_textfield_);
|
| + layout->AddView(new ControlledSettingIndicatorView(username_ui_data_));
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
|
|
| // User passphrase label, input and visble button.
|
| @@ -530,9 +554,11 @@ void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| user_passphrase_textfield_ = new views::Textfield(
|
| views::Textfield::STYLE_PASSWORD);
|
| user_passphrase_textfield_->SetController(this);
|
| + user_passphrase_textfield_->SetEnabled(user_passphrase_ui_data_.editable());
|
| if (vpn && !vpn->user_passphrase().empty())
|
| user_passphrase_textfield_->SetText(UTF8ToUTF16(vpn->user_passphrase()));
|
| layout->AddView(user_passphrase_textfield_);
|
| + layout->AddView(new ControlledSettingIndicatorView(user_passphrase_ui_data_));
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
|
|
| // OTP label and input.
|
| @@ -567,6 +593,7 @@ void VPNConfigView::Init(VirtualNetwork* vpn) {
|
| if (vpn && !vpn->group_name().empty())
|
| group_name_textfield_->SetText(UTF8ToUTF16(vpn->group_name()));
|
| layout->AddView(group_name_textfield_);
|
| + layout->AddView(new ControlledSettingIndicatorView(group_name_ui_data_));
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
| } else {
|
| group_name_label_ = NULL;
|
| @@ -662,17 +689,20 @@ void VPNConfigView::UpdateControls() {
|
| if (psk_passphrase_label_)
|
| psk_passphrase_label_->SetEnabled(enable_psk_passphrase_);
|
| if (psk_passphrase_textfield_)
|
| - psk_passphrase_textfield_->SetEnabled(enable_psk_passphrase_);
|
| + psk_passphrase_textfield_->SetEnabled(enable_psk_passphrase_ &&
|
| + psk_passphrase_ui_data_.editable());
|
|
|
| if (user_cert_label_)
|
| user_cert_label_->SetEnabled(enable_user_cert_);
|
| if (user_cert_combobox_)
|
| - user_cert_combobox_->SetEnabled(enable_user_cert_);
|
| + user_cert_combobox_->SetEnabled(enable_user_cert_ &&
|
| + user_cert_ui_data_.editable());
|
|
|
| if (server_ca_cert_label_)
|
| server_ca_cert_label_->SetEnabled(enable_server_ca_cert_);
|
| if (server_ca_cert_combobox_)
|
| - server_ca_cert_combobox_->SetEnabled(enable_server_ca_cert_);
|
| + server_ca_cert_combobox_->SetEnabled(enable_server_ca_cert_ &&
|
| + ca_cert_ui_data_.editable());
|
|
|
| if (otp_label_)
|
| otp_label_->SetEnabled(enable_otp_);
|
| @@ -682,7 +712,8 @@ void VPNConfigView::UpdateControls() {
|
| if (group_name_label_)
|
| group_name_label_->SetEnabled(enable_group_name_);
|
| if (group_name_textfield_)
|
| - group_name_textfield_->SetEnabled(enable_group_name_);
|
| + group_name_textfield_->SetEnabled(enable_group_name_ &&
|
| + group_name_ui_data_.editable());
|
| }
|
|
|
| void VPNConfigView::UpdateErrorLabel() {
|
|
|