| OLD | NEW |
| 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/options/wimax_config_view.h" | 5 #include "chrome/browser/chromeos/options/wimax_config_view.h" |
| 6 | 6 |
| 7 #include "ash/system/chromeos/network/network_connect.h" |
| 7 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 8 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/browser/chromeos/cros/network_library.h" | |
| 11 #include "chrome/browser/chromeos/enrollment_dialog_view.h" | 11 #include "chrome/browser/chromeos/enrollment_dialog_view.h" |
| 12 #include "chrome/browser/chromeos/login/startup_utils.h" | 12 #include "chrome/browser/chromeos/login/startup_utils.h" |
| 13 #include "chrome/browser/chromeos/options/network_connect.h" |
| 13 #include "chrome/browser/profiles/profile_manager.h" | 14 #include "chrome/browser/profiles/profile_manager.h" |
| 14 #include "chromeos/login/login_state.h" | 15 #include "chromeos/login/login_state.h" |
| 16 #include "chromeos/network/network_configuration_handler.h" |
| 17 #include "chromeos/network/network_event_log.h" |
| 18 #include "chromeos/network/network_profile.h" |
| 19 #include "chromeos/network/network_profile_handler.h" |
| 20 #include "chromeos/network/network_state.h" |
| 21 #include "chromeos/network/network_state_handler.h" |
| 15 #include "chromeos/network/onc/onc_constants.h" | 22 #include "chromeos/network/onc/onc_constants.h" |
| 16 #include "grit/chromium_strings.h" | 23 #include "grit/chromium_strings.h" |
| 17 #include "grit/generated_resources.h" | 24 #include "grit/generated_resources.h" |
| 18 #include "grit/locale_settings.h" | 25 #include "grit/locale_settings.h" |
| 19 #include "grit/theme_resources.h" | 26 #include "grit/theme_resources.h" |
| 27 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 20 #include "ui/base/events/event.h" | 28 #include "ui/base/events/event.h" |
| 21 #include "ui/base/l10n/l10n_util.h" | 29 #include "ui/base/l10n/l10n_util.h" |
| 22 #include "ui/base/resource/resource_bundle.h" | 30 #include "ui/base/resource/resource_bundle.h" |
| 23 #include "ui/views/controls/button/checkbox.h" | 31 #include "ui/views/controls/button/checkbox.h" |
| 24 #include "ui/views/controls/button/image_button.h" | 32 #include "ui/views/controls/button/image_button.h" |
| 25 #include "ui/views/controls/label.h" | 33 #include "ui/views/controls/label.h" |
| 26 #include "ui/views/controls/textfield/textfield.h" | 34 #include "ui/views/controls/textfield/textfield.h" |
| 27 #include "ui/views/layout/grid_layout.h" | 35 #include "ui/views/layout/grid_layout.h" |
| 28 #include "ui/views/layout/layout_constants.h" | 36 #include "ui/views/layout/layout_constants.h" |
| 29 #include "ui/views/widget/widget.h" | 37 #include "ui/views/widget/widget.h" |
| 30 #include "ui/views/window/dialog_client_view.h" | 38 #include "ui/views/window/dialog_client_view.h" |
| 31 | 39 |
| 32 namespace chromeos { | 40 namespace chromeos { |
| 33 | 41 |
| 34 WimaxConfigView::WimaxConfigView(NetworkConfigView* parent, WimaxNetwork* wimax) | 42 namespace { |
| 35 : ChildNetworkConfigView(parent, wimax), | 43 |
| 44 void ShillError(const std::string& function, |
| 45 const std::string& error_name, |
| 46 scoped_ptr<base::DictionaryValue> error_data) { |
| 47 NET_LOG_ERROR("Shill Error from WimaxConfigView: " + error_name, function); |
| 48 } |
| 49 |
| 50 } // namespace |
| 51 |
| 52 WimaxConfigView::WimaxConfigView(NetworkConfigView* parent, |
| 53 const std::string& service_path) |
| 54 : ChildNetworkConfigView(parent, service_path), |
| 36 identity_label_(NULL), | 55 identity_label_(NULL), |
| 37 identity_textfield_(NULL), | 56 identity_textfield_(NULL), |
| 38 save_credentials_checkbox_(NULL), | 57 save_credentials_checkbox_(NULL), |
| 39 share_network_checkbox_(NULL), | 58 share_network_checkbox_(NULL), |
| 40 shared_network_label_(NULL), | 59 shared_network_label_(NULL), |
| 41 passphrase_label_(NULL), | 60 passphrase_label_(NULL), |
| 42 passphrase_textfield_(NULL), | 61 passphrase_textfield_(NULL), |
| 43 passphrase_visible_button_(NULL), | 62 passphrase_visible_button_(NULL), |
| 44 error_label_(NULL) { | 63 error_label_(NULL), |
| 45 Init(wimax); | 64 weak_ptr_factory_(this) { |
| 65 Init(); |
| 46 } | 66 } |
| 47 | 67 |
| 48 WimaxConfigView::~WimaxConfigView() { | 68 WimaxConfigView::~WimaxConfigView() { |
| 49 } | 69 } |
| 50 | 70 |
| 51 string16 WimaxConfigView::GetTitle() const { | 71 string16 WimaxConfigView::GetTitle() const { |
| 52 return l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_JOIN_WIMAX_NETWORKS); | 72 return l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_JOIN_WIMAX_NETWORKS); |
| 53 } | 73 } |
| 54 | 74 |
| 55 views::View* WimaxConfigView::GetInitiallyFocusedView() { | 75 views::View* WimaxConfigView::GetInitiallyFocusedView() { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 69 // check if empty). | 89 // check if empty). |
| 70 // If the network requires a passphrase, make sure it is the right length. | 90 // If the network requires a passphrase, make sure it is the right length. |
| 71 return passphrase_textfield_ && !passphrase_textfield_->text().empty(); | 91 return passphrase_textfield_ && !passphrase_textfield_->text().empty(); |
| 72 } | 92 } |
| 73 | 93 |
| 74 void WimaxConfigView::UpdateDialogButtons() { | 94 void WimaxConfigView::UpdateDialogButtons() { |
| 75 parent_->GetDialogClientView()->UpdateDialogButtons(); | 95 parent_->GetDialogClientView()->UpdateDialogButtons(); |
| 76 } | 96 } |
| 77 | 97 |
| 78 void WimaxConfigView::UpdateErrorLabel() { | 98 void WimaxConfigView::UpdateErrorLabel() { |
| 79 std::string error_msg; | 99 base::string16 error_msg; |
| 80 if (!service_path_.empty()) { | 100 if (!service_path_.empty()) { |
| 81 NetworkLibrary* cros = NetworkLibrary::Get(); | 101 const NetworkState* wimax = NetworkHandler::Get()->network_state_handler()-> |
| 82 const WimaxNetwork* wimax = cros->FindWimaxNetworkByPath(service_path_); | 102 GetNetworkState(service_path_); |
| 83 if (wimax && wimax->failed()) { | 103 if (wimax && wimax->connection_state() == flimflam::kStateFailure) |
| 84 bool passphrase_empty = wimax->eap_passphrase().empty(); | 104 error_msg = ash::network_connect::ErrorString(wimax->error()); |
| 85 switch (wimax->error()) { | |
| 86 case ERROR_BAD_PASSPHRASE: | |
| 87 if (!passphrase_empty) { | |
| 88 error_msg = l10n_util::GetStringUTF8( | |
| 89 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_BAD_PASSPHRASE); | |
| 90 } | |
| 91 break; | |
| 92 case ERROR_BAD_WEPKEY: | |
| 93 if (!passphrase_empty) { | |
| 94 error_msg = l10n_util::GetStringUTF8( | |
| 95 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_BAD_WEPKEY); | |
| 96 } | |
| 97 break; | |
| 98 default: | |
| 99 error_msg = wimax->GetErrorString(); | |
| 100 break; | |
| 101 } | |
| 102 } | |
| 103 } | 105 } |
| 104 if (!error_msg.empty()) { | 106 if (!error_msg.empty()) { |
| 105 error_label_->SetText(UTF8ToUTF16(error_msg)); | 107 error_label_->SetText(error_msg); |
| 106 error_label_->SetVisible(true); | 108 error_label_->SetVisible(true); |
| 107 } else { | 109 } else { |
| 108 error_label_->SetVisible(false); | 110 error_label_->SetVisible(false); |
| 109 } | 111 } |
| 110 } | 112 } |
| 111 | 113 |
| 112 void WimaxConfigView::ContentsChanged(views::Textfield* sender, | 114 void WimaxConfigView::ContentsChanged(views::Textfield* sender, |
| 113 const string16& new_contents) { | 115 const string16& new_contents) { |
| 114 UpdateDialogButtons(); | 116 UpdateDialogButtons(); |
| 115 } | 117 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 130 passphrase_textfield_->SetObscured(!passphrase_textfield_->IsObscured()); | 132 passphrase_textfield_->SetObscured(!passphrase_textfield_->IsObscured()); |
| 131 passphrase_visible_button_->SetToggled( | 133 passphrase_visible_button_->SetToggled( |
| 132 !passphrase_textfield_->IsObscured()); | 134 !passphrase_textfield_->IsObscured()); |
| 133 } | 135 } |
| 134 } else { | 136 } else { |
| 135 NOTREACHED(); | 137 NOTREACHED(); |
| 136 } | 138 } |
| 137 } | 139 } |
| 138 | 140 |
| 139 bool WimaxConfigView::Login() { | 141 bool WimaxConfigView::Login() { |
| 140 NetworkLibrary* cros = NetworkLibrary::Get(); | 142 const NetworkState* wimax = NetworkHandler::Get()->network_state_handler()-> |
| 141 WimaxNetwork* wimax = cros->FindWimaxNetworkByPath(service_path_); | 143 GetNetworkState(service_path_); |
| 142 if (!wimax) { | 144 if (!wimax) { |
| 143 // Shill no longer knows about this wimax network (edge case). | 145 // Shill no longer knows about this network (edge case). |
| 144 // TODO(stevenjb): Add a notification (chromium-os13225). | 146 // TODO(stevenjb): Add notification for this. |
| 145 LOG(WARNING) << "Wimax network: " << service_path_ << " no longer exists."; | 147 NET_LOG_ERROR("Network not found", service_path_); |
| 146 return true; | 148 return true; // Close dialog |
| 147 } | 149 } |
| 148 wimax->SetEAPIdentity(GetEapIdentity()); | 150 base::DictionaryValue properties; |
| 149 wimax->SetEAPPassphrase(GetEapPassphrase()); | 151 properties.SetStringWithoutPathExpansion( |
| 150 wimax->SetSaveCredentials(GetSaveCredentials()); | 152 flimflam::kEapIdentityProperty, GetEapIdentity()); |
| 151 bool share_default = (wimax->profile_type() != PROFILE_USER); | 153 properties.SetStringWithoutPathExpansion( |
| 152 bool share = GetShareNetwork(share_default); | 154 flimflam::kEapPasswordProperty, GetEapPassphrase()); |
| 153 wimax->SetEnrollmentDelegate( | 155 properties.SetBooleanWithoutPathExpansion( |
| 154 CreateEnrollmentDelegate(GetWidget()->GetNativeWindow(), | 156 flimflam::kSaveCredentialsProperty, GetSaveCredentials()); |
| 155 wimax->name(), | 157 |
| 156 ProfileManager::GetLastUsedProfile())); | 158 const bool share_default = true; |
| 157 cros->ConnectToWimaxNetwork(wimax, share); | 159 bool share_network = GetShareNetwork(share_default); |
| 158 // Connection failures are responsible for updating the UI, including | 160 ash::network_connect::ConfigureNetworkAndConnect( |
| 159 // reopening dialogs. | 161 service_path_, properties, share_network); |
| 160 return true; // dialog will be closed | 162 return true; // dialog will be closed |
| 161 } | 163 } |
| 162 | 164 |
| 163 std::string WimaxConfigView::GetEapIdentity() const { | 165 std::string WimaxConfigView::GetEapIdentity() const { |
| 164 DCHECK(identity_textfield_); | 166 DCHECK(identity_textfield_); |
| 165 return UTF16ToUTF8(identity_textfield_->text()); | 167 return UTF16ToUTF8(identity_textfield_->text()); |
| 166 } | 168 } |
| 167 | 169 |
| 168 std::string WimaxConfigView::GetEapPassphrase() const { | 170 std::string WimaxConfigView::GetEapPassphrase() const { |
| 169 return passphrase_textfield_ ? UTF16ToUTF8(passphrase_textfield_->text()) : | 171 return passphrase_textfield_ ? UTF16ToUTF8(passphrase_textfield_->text()) : |
| 170 std::string(); | 172 std::string(); |
| 171 } | 173 } |
| 172 | 174 |
| 173 bool WimaxConfigView::GetSaveCredentials() const { | 175 bool WimaxConfigView::GetSaveCredentials() const { |
| 174 return save_credentials_checkbox_ ? save_credentials_checkbox_->checked() : | 176 return save_credentials_checkbox_ ? save_credentials_checkbox_->checked() : |
| 175 false; | 177 false; |
| 176 } | 178 } |
| 177 | 179 |
| 178 bool WimaxConfigView::GetShareNetwork(bool share_default) const { | 180 bool WimaxConfigView::GetShareNetwork(bool share_default) const { |
| 179 return share_network_checkbox_ ? share_network_checkbox_->checked() : | 181 return share_network_checkbox_ ? share_network_checkbox_->checked() : |
| 180 share_default; | 182 share_default; |
| 181 } | 183 } |
| 182 | 184 |
| 183 void WimaxConfigView::Cancel() { | 185 void WimaxConfigView::Cancel() { |
| 184 } | 186 } |
| 185 | 187 |
| 186 void WimaxConfigView::Init(WimaxNetwork* wimax) { | 188 void WimaxConfigView::Init() { |
| 187 DCHECK(wimax); | 189 const NetworkState* wimax = NetworkHandler::Get()->network_state_handler()-> |
| 190 GetNetworkState(service_path_); |
| 191 DCHECK(wimax && wimax->type() == flimflam::kTypeWimax); |
| 192 |
| 188 WifiConfigView::ParseWiFiEAPUIProperty( | 193 WifiConfigView::ParseWiFiEAPUIProperty( |
| 189 &save_credentials_ui_data_, wimax, onc::eap::kSaveCredentials); | 194 &save_credentials_ui_data_, wimax, onc::eap::kSaveCredentials); |
| 190 WifiConfigView::ParseWiFiEAPUIProperty( | 195 WifiConfigView::ParseWiFiEAPUIProperty( |
| 191 &identity_ui_data_, wimax, onc::eap::kIdentity); | 196 &identity_ui_data_, wimax, onc::eap::kIdentity); |
| 192 WifiConfigView::ParseWiFiUIProperty( | 197 WifiConfigView::ParseWiFiUIProperty( |
| 193 &passphrase_ui_data_, wimax, onc::wifi::kPassphrase); | 198 &passphrase_ui_data_, wimax, onc::wifi::kPassphrase); |
| 194 | 199 |
| 195 views::GridLayout* layout = views::GridLayout::CreatePanel(this); | 200 views::GridLayout* layout = views::GridLayout::CreatePanel(this); |
| 196 SetLayoutManager(layout); | 201 SetLayoutManager(layout); |
| 197 | 202 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 223 // Identity | 228 // Identity |
| 224 layout->StartRow(0, column_view_set_id); | 229 layout->StartRow(0, column_view_set_id); |
| 225 string16 identity_label_text = l10n_util::GetStringUTF16( | 230 string16 identity_label_text = l10n_util::GetStringUTF16( |
| 226 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_IDENTITY); | 231 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_IDENTITY); |
| 227 identity_label_ = new views::Label(identity_label_text); | 232 identity_label_ = new views::Label(identity_label_text); |
| 228 layout->AddView(identity_label_); | 233 layout->AddView(identity_label_); |
| 229 identity_textfield_ = new views::Textfield( | 234 identity_textfield_ = new views::Textfield( |
| 230 views::Textfield::STYLE_DEFAULT); | 235 views::Textfield::STYLE_DEFAULT); |
| 231 identity_textfield_->SetAccessibleName(identity_label_text); | 236 identity_textfield_->SetAccessibleName(identity_label_text); |
| 232 identity_textfield_->SetController(this); | 237 identity_textfield_->SetController(this); |
| 233 const std::string& eap_identity = wimax->eap_identity(); | |
| 234 identity_textfield_->SetText(UTF8ToUTF16(eap_identity)); | |
| 235 identity_textfield_->SetEnabled(identity_ui_data_.IsEditable()); | 238 identity_textfield_->SetEnabled(identity_ui_data_.IsEditable()); |
| 236 layout->AddView(identity_textfield_); | 239 layout->AddView(identity_textfield_); |
| 237 layout->AddView(new ControlledSettingIndicatorView(identity_ui_data_)); | 240 layout->AddView(new ControlledSettingIndicatorView(identity_ui_data_)); |
| 238 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); | 241 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
| 239 | 242 |
| 240 // Passphrase input | 243 // Passphrase input |
| 241 layout->StartRow(0, column_view_set_id); | 244 layout->StartRow(0, column_view_set_id); |
| 242 string16 passphrase_label_text = l10n_util::GetStringUTF16( | 245 string16 passphrase_label_text = l10n_util::GetStringUTF16( |
| 243 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE); | 246 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PASSPHRASE); |
| 244 passphrase_label_ = new views::Label(passphrase_label_text); | 247 passphrase_label_ = new views::Label(passphrase_label_text); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 GetImageSkiaNamed(IDR_NETWORK_HIDE_PASSWORD_HOVER)); | 284 GetImageSkiaNamed(IDR_NETWORK_HIDE_PASSWORD_HOVER)); |
| 282 passphrase_visible_button_->SetImageAlignment( | 285 passphrase_visible_button_->SetImageAlignment( |
| 283 views::ImageButton::ALIGN_CENTER, views::ImageButton::ALIGN_MIDDLE); | 286 views::ImageButton::ALIGN_CENTER, views::ImageButton::ALIGN_MIDDLE); |
| 284 layout->AddView(passphrase_visible_button_); | 287 layout->AddView(passphrase_visible_button_); |
| 285 } | 288 } |
| 286 | 289 |
| 287 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); | 290 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
| 288 | 291 |
| 289 // Checkboxes. | 292 // Checkboxes. |
| 290 | 293 |
| 291 if (LoginState::Get()->IsUserLoggedIn()) { | 294 if (LoginState::Get()->IsUserAuthenticated()) { |
| 292 // Save credentials | 295 // Save credentials |
| 293 layout->StartRow(0, column_view_set_id); | 296 layout->StartRow(0, column_view_set_id); |
| 294 save_credentials_checkbox_ = new views::Checkbox( | 297 save_credentials_checkbox_ = new views::Checkbox( |
| 295 l10n_util::GetStringUTF16( | 298 l10n_util::GetStringUTF16( |
| 296 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SAVE_CREDENTIALS)); | 299 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SAVE_CREDENTIALS)); |
| 297 save_credentials_checkbox_->SetEnabled( | 300 save_credentials_checkbox_->SetEnabled( |
| 298 save_credentials_ui_data_.IsEditable()); | 301 save_credentials_ui_data_.IsEditable()); |
| 299 save_credentials_checkbox_->SetChecked(wimax->save_credentials()); | |
| 300 layout->SkipColumns(1); | 302 layout->SkipColumns(1); |
| 301 layout->AddView(save_credentials_checkbox_); | 303 layout->AddView(save_credentials_checkbox_); |
| 302 layout->AddView( | 304 layout->AddView( |
| 303 new ControlledSettingIndicatorView(save_credentials_ui_data_)); | 305 new ControlledSettingIndicatorView(save_credentials_ui_data_)); |
| 306 } |
| 304 | 307 |
| 305 // Share network | 308 // Share network |
| 306 if (wimax->profile_type() == PROFILE_NONE && wimax->passphrase_required()) { | 309 if (wimax->profile_path().empty()) { |
| 307 layout->StartRow(0, column_view_set_id); | 310 layout->StartRow(0, column_view_set_id); |
| 308 share_network_checkbox_ = new views::Checkbox( | 311 share_network_checkbox_ = new views::Checkbox( |
| 309 l10n_util::GetStringUTF16( | 312 l10n_util::GetStringUTF16( |
| 310 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SHARE_NETWORK)); | 313 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SHARE_NETWORK)); |
| 314 if (LoginState::Get()->IsUserAuthenticated()) { |
| 315 share_network_checkbox_->SetChecked(false); // Default to unshared |
| 311 share_network_checkbox_->SetEnabled(true); | 316 share_network_checkbox_->SetEnabled(true); |
| 312 share_network_checkbox_->SetChecked(false); // Default to unshared. | 317 } else { |
| 313 layout->SkipColumns(1); | 318 // Not logged in, must be shared |
| 314 layout->AddView(share_network_checkbox_); | 319 share_network_checkbox_->SetChecked(true); |
| 320 share_network_checkbox_->SetEnabled(false); |
| 315 } | 321 } |
| 322 layout->SkipColumns(1); |
| 323 layout->AddView(share_network_checkbox_); |
| 316 } | 324 } |
| 317 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); | 325 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
| 318 | 326 |
| 319 // Create an error label. | 327 // Create an error label. |
| 320 layout->StartRow(0, column_view_set_id); | 328 layout->StartRow(0, column_view_set_id); |
| 321 layout->SkipColumns(1); | 329 layout->SkipColumns(1); |
| 322 error_label_ = new views::Label(); | 330 error_label_ = new views::Label(); |
| 323 error_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 331 error_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 324 error_label_->SetEnabledColor(SK_ColorRED); | 332 error_label_->SetEnabledColor(SK_ColorRED); |
| 325 layout->AddView(error_label_); | 333 layout->AddView(error_label_); |
| 326 | 334 |
| 327 UpdateErrorLabel(); | 335 UpdateErrorLabel(); |
| 336 |
| 337 if (wimax) { |
| 338 NetworkHandler::Get()->network_configuration_handler()->GetProperties( |
| 339 service_path_, |
| 340 base::Bind(&WimaxConfigView::InitFromProperties, |
| 341 weak_ptr_factory_.GetWeakPtr()), |
| 342 base::Bind(&ShillError, "GetProperties")); |
| 343 } |
| 344 } |
| 345 |
| 346 void WimaxConfigView::InitFromProperties( |
| 347 const std::string& service_path, |
| 348 const base::DictionaryValue& properties) { |
| 349 // EapIdentity |
| 350 std::string eap_identity; |
| 351 properties.GetStringWithoutPathExpansion( |
| 352 flimflam::kEapIdentityProperty, &eap_identity); |
| 353 identity_textfield_->SetText(UTF8ToUTF16(eap_identity)); |
| 354 |
| 355 // Save credentials |
| 356 if (save_credentials_checkbox_) { |
| 357 bool save_credentials = false; |
| 358 properties.GetBooleanWithoutPathExpansion( |
| 359 flimflam::kSaveCredentialsProperty, &save_credentials); |
| 360 save_credentials_checkbox_->SetChecked(save_credentials); |
| 361 } |
| 328 } | 362 } |
| 329 | 363 |
| 330 void WimaxConfigView::InitFocus() { | 364 void WimaxConfigView::InitFocus() { |
| 331 views::View* view_to_focus = GetInitiallyFocusedView(); | 365 views::View* view_to_focus = GetInitiallyFocusedView(); |
| 332 if (view_to_focus) | 366 if (view_to_focus) |
| 333 view_to_focus->RequestFocus(); | 367 view_to_focus->RequestFocus(); |
| 334 } | 368 } |
| 335 | 369 |
| 336 } // namespace chromeos | 370 } // namespace chromeos |
| OLD | NEW |