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

Unified Diff: chrome/browser/chromeos/options/wimax_config_view.cc

Issue 21046008: Convert all connect code to use NetworkHandler instead of NetworkLibrary (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Restore check VPN PassphraseRequred Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/options/wimax_config_view.cc
diff --git a/chrome/browser/chromeos/options/wimax_config_view.cc b/chrome/browser/chromeos/options/wimax_config_view.cc
index 5ae075b796b934a95abf9c4ae5bc5d895b0e3624..232c5246e0df00a8d2a5eb9d3bce74e8911cfb2f 100644
--- a/chrome/browser/chromeos/options/wimax_config_view.cc
+++ b/chrome/browser/chromeos/options/wimax_config_view.cc
@@ -4,19 +4,27 @@
#include "chrome/browser/chromeos/options/wimax_config_view.h"
+#include "ash/system/chromeos/network/network_connect.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/chromeos/cros/network_library.h"
#include "chrome/browser/chromeos/enrollment_dialog_view.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
+#include "chrome/browser/chromeos/options/network_connect.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chromeos/login/login_state.h"
+#include "chromeos/network/network_configuration_handler.h"
+#include "chromeos/network/network_event_log.h"
+#include "chromeos/network/network_profile.h"
+#include "chromeos/network/network_profile_handler.h"
+#include "chromeos/network/network_state.h"
+#include "chromeos/network/network_state_handler.h"
#include "chromeos/network/onc/onc_constants.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
#include "grit/locale_settings.h"
#include "grit/theme_resources.h"
+#include "third_party/cros_system_api/dbus/service_constants.h"
#include "ui/base/events/event.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
@@ -31,8 +39,19 @@
namespace chromeos {
-WimaxConfigView::WimaxConfigView(NetworkConfigView* parent, WimaxNetwork* wimax)
- : ChildNetworkConfigView(parent, wimax),
+namespace {
+
+void ShillError(const std::string& function,
+ const std::string& error_name,
+ scoped_ptr<base::DictionaryValue> error_data) {
+ NET_LOG_ERROR("Shill Error from WimaxConfigView: " + error_name, function);
+}
+
+} // namespace
+
+WimaxConfigView::WimaxConfigView(NetworkConfigView* parent,
+ const std::string& service_path)
+ : ChildNetworkConfigView(parent, service_path),
identity_label_(NULL),
identity_textfield_(NULL),
save_credentials_checkbox_(NULL),
@@ -42,7 +61,7 @@ WimaxConfigView::WimaxConfigView(NetworkConfigView* parent, WimaxNetwork* wimax)
passphrase_textfield_(NULL),
passphrase_visible_button_(NULL),
error_label_(NULL) {
- Init(wimax);
+ Init(service_path);
}
WimaxConfigView::~WimaxConfigView() {
@@ -76,33 +95,15 @@ void WimaxConfigView::UpdateDialogButtons() {
}
void WimaxConfigView::UpdateErrorLabel() {
- std::string error_msg;
+ base::string16 error_msg;
if (!service_path_.empty()) {
- NetworkLibrary* cros = NetworkLibrary::Get();
- const WimaxNetwork* wimax = cros->FindWimaxNetworkByPath(service_path_);
- if (wimax && wimax->failed()) {
- bool passphrase_empty = wimax->eap_passphrase().empty();
- switch (wimax->error()) {
- case ERROR_BAD_PASSPHRASE:
- if (!passphrase_empty) {
- error_msg = l10n_util::GetStringUTF8(
- IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_BAD_PASSPHRASE);
- }
- break;
- case ERROR_BAD_WEPKEY:
- if (!passphrase_empty) {
- error_msg = l10n_util::GetStringUTF8(
- IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_BAD_WEPKEY);
- }
- break;
- default:
- error_msg = wimax->GetErrorString();
- break;
- }
- }
+ const NetworkState* wimax = NetworkHandler::Get()->network_state_handler()->
+ GetNetworkState(service_path_);
gauravsh 2013/08/03 01:15:54 Add DCHECK to verity this is a kTypeWimax network.
stevenjb 2013/08/06 00:32:48 Added a DCHECK in Init()
+ if (wimax && wimax->connection_state() == flimflam::kStateFailure)
+ error_msg = ash::network_connect::ErrorString(wimax->error());
}
if (!error_msg.empty()) {
- error_label_->SetText(UTF8ToUTF16(error_msg));
+ error_label_->SetText(error_msg);
error_label_->SetVisible(true);
} else {
error_label_->SetVisible(false);
@@ -137,26 +138,42 @@ void WimaxConfigView::ButtonPressed(views::Button* sender,
}
bool WimaxConfigView::Login() {
- NetworkLibrary* cros = NetworkLibrary::Get();
- WimaxNetwork* wimax = cros->FindWimaxNetworkByPath(service_path_);
+ const NetworkState* wimax = NetworkHandler::Get()->network_state_handler()->
+ GetNetworkState(service_path_);
if (!wimax) {
- // Shill no longer knows about this wimax network (edge case).
- // TODO(stevenjb): Add a notification (chromium-os13225).
- LOG(WARNING) << "Wimax network: " << service_path_ << " no longer exists.";
- return true;
+ // Shill no longer knows about this network (edge case).
+ // TODO(stevenjb): Add notification for this.
+ NET_LOG_ERROR("Network not found", service_path_);
+ return true; // Close dialog
+ }
+ base::DictionaryValue properties;
+ properties.SetStringWithoutPathExpansion(
+ flimflam::kEapIdentityProperty, GetEapIdentity());
+ properties.SetStringWithoutPathExpansion(
+ flimflam::kEapPasswordProperty, GetEapPassphrase());
+ properties.SetBooleanWithoutPathExpansion(
+ flimflam::kSaveCredentialsProperty, GetSaveCredentials());
+ bool wimax_shared = !wimax->IsPrivate();
gauravsh 2013/08/03 01:15:54 What are lines l156 - l175 doing? (add a comment t
stevenjb 2013/08/06 00:32:48 Comment Added.
+ bool share_network = GetShareNetwork(wimax_shared);
+ if (share_network != wimax_shared) {
+ std::string profile_path;
+ if (share_network) {
+ profile_path = NetworkProfileHandler::kSharedProfilePath;
+ } else {
+ const NetworkProfile* profile =
+ NetworkHandler::Get()->network_profile_handler()->
+ GetDefaultUserProfile();
+ if (profile)
+ profile_path = profile->path;
+ else
+ NET_LOG_ERROR("Unable to set user profile", service_path_);
+ }
+ if (!profile_path.empty()) {
+ properties.SetStringWithoutPathExpansion(
+ flimflam::kProfileProperty, profile_path);
+ }
}
- wimax->SetEAPIdentity(GetEapIdentity());
- wimax->SetEAPPassphrase(GetEapPassphrase());
- wimax->SetSaveCredentials(GetSaveCredentials());
- bool share_default = (wimax->profile_type() != PROFILE_USER);
- bool share = GetShareNetwork(share_default);
- wimax->SetEnrollmentDelegate(
- CreateEnrollmentDelegate(GetWidget()->GetNativeWindow(),
- wimax->name(),
- ProfileManager::GetLastUsedProfile()));
- cros->ConnectToWimaxNetwork(wimax, share);
- // Connection failures are responsible for updating the UI, including
- // reopening dialogs.
+ ash::network_connect::ConfigureNetworkAndConnect(service_path_, properties);
return true; // dialog will be closed
}
@@ -183,7 +200,9 @@ bool WimaxConfigView::GetShareNetwork(bool share_default) const {
void WimaxConfigView::Cancel() {
}
-void WimaxConfigView::Init(WimaxNetwork* wimax) {
+void WimaxConfigView::Init(const std::string& service_path) {
+ const NetworkState* wimax = NetworkHandler::Get()->network_state_handler()->
+ GetNetworkState(service_path);
DCHECK(wimax);
WifiConfigView::ParseWiFiEAPUIProperty(
&save_credentials_ui_data_, wimax, onc::eap::kSaveCredentials);
@@ -230,8 +249,6 @@ void WimaxConfigView::Init(WimaxNetwork* wimax) {
views::Textfield::STYLE_DEFAULT);
identity_textfield_->SetAccessibleName(identity_label_text);
identity_textfield_->SetController(this);
- const std::string& eap_identity = wimax->eap_identity();
- identity_textfield_->SetText(UTF8ToUTF16(eap_identity));
identity_textfield_->SetEnabled(identity_ui_data_.IsEditable());
layout->AddView(identity_textfield_);
layout->AddView(new ControlledSettingIndicatorView(identity_ui_data_));
@@ -296,20 +313,19 @@ void WimaxConfigView::Init(WimaxNetwork* wimax) {
IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SAVE_CREDENTIALS));
save_credentials_checkbox_->SetEnabled(
save_credentials_ui_data_.IsEditable());
- save_credentials_checkbox_->SetChecked(wimax->save_credentials());
layout->SkipColumns(1);
layout->AddView(save_credentials_checkbox_);
layout->AddView(
new ControlledSettingIndicatorView(save_credentials_ui_data_));
// Share network
- if (wimax->profile_type() == PROFILE_NONE && wimax->passphrase_required()) {
+ if (!wimax->IsPrivate()) {
layout->StartRow(0, column_view_set_id);
share_network_checkbox_ = new views::Checkbox(
l10n_util::GetStringUTF16(
IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SHARE_NETWORK));
share_network_checkbox_->SetEnabled(true);
- share_network_checkbox_->SetChecked(false); // Default to unshared.
+ share_network_checkbox_->SetChecked(true);
layout->SkipColumns(1);
layout->AddView(share_network_checkbox_);
}
@@ -325,6 +341,31 @@ void WimaxConfigView::Init(WimaxNetwork* wimax) {
layout->AddView(error_label_);
UpdateErrorLabel();
+
+ if (wimax) {
+ NetworkHandler::Get()->network_configuration_handler()->GetProperties(
+ service_path,
+ base::Bind(&WimaxConfigView::InitFromProperties, AsWeakPtr()),
+ base::Bind(&ShillError, "GetProperties"));
+ }
+}
+
+void WimaxConfigView::InitFromProperties(
+ const std::string& service_path,
+ const base::DictionaryValue& properties) {
+ // EapIdentity
+ std::string eap_identity;
+ properties.GetStringWithoutPathExpansion(
+ flimflam::kEapIdentityProperty, &eap_identity);
+ identity_textfield_->SetText(UTF8ToUTF16(eap_identity));
+
+ // Save credentials
+ if (save_credentials_checkbox_) {
+ bool save_credentials = false;
+ properties.GetBooleanWithoutPathExpansion(
+ flimflam::kSaveCredentialsProperty, &save_credentials);
+ save_credentials_checkbox_->SetChecked(save_credentials);
+ }
}
void WimaxConfigView::InitFocus() {

Powered by Google App Engine
This is Rietveld 408576698