summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/resources/options/chromeos/internet_detail.html2
-rw-r--r--chrome/browser/resources/options/chromeos/internet_network_element.js203
-rw-r--r--chrome/browser/resources/options/chromeos/internet_options.js91
-rw-r--r--chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc97
-rw-r--r--chrome/browser/ui/webui/options/chromeos/internet_options_handler.h7
5 files changed, 42 insertions, 358 deletions
diff --git a/chrome/browser/resources/options/chromeos/internet_detail.html b/chrome/browser/resources/options/chromeos/internet_detail.html
index 53e285b..79e499e 100644
--- a/chrome/browser/resources/options/chromeos/internet_detail.html
+++ b/chrome/browser/resources/options/chromeos/internet_detail.html
@@ -300,6 +300,8 @@
i18n-content="detailsInternetDismiss"></button>
<button id="detailsInternetLogin"
i18n-content="connect_button"></button>
+ <button id="detailsInternetDisconnect"
+ i18n-content="disconnect_button"></button>
<button id="activateDetails"
i18n-content="activate_button"></button>
<button id="buyplanDetails"
diff --git a/chrome/browser/resources/options/chromeos/internet_network_element.js b/chrome/browser/resources/options/chromeos/internet_network_element.js
index c56ecc1..007793f 100644
--- a/chrome/browser/resources/options/chromeos/internet_network_element.js
+++ b/chrome/browser/resources/options/chromeos/internet_network_element.js
@@ -91,22 +91,12 @@ cr.define('options.internet', function() {
if (data && (data.networkType == 1 ||
(data.networkType == 5 && data.activation_state != 1)))
return;
- for (var i = 0; i < this.childNodes.length; i++) {
- if (this.childNodes[i] != item)
- this.childNodes[i].hidePassword();
- }
- InternetOptions.unlockUpdates();
// If clicked on other networks item.
if (data && data.servicePath == '?') {
- if (InternetOptions.useSettingsUI &&
- data.type != options.internet.Constants.TYPE_CELLULAR) {
- item.showOtherLogin();
- } else {
- chrome.send('buttonClickCallback',
- [String(data.networkType),
- data.servicePath,
- 'connect']);
- }
+ chrome.send('buttonClickCallback',
+ [String(data.networkType),
+ data.servicePath,
+ 'connect']);
}
}
}
@@ -272,191 +262,6 @@ cr.define('options.internet', function() {
this.appendChild(buttonsDiv);
},
- showPassword: function() {
- if (this.connecting)
- return;
-
- InternetOptions.lockUpdates();
-
- var passwordDiv = this.ownerDocument.createElement('div');
- passwordDiv.className = 'network-password';
- var passInput = this.ownerDocument.createElement('input');
- passwordDiv.appendChild(passInput);
- passInput.placeholder = localStrings.getString('inetPassPrompt');
- passInput.type = 'password';
- var buttonEl = this.ownerDocument.createElement('button');
- buttonEl.textContent = localStrings.getString('inetLogin');
- buttonEl.addEventListener('click', this.handleLogin_);
- buttonEl.servicePath = this.data.servicePath;
- buttonEl.style.right = '0';
- buttonEl.style.position = 'absolute';
- buttonEl.style.visibility = 'visible';
- buttonEl.disabled = true;
-
- var togglePassLabel = this.ownerDocument.createElement('label');
- togglePassLabel.style.display = 'inline';
- var togglePassSpan = this.ownerDocument.createElement('span');
- var togglePassCheckbox = this.ownerDocument.createElement('input');
- togglePassCheckbox.type = 'checkbox';
- togglePassCheckbox.checked = false;
- togglePassCheckbox.target = passInput;
- togglePassCheckbox.addEventListener('change', this.handleShowPass_);
- togglePassSpan.textContent = localStrings.getString('inetShowPass');
- togglePassLabel.appendChild(togglePassCheckbox);
- togglePassLabel.appendChild(togglePassSpan);
- passwordDiv.appendChild(togglePassLabel);
-
- // Disable login button if there is no password.
- passInput.addEventListener('keyup', function(e) {
- buttonEl.disabled =
- passInput.value.length < Constants.MIN_WIRELESS_PASSWORD_LENGTH;
- });
-
- passwordDiv.appendChild(buttonEl);
- this.connecting = true;
- this.appendChild(passwordDiv);
- },
-
- handleShowPass_: function(e) {
- var target = e.target;
- if (target.checked) {
- target.target.type = 'text';
- } else {
- target.target.type = 'password';
- }
- },
-
- hidePassword: function() {
- this.connecting = false;
- var children = this.childNodes;
- // Remove all password divs starting from the end.
- for (var i = children.length-1; i >= 0; i--) {
- if (children[i].className == 'network-password') {
- this.removeChild(children[i]);
- }
- }
- },
-
- showOtherLogin: function() {
- if (this.connecting)
- return;
-
- InternetOptions.lockUpdates();
-
- var ssidDiv = this.ownerDocument.createElement('div');
- ssidDiv.className = 'network-password';
- var ssidInput = this.ownerDocument.createElement('input');
- ssidInput.placeholder = localStrings.getString('inetSsidPrompt');
- ssidDiv.appendChild(ssidInput);
-
- var securityDiv = this.ownerDocument.createElement('div');
- securityDiv.className = 'network-password';
- var securityInput = this.ownerDocument.createElement('select');
- var securityNoneOption = this.ownerDocument.createElement('option');
- securityNoneOption.value = 'none';
- securityNoneOption.label = localStrings.getString('inetSecurityNone');
- securityInput.appendChild(securityNoneOption);
- var securityWEPOption = this.ownerDocument.createElement('option');
- securityWEPOption.value = 'wep';
- securityWEPOption.label = localStrings.getString('inetSecurityWEP');
- securityInput.appendChild(securityWEPOption);
- var securityWPAOption = this.ownerDocument.createElement('option');
- securityWPAOption.value = 'wpa';
- securityWPAOption.label = localStrings.getString('inetSecurityWPA');
- securityInput.appendChild(securityWPAOption);
- var securityRSNOption = this.ownerDocument.createElement('option');
- securityRSNOption.value = 'rsn';
- securityRSNOption.label = localStrings.getString('inetSecurityRSN');
- securityInput.appendChild(securityRSNOption);
- securityDiv.appendChild(securityInput);
-
- var passwordDiv = this.ownerDocument.createElement('div');
- passwordDiv.className = 'network-password';
- var passInput = this.ownerDocument.createElement('input');
- passInput.placeholder = localStrings.getString('inetPassPrompt');
- passInput.type = 'password';
- passInput.disabled = true;
- passwordDiv.appendChild(passInput);
-
- var togglePassLabel = this.ownerDocument.createElement('label');
- togglePassLabel.style.display = 'inline';
- var togglePassSpan = this.ownerDocument.createElement('span');
- var togglePassCheckbox = this.ownerDocument.createElement('input');
- togglePassCheckbox.type = 'checkbox';
- togglePassCheckbox.checked = false;
- togglePassCheckbox.target = passInput;
- togglePassCheckbox.addEventListener('change', this.handleShowPass_);
- togglePassSpan.textContent = localStrings.getString('inetShowPass');
- togglePassLabel.appendChild(togglePassCheckbox);
- togglePassLabel.appendChild(togglePassSpan);
- passwordDiv.appendChild(togglePassLabel);
-
- var buttonEl =
- this.createButton_('inetLogin', true, this.handleOtherLogin_);
- buttonEl.style.right = '0';
- buttonEl.style.position = 'absolute';
- buttonEl.style.visibility = 'visible';
- buttonEl.disabled = true;
- passwordDiv.appendChild(buttonEl);
-
- this.appendChild(ssidDiv);
- this.appendChild(securityDiv);
- this.appendChild(passwordDiv);
-
- securityInput.addEventListener('change', function(e) {
- // If changed to None, then disable passInput and clear it out.
- // Otherwise enable it.
- if (securityInput.value == 'none') {
- passInput.disabled = true;
- passInput.value = '';
- } else {
- passInput.disabled = false;
- }
- });
-
- var keyup_listener = function(e) {
- // Disable login button if ssid is not long enough or
- // password is not long enough (unless no security)
- var ssid_good =
- ssidInput.value.length >= Constants.MIN_WIRELESS_SSID_LENGTH;
- var pass_good =
- securityInput.value == 'none' ||
- passInput.value.length >= Constants.MIN_WIRELESS_PASSWORD_LENGTH;
- buttonEl.disabled = !ssid_good || !pass_good;
- };
- ssidInput.addEventListener('keyup', keyup_listener);
- securityInput.addEventListener('change', keyup_listener);
- passInput.addEventListener('keyup', keyup_listener);
- this.connecting = true;
- },
-
- handleLogin_: function(e) {
- // The user has clicked on the Login button. It's now safe to
- // unclock UI updates.
- InternetOptions.unlockUpdates();
- var el = e.target;
- var parent = el.parentNode;
- el.disabled = true;
- var input = parent.firstChild;
- input.disabled = true;
- chrome.send('loginToNetwork', [el.servicePath, input.value]);
- },
-
- handleOtherLogin_: function(e) {
- // See comments in handleLogin_().
- InternetOptions.unlockUpdates();
- var el = e.target;
- var parent = el.parentNode.parentNode;
- el.disabled = true;
- var ssid = parent.childNodes[1].firstChild;
- var sec = parent.childNodes[2].firstChild;
- var pass = parent.childNodes[3].firstChild;
- sec.disabled = true;
- ssid.disabled = true;
- pass.disabled = true;
- chrome.send('loginToOtherNetwork', [sec.value, ssid.value, pass.value]);
- },
-
/**
* Creates a button for interacting with a network.
* @param {Object} name The name of the localStrings to use for the text.
diff --git a/chrome/browser/resources/options/chromeos/internet_options.js b/chrome/browser/resources/options/chromeos/internet_options.js
index c3e1b2f..e4e590ab 100644
--- a/chrome/browser/resources/options/chromeos/internet_options.js
+++ b/chrome/browser/resources/options/chromeos/internet_options.js
@@ -59,6 +59,10 @@ cr.define('options', function() {
InternetOptions.setDetails();
InternetOptions.loginFromDetails();
});
+ $('detailsInternetDisconnect').addEventListener('click', function(event) {
+ InternetOptions.setDetails();
+ InternetOptions.disconnectNetwork();
+ });
$('activateDetails').addEventListener('click', function(event) {
InternetOptions.activateFromDetails();
});
@@ -153,34 +157,21 @@ cr.define('options', function() {
cr.defineProperty(InternetOptions, 'accesslocked', cr.PropertyKind.JS,
InternetOptions.prototype.updateControls_);
- // A boolean flag from InternerOptionsHandler to indicate whether to use
- // inline WebUI for ethernet/wifi login/options.
- InternetOptions.useSettingsUI = false;
-
- // Network status update will be blocked while typing in WEP password etc.
- InternetOptions.updateLocked = false;
- InternetOptions.updatePending = false;
- InternetOptions.updataData = null;
-
InternetOptions.loginFromDetails = function () {
var data = $('connectionState').data;
var servicePath = data.servicePath;
- if (data.type == options.internet.Constants.TYPE_WIFI) {
- if (data.certInPkcs) {
- chrome.send('loginToCertNetwork',[String(servicePath),
- String(data.certPath),
- String(data.ident)]);
- } else {
- chrome.send('loginToCertNetwork',[String(servicePath),
- String($('inetCert').value),
- String($('inetIdent').value),
- String($('inetCertPass').value)]);
- }
- } else if (data.type == options.internet.Constants.TYPE_CELLULAR) {
- chrome.send('buttonClickCallback', [String(data.type),
- servicePath,
- 'connect']);
- }
+ chrome.send('buttonClickCallback', [String(data.type),
+ servicePath,
+ 'connect']);
+ OptionsPage.closeOverlay();
+ };
+
+ InternetOptions.disconnectNetwork = function () {
+ var data = $('connectionState').data;
+ var servicePath = data.servicePath;
+ chrome.send('buttonClickCallback', [String(data.type),
+ servicePath,
+ 'disconnect']);
OptionsPage.closeOverlay();
};
@@ -248,20 +239,6 @@ cr.define('options', function() {
$('disable-cellular').hidden = true;
$('data-roaming').hidden = true;
}
-
- InternetOptions.useSettingsUI = data.networkUseSettingsUI;
- };
-
- // Prevent clobbering of password input field.
- InternetOptions.lockUpdates = function () {
- InternetOptions.updateLocked = true;
- };
-
- InternetOptions.unlockUpdates = function () {
- InternetOptions.updateLocked = false;
- if (InternetOptions.updatePending) {
- InternetOptions.refreshNetworkData(InternetOptions.updateData);
- }
};
//
@@ -274,23 +251,16 @@ cr.define('options', function() {
return;
}
self.accesslocked = false;
- if (InternetOptions.updateLocked) {
- InternetOptions.updateData = data;
- InternetOptions.updatePending = true;
- } else {
- $('wired-list').load(data.wiredList);
- $('wireless-list').load(data.wirelessList);
- $('vpn-list').load(data.vpnList);
- $('remembered-list').load(data.rememberedList);
-
- $('wired-section').hidden = (data.wiredList.length == 0);
- $('wireless-section').hidden = (data.wirelessList.length == 0);
- $('vpn-section').hidden = (data.vpnList.length == 0);
- InternetOptions.setupAttributes(data);
- $('remembered-section').hidden = (data.rememberedList.length == 0);
- InternetOptions.updateData = null;
- InternetOptions.updatePending = false;
- }
+ $('wired-list').load(data.wiredList);
+ $('wireless-list').load(data.wirelessList);
+ $('vpn-list').load(data.vpnList);
+ $('remembered-list').load(data.rememberedList);
+
+ $('wired-section').hidden = (data.wiredList.length == 0);
+ $('wireless-section').hidden = (data.wirelessList.length == 0);
+ $('vpn-section').hidden = (data.vpnList.length == 0);
+ InternetOptions.setupAttributes(data);
+ $('remembered-section').hidden = (data.rememberedList.length == 0);
};
// TODO(xiyuan): This function seems belonging to DetailsInternetPage.
@@ -320,11 +290,6 @@ cr.define('options', function() {
$('sim-card-lock-enabled').checked = data.requirePin;
};
- InternetOptions.showPasswordEntry = function (data) {
- var element = $(data.servicePath);
- element.showPassword();
- };
-
InternetOptions.showDetailedInfo = function (data) {
var detailsPage = DetailsInternetPage.getInstance();
// TODO(chocobo): Is this hack to cache the data here reasonable?
@@ -332,6 +297,10 @@ cr.define('options', function() {
$('buyplanDetails').hidden = true;
$('activateDetails').hidden = true;
$('detailsInternetLogin').hidden = data.connected;
+ if (data.type == options.internet.Constants.TYPE_ETHERNET)
+ $('detailsInternetDisconnect').hidden = true;
+ else
+ $('detailsInternetDisconnect').hidden = !data.connected;
detailsPage.deviceConnected = data.deviceConnected;
detailsPage.connecting = data.connecting;
diff --git a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
index a2a5ebc..fcc3a8b 100644
--- a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
@@ -50,8 +50,7 @@ static const char kOtherNetworksFakePath[] = "?";
InternetOptionsHandler::InternetOptionsHandler()
: chromeos::CrosOptionsPageUIHandler(
- new chromeos::UserCrosSettingsProvider),
- use_settings_ui_(false) {
+ new chromeos::UserCrosSettingsProvider) {
registrar_.Add(this, NotificationType::REQUIRE_PIN_SETTING_CHANGE_ENDED,
NotificationService::AllSources());
registrar_.Add(this, NotificationType::ENTER_PIN_ENDED,
@@ -350,9 +349,7 @@ void InternetOptionsHandler::GetLocalizedValues(
chromeos::UserCrosSettingsProvider::cached_owner()));
FillNetworkInfo(localized_strings);
-
- localized_strings->SetBoolean("networkUseSettingsUI", use_settings_ui_);
-}
+ }
void InternetOptionsHandler::Initialize() {
cros_->RequestNetworkScan();
@@ -365,12 +362,6 @@ void InternetOptionsHandler::RegisterMessages() {
NewCallback(this, &InternetOptionsHandler::ButtonClickCallback));
web_ui_->RegisterMessageCallback("refreshCellularPlan",
NewCallback(this, &InternetOptionsHandler::RefreshCellularPlanCallback));
- web_ui_->RegisterMessageCallback("loginToNetwork",
- NewCallback(this, &InternetOptionsHandler::LoginCallback));
- web_ui_->RegisterMessageCallback("loginToCertNetwork",
- NewCallback(this, &InternetOptionsHandler::LoginCertCallback));
- web_ui_->RegisterMessageCallback("loginToOtherNetwork",
- NewCallback(this, &InternetOptionsHandler::LoginToOtherCallback));
web_ui_->RegisterMessageCallback("setAutoConnect",
NewCallback(this, &InternetOptionsHandler::SetAutoConnectCallback));
web_ui_->RegisterMessageCallback("setShared",
@@ -838,68 +829,7 @@ void InternetOptionsHandler::SetActivationButtonVisibility(
}
}
-void InternetOptionsHandler::LoginCallback(const ListValue* args) {
- std::string service_path;
- std::string password;
-
- if (args->GetSize() != 2 ||
- !args->GetString(0, &service_path) ||
- !args->GetString(1, &password)) {
- NOTREACHED();
- return;
- }
-
- cros_->ConnectToWifiNetwork(service_path);
-}
-
-void InternetOptionsHandler::LoginCertCallback(const ListValue* args) {
- std::string service_path;
- std::string identity;
- std::string certpath;
- if (args->GetSize() < 3 ||
- !args->GetString(0, &service_path) ||
- !args->GetString(1, &certpath) ||
- !args->GetString(2, &identity)) {
- return;
- }
- chromeos::WifiNetwork* network = cros_->FindWifiNetworkByPath(service_path);
- if (network) {
- std::string passphrase;
- if (args->GetSize() == 4 && args->GetString(3, &passphrase))
- network->SetPassphrase(passphrase);
- cros_->ConnectToWifiNetwork(network);
- }
-}
-
-void InternetOptionsHandler::LoginToOtherCallback(const ListValue* args) {
- std::string security;
- std::string ssid;
- std::string password;
-
- if (args->GetSize() != 3 ||
- !args->GetString(0, &security) ||
- !args->GetString(1, &ssid) ||
- !args->GetString(2, &password)) {
- NOTREACHED();
- return;
- }
-
- chromeos::ConnectionSecurity sec = chromeos::SECURITY_UNKNOWN;
- if (security == "none") {
- sec = chromeos::SECURITY_NONE;
- } else if (security == "wep") {
- sec = chromeos::SECURITY_WEP;
- } else if (security == "wpa") {
- sec = chromeos::SECURITY_WPA;
- } else if (security == "rsn") {
- sec = chromeos::SECURITY_RSN;
- }
-
- cros_->ConnectToWifiNetwork(ssid, sec, password);
-}
-
void InternetOptionsHandler::CreateModalPopup(views::WindowDelegate* view) {
- DCHECK(!use_settings_ui_);
views::Window* window = browser::CreateViewsWindow(GetNativeWindow(),
gfx::Rect(),
view);
@@ -947,25 +877,14 @@ void InternetOptionsHandler::HandleWifiButtonClick(
chromeos::WifiNetwork* wifi = NULL;
if (command == "forget") {
cros_->ForgetWifiNetwork(service_path);
- } else if (!use_settings_ui_ && service_path == kOtherNetworksFakePath) {
+ } else if (service_path == kOtherNetworksFakePath) {
// Other wifi networks.
CreateModalPopup(new chromeos::NetworkConfigView(chromeos::TYPE_WIFI));
} else if ((wifi = cros_->FindWifiNetworkByPath(service_path))) {
if (command == "connect") {
// Connect to wifi here. Open password page if appropriate.
if (wifi->IsPassphraseRequired()) {
- if (use_settings_ui_) {
- if (wifi->encryption() == chromeos::SECURITY_8021X) {
- PopulateDictionaryDetails(wifi);
- } else {
- DictionaryValue dictionary;
- dictionary.SetString("servicePath", wifi->service_path());
- web_ui_->CallJavascriptFunction(
- "options.InternetOptions.showPasswordEntry", dictionary);
- }
- } else {
- CreateModalPopup(new chromeos::NetworkConfigView(wifi));
- }
+ CreateModalPopup(new chromeos::NetworkConfigView(wifi));
} else {
cros_->ConnectToWifiNetwork(wifi);
}
@@ -1003,18 +922,14 @@ void InternetOptionsHandler::HandleVPNButtonClick(
const std::string& command) {
chromeos::VirtualNetwork* network = NULL;
// TODO(altimofeev): verify if service_path in condition is correct.
- if (!use_settings_ui_ && service_path == kOtherNetworksFakePath) {
+ if (service_path == kOtherNetworksFakePath) {
// Other VPN networks.
CreateModalPopup(new chromeos::NetworkConfigView(chromeos::TYPE_VPN));
} else if ((network = cros_->FindVirtualNetworkByPath(service_path))) {
if (command == "connect") {
// Connect to VPN here. Open password page if appropriate.
if (network->NeedMoreInfoToConnect()) {
- if (use_settings_ui_) {
- // TODO(altimofeev): implement this.
- } else {
- CreateModalPopup(new chromeos::NetworkConfigView(network));
- }
+ CreateModalPopup(new chromeos::NetworkConfigView(network));
} else {
cros_->ConnectToVirtualNetwork(network);
}
diff --git a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h
index 48b93d2..f8a0d7a 100644
--- a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h
+++ b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h
@@ -74,9 +74,6 @@ class InternetOptionsHandler
const chromeos::CellularNetwork* cellular,
DictionaryValue* dictionary);
- void LoginCallback(const ListValue* args);
- void LoginCertCallback(const ListValue* args);
- void LoginToOtherCallback(const ListValue* args);
void SetAutoConnectCallback(const ListValue* args);
void SetSharedCallback(const ListValue* args);
void SetIPConfigCallback(const ListValue* args);
@@ -137,10 +134,6 @@ class InternetOptionsHandler
// Convenience pointer to netwrok library (will not change).
chromeos::NetworkLibrary* cros_;
- // A boolean flag of whether to use WebUI for connect UI. True to use WebUI
- // and false to use Views dialogs.
- bool use_settings_ui_;
-
NotificationRegistrar registrar_;
DISALLOW_COPY_AND_ASSIGN(InternetOptionsHandler);