Commit d0b408d6 authored by Alexander Alekseev's avatar Alexander Alekseev Committed by Commit Bot

Chrome OS Network UI: forget selected network when it disappears from the list.

This CL fixes error message:

    Error in response to networkingPrivate.getNetworks: TypeError: Cannot read
    property 'GUID' of null", source: chrome://oobe/oobe (0)

and clears default network if it disappears from the list of networks.

Bug: 793262
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Ia72e650b73202de56b8ec842dbcee81f65366793
Reviewed-on: https://chromium-review.googlesource.com/822171
Commit-Queue: Alexander Alekseev <alemate@chromium.org>
Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524287}
parent 6c2a2a8f
......@@ -326,7 +326,7 @@ Polymer({
*/
onDefaultNetworkChanged_: function(event) {
var state = event.detail;
this.defaultNetworkGuid_ = state.GUID;
this.defaultNetworkGuid_ = (state ? state.GUID : '');
this.isConnected_ =
!!state && state.ConnectionState == CrOnc.ConnectionState.CONNECTED;
if (!state || state.GUID != this.networkLastSelectedGuid_)
......@@ -346,6 +346,7 @@ Polymer({
*/
onNetworkListNetworkItemSelected_: function(event) {
var state = event.detail;
assert(state);
// If the user has not previously made a selection and the default network
// is selected and connected, continue to the next screen.
if (this.networkLastSelectedGuid_ == '' &&
......@@ -359,7 +360,10 @@ Polymer({
// is pending connection attempt. So even if new selection is currently
// connected, it may get disconnected at any time.
// So just send one more connection request to cancel current attempts.
this.networkLastSelectedGuid_ = state.GUID;
this.networkLastSelectedGuid_ = (state ? state.GUID : '');
if (!state)
return;
var self = this;
var networkStateCopy = Object.assign({}, state);
......
......@@ -268,6 +268,7 @@ var NetworkUI = (function() {
* @return {!HTMLTableRowElement} The created tr element for the expanded row.
*/
var createExpandedRow = function(state, baseRow) {
assert(state);
var guid = state.GUID || '';
var expandedRow = createTableRowElement();
expandedRow.className = 'state-table-row';
......
......@@ -44,6 +44,7 @@
{
'target_name': 'cr_network_select',
'dependencies': [
'<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:util',
'<(EXTERNS_GYP):networking_private',
'cr_network_list_types',
'cr_onc_types',
......
......@@ -166,10 +166,18 @@ Polymer({
CrOnc.ConnectionState.CONNECTED) ?
this.networkStateList_[0] :
null;
if (defaultState.GUID != this.defaultStateGuid_) {
this.defaultStateGuid_ = defaultState.GUID;
this.fire('default-network-changed', defaultState);
}
if (!defaultState && !this.defaultStateGuid_)
return;
// defaultState.GUID must never be empty.
assert(!defaultState || defaultState.GUID);
if (defaultState && defaultState.GUID == this.defaultStateGuid_)
return;
this.defaultStateGuid_ = defaultState ? defaultState.GUID : '';
this.fire('default-network-changed', defaultState);
},
/**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment