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

Side by Side Diff: chrome/browser/chromeos/options/wifi_config_view.cc

Issue 7628009: chromium-os:18602 - do not override shared setting on bad password (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
« no previous file with comments | « chrome/browser/chromeos/options/wifi_config_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/options/wifi_config_view.h" 5 #include "chrome/browser/chromeos/options/wifi_config_view.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/chromeos/cros/cros_library.h" 9 #include "chrome/browser/chromeos/cros/cros_library.h"
10 #include "chrome/browser/chromeos/cros/network_library.h" 10 #include "chrome/browser/chromeos/cros/network_library.h"
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 528
529 void WifiConfigView::OnCertificatesLoaded(bool initial_load) { 529 void WifiConfigView::OnCertificatesLoaded(bool initial_load) {
530 RefreshEapFields(); 530 RefreshEapFields();
531 UpdateDialogButtons(); 531 UpdateDialogButtons();
532 UpdateErrorLabel(); 532 UpdateErrorLabel();
533 } 533 }
534 534
535 bool WifiConfigView::Login() { 535 bool WifiConfigView::Login() {
536 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); 536 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary();
537 if (service_path_.empty()) { 537 if (service_path_.empty()) {
538 const bool share_default = true; // share networks by default
538 if (!eap_method_combobox_) { 539 if (!eap_method_combobox_) {
539 // Hidden ordinary Wi-Fi connection. 540 // Hidden ordinary Wi-Fi connection.
540 ConnectionSecurity security = SECURITY_UNKNOWN; 541 ConnectionSecurity security = SECURITY_UNKNOWN;
541 switch (security_combobox_->selected_item()) { 542 switch (security_combobox_->selected_item()) {
542 case SECURITY_INDEX_NONE: 543 case SECURITY_INDEX_NONE:
543 security = SECURITY_NONE; 544 security = SECURITY_NONE;
544 break; 545 break;
545 case SECURITY_INDEX_WEP: 546 case SECURITY_INDEX_WEP:
546 security = SECURITY_WEP; 547 security = SECURITY_WEP;
547 break; 548 break;
548 case SECURITY_INDEX_PSK: 549 case SECURITY_INDEX_PSK:
549 security = SECURITY_PSK; 550 security = SECURITY_PSK;
550 break; 551 break;
551 } 552 }
552 cros->ConnectToUnconfiguredWifiNetwork( 553 cros->ConnectToUnconfiguredWifiNetwork(
553 GetSsid(), 554 GetSsid(),
554 security, 555 security,
555 GetPassphrase(), 556 GetPassphrase(),
556 NULL, 557 NULL,
557 GetSaveCredentials(), 558 GetSaveCredentials(),
558 GetShareNetwork()); 559 GetShareNetwork(share_default));
559 } else { 560 } else {
560 // Hidden 802.1X EAP Wi-Fi connection. 561 // Hidden 802.1X EAP Wi-Fi connection.
561 chromeos::NetworkLibrary::EAPConfigData config_data; 562 chromeos::NetworkLibrary::EAPConfigData config_data;
562 config_data.method = GetEapMethod(); 563 config_data.method = GetEapMethod();
563 config_data.auth = GetEapPhase2Auth(); 564 config_data.auth = GetEapPhase2Auth();
564 config_data.server_ca_cert_nss_nickname = GetEapServerCaCertNssNickname(); 565 config_data.server_ca_cert_nss_nickname = GetEapServerCaCertNssNickname();
565 config_data.use_system_cas = GetEapUseSystemCas(); 566 config_data.use_system_cas = GetEapUseSystemCas();
566 config_data.client_cert_pkcs11_id = GetEapClientCertPkcs11Id(); 567 config_data.client_cert_pkcs11_id = GetEapClientCertPkcs11Id();
567 config_data.identity = GetEapIdentity(); 568 config_data.identity = GetEapIdentity();
568 config_data.anonymous_identity = GetEapAnonymousIdentity(); 569 config_data.anonymous_identity = GetEapAnonymousIdentity();
569 cros->ConnectToUnconfiguredWifiNetwork( 570 cros->ConnectToUnconfiguredWifiNetwork(
570 GetSsid(), 571 GetSsid(),
571 SECURITY_8021X, 572 SECURITY_8021X,
572 GetPassphrase(), 573 GetPassphrase(),
573 &config_data, 574 &config_data,
574 GetSaveCredentials(), 575 GetSaveCredentials(),
575 GetShareNetwork()); 576 GetShareNetwork(share_default));
576 } 577 }
577 } else { 578 } else {
578 WifiNetwork* wifi = cros->FindWifiNetworkByPath(service_path_); 579 WifiNetwork* wifi = cros->FindWifiNetworkByPath(service_path_);
579 if (!wifi) { 580 if (!wifi) {
580 // Flimflam no longer knows about this wifi network (edge case). 581 // Flimflam no longer knows about this wifi network (edge case).
581 // TODO(stevenjb): Add a notification (chromium-os13225). 582 // TODO(stevenjb): Add a notification (chromium-os13225).
582 LOG(WARNING) << "Wifi network: " << service_path_ << " no longer exists."; 583 LOG(WARNING) << "Wifi network: " << service_path_ << " no longer exists.";
583 return true; 584 return true;
584 } 585 }
585 if (eap_method_combobox_) { 586 if (eap_method_combobox_) {
586 // Visible 802.1X EAP Wi-Fi connection. 587 // Visible 802.1X EAP Wi-Fi connection.
587 EAPMethod method = GetEapMethod(); 588 EAPMethod method = GetEapMethod();
588 DCHECK(method != EAP_METHOD_UNKNOWN); 589 DCHECK(method != EAP_METHOD_UNKNOWN);
589 wifi->SetEAPMethod(method); 590 wifi->SetEAPMethod(method);
590 wifi->SetEAPPhase2Auth(GetEapPhase2Auth()); 591 wifi->SetEAPPhase2Auth(GetEapPhase2Auth());
591 wifi->SetEAPServerCaCertNssNickname(GetEapServerCaCertNssNickname()); 592 wifi->SetEAPServerCaCertNssNickname(GetEapServerCaCertNssNickname());
592 wifi->SetEAPUseSystemCAs(GetEapUseSystemCas()); 593 wifi->SetEAPUseSystemCAs(GetEapUseSystemCas());
593 wifi->SetEAPClientCertPkcs11Id(GetEapClientCertPkcs11Id()); 594 wifi->SetEAPClientCertPkcs11Id(GetEapClientCertPkcs11Id());
594 wifi->SetEAPIdentity(GetEapIdentity()); 595 wifi->SetEAPIdentity(GetEapIdentity());
595 wifi->SetEAPAnonymousIdentity(GetEapAnonymousIdentity()); 596 wifi->SetEAPAnonymousIdentity(GetEapAnonymousIdentity());
596 wifi->SetEAPPassphrase(GetPassphrase()); 597 wifi->SetEAPPassphrase(GetPassphrase());
597 wifi->SetSaveCredentials(GetSaveCredentials()); 598 wifi->SetSaveCredentials(GetSaveCredentials());
598 } else { 599 } else {
599 // Visible ordinary Wi-Fi connection. 600 // Visible ordinary Wi-Fi connection.
600 const std::string passphrase = GetPassphrase(); 601 const std::string passphrase = GetPassphrase();
601 if (passphrase != wifi->passphrase()) 602 if (passphrase != wifi->passphrase())
602 wifi->SetPassphrase(passphrase); 603 wifi->SetPassphrase(passphrase);
603 } 604 }
604 605 bool share_default = (wifi->profile_type() == PROFILE_SHARED);
605 cros->ConnectToWifiNetwork(wifi, GetShareNetwork()); 606 cros->ConnectToWifiNetwork(wifi, GetShareNetwork(share_default));
606 // Connection failures are responsible for updating the UI, including 607 // Connection failures are responsible for updating the UI, including
607 // reopening dialogs. 608 // reopening dialogs.
608 } 609 }
609 return true; // dialog will be closed 610 return true; // dialog will be closed
610 } 611 }
611 612
612 std::string WifiConfigView::GetSsid() const { 613 std::string WifiConfigView::GetSsid() const {
613 std::string result; 614 std::string result;
614 if (ssid_textfield_ != NULL) { 615 if (ssid_textfield_ != NULL) {
615 std::string untrimmed = UTF16ToUTF8(ssid_textfield_->text()); 616 std::string untrimmed = UTF16ToUTF8(ssid_textfield_->text());
616 TrimWhitespaceASCII(untrimmed, TRIM_ALL, &result); 617 TrimWhitespaceASCII(untrimmed, TRIM_ALL, &result);
617 } 618 }
618 return result; 619 return result;
619 } 620 }
620 621
621 std::string WifiConfigView::GetPassphrase() const { 622 std::string WifiConfigView::GetPassphrase() const {
622 std::string result; 623 std::string result;
623 if (passphrase_textfield_ != NULL) 624 if (passphrase_textfield_ != NULL)
624 result = UTF16ToUTF8(passphrase_textfield_->text()); 625 result = UTF16ToUTF8(passphrase_textfield_->text());
625 return result; 626 return result;
626 } 627 }
627 628
628 bool WifiConfigView::GetSaveCredentials() const { 629 bool WifiConfigView::GetSaveCredentials() const {
629 if (!save_credentials_checkbox_) 630 if (!save_credentials_checkbox_)
630 return true; // share networks by default (e.g. non 8021x). 631 return true; // share networks by default (e.g. non 8021x).
631 return save_credentials_checkbox_->checked(); 632 return save_credentials_checkbox_->checked();
632 } 633 }
633 634
634 bool WifiConfigView::GetShareNetwork() const { 635 bool WifiConfigView::GetShareNetwork(bool share_default) const {
635 if (!share_network_checkbox_) 636 if (!share_network_checkbox_ || !share_network_checkbox_->IsEnabled())
636 return true; // share networks by default (e.g. non secure network). 637 return share_default;
637 return share_network_checkbox_->checked(); 638 return share_network_checkbox_->checked();
638 } 639 }
639 640
640 EAPMethod WifiConfigView::GetEapMethod() const { 641 EAPMethod WifiConfigView::GetEapMethod() const {
641 DCHECK(eap_method_combobox_); 642 DCHECK(eap_method_combobox_);
642 switch (eap_method_combobox_->selected_item()) { 643 switch (eap_method_combobox_->selected_item()) {
643 case EAP_METHOD_INDEX_NONE: 644 case EAP_METHOD_INDEX_NONE:
644 return EAP_METHOD_UNKNOWN; 645 return EAP_METHOD_UNKNOWN;
645 case EAP_METHOD_INDEX_PEAP: 646 case EAP_METHOD_INDEX_PEAP:
646 return EAP_METHOD_PEAP; 647 return EAP_METHOD_PEAP;
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
1052 // Set focus to a reasonable widget, depending on what we're showing. 1053 // Set focus to a reasonable widget, depending on what we're showing.
1053 if (ssid_textfield_) 1054 if (ssid_textfield_)
1054 ssid_textfield_->RequestFocus(); 1055 ssid_textfield_->RequestFocus();
1055 else if (eap_method_combobox_) 1056 else if (eap_method_combobox_)
1056 eap_method_combobox_->RequestFocus(); 1057 eap_method_combobox_->RequestFocus();
1057 else if (passphrase_textfield_ && passphrase_textfield_->IsEnabled()) 1058 else if (passphrase_textfield_ && passphrase_textfield_->IsEnabled())
1058 passphrase_textfield_->RequestFocus(); 1059 passphrase_textfield_->RequestFocus();
1059 } 1060 }
1060 1061
1061 } // namespace chromeos 1062 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/options/wifi_config_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698