Commit 210f2a9f authored by Steven Bennetts's avatar Steven Bennetts Committed by Commit Bot

Settings > Network Config > Fix some cert logic

This CL fixes some bugs in the cert selction logic and adds some
code cleanup:
* Caches 'type_' which can not change.
* Associates connect/save enable with a new isConfigured_ property.

Bug: 380937
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I84c714b0a28eb552ee923feb6db20da2f69a7e2c
Reviewed-on: https://chromium-review.googlesource.com/687877Reviewed-by: default avatarToni Barzic <tbarzic@chromium.org>
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504855}
parent 88a40008
...@@ -28,15 +28,13 @@ ...@@ -28,15 +28,13 @@
</paper-button> </paper-button>
<template is="dom-if" if="[[guid_]]"> <template is="dom-if" if="[[guid_]]">
<paper-button class="primary-button" on-tap="onSaveTap_" <paper-button class="primary-button" on-tap="onSaveTap_"
disabled="[[!saveIsEnabled_(propertiesReceived_, propertiesSent_, disabled="[[!saveIsEnabled_(isConfigured_, propertiesReceived_]]">
configProperties_.*, security_, eapProperties_.*)]]">
$i18n{save} $i18n{save}
</paper-button> </paper-button>
</template> </template>
<template is="dom-if" if="[[!guid_]]"> <template is="dom-if" if="[[!guid_]]">
<paper-button class="primary-button" on-tap="onConnectTap_" <paper-button class="primary-button" on-tap="onConnectTap_"
disabled="[[!connectIsEnabled_(propertiesSent_, disabled="[[!connectIsEnabled_(isConfigured_, propertiesSent_)]]">
configProperties_.*, security_, eapProperties_.*)]]">
$i18n{networkButtonConnect} $i18n{networkButtonConnect}
</paper-button> </paper-button>
</template> </template>
...@@ -44,7 +42,7 @@ ...@@ -44,7 +42,7 @@
</div> </div>
<!-- Share (WiFi and WiMAX) --> <!-- Share (WiFi and WiMAX) -->
<template is="dom-if" if="[[shareIsVisible_(configProperties_.Type)]]"> <template is="dom-if" if="[[shareIsVisible_(type_)]]">
<div class="settings-box"> <div class="settings-box">
<div id="shareLabel" class="start">$i18n{networkConfigShare}</div> <div id="shareLabel" class="start">$i18n{networkConfigShare}</div>
<paper-toggle-button id="share" checked="{{shareNetwork_}}" <paper-toggle-button id="share" checked="{{shareNetwork_}}"
...@@ -56,26 +54,24 @@ ...@@ -56,26 +54,24 @@
</template> </template>
<!-- SSID (WiFi) --> <!-- SSID (WiFi) -->
<template is="dom-if" <template is="dom-if" if="[[isType_(NetworkType_.WI_FI, type_)]]">
if="[[isType_(NetworkType_.WI_FI, configProperties_.Type)]]">
<network-config-input id="ssid" label="$i18n{OncWiFi-SSID}" <network-config-input id="ssid" label="$i18n{OncWiFi-SSID}"
value="{{configProperties_.WiFi.SSID}}" disabled="[[guid_]]"> value="{{configProperties_.WiFi.SSID}}" disabled="[[guid_]]">
</network-config-input> </network-config-input>
</template> </template>
<!-- Security (WiFi and Ethernet) --> <!-- Security (WiFi and Ethernet) -->
<template is="dom-if" if="[[securityIsVisible_(configProperties_.Type)]]"> <template is="dom-if" if="[[securityIsVisible_(type_)]]">
<network-config-select id="security" label="$i18n{OncWiFi-Security}" <network-config-select id="security" label="$i18n{OncWiFi-Security}"
value="{{security_}}" value="{{security_}}"
disabled="[[!securityIsEnabled_(guid_, configProperties_.Type)]]" disabled="[[!securityIsEnabled_(guid_, type_)]]"
items="[[getSecurityItems_(configProperties_.Type)]]" items="[[getSecurityItems_(type_)]]"
onc-prefix="WiFi.Security"> onc-prefix="WiFi.Security">
</network-config-select> </network-config-select>
</template> </template>
<!-- Passphrase (WiFi) --> <!-- Passphrase (WiFi) -->
<template is="dom-if" <template is="dom-if" if="[[configRequiresPassphrase_(type_, security_)]]">
if="[[configRequiresPassphrase_(configProperties_.Type, security_)]]">
<network-config-input label="$i18n{OncWiFi-Passphrase}" <network-config-input label="$i18n{OncWiFi-Passphrase}"
value="{{configProperties_.WiFi.Passphrase}}"> value="{{configProperties_.WiFi.Passphrase}}">
</network-config-input> </network-config-input>
...@@ -93,7 +89,7 @@ ...@@ -93,7 +89,7 @@
onc-prefix="EAP.Inner" hidden="[[!showEap_.Inner]]"> onc-prefix="EAP.Inner" hidden="[[!showEap_.Inner]]">
</network-config-select> </network-config-select>
<network-config-select id="serverCa" label="$i18n{OncEAP-ServerCA}" <network-config-select id="serverCa" label="$i18n{OncEAP-ServerCA}"
value="{{selectedServerCa_}}" items="[[serverCaCerts_]]" value="{{selectedServerCaHash_}}" items="[[serverCaCerts_]]"
hidden="[[!showEap_.ServerCA]]" cert-list> hidden="[[!showEap_.ServerCA]]" cert-list>
</network-config-select> </network-config-select>
<network-config-input label="$i18n{OncEAP-SubjectMatch}" <network-config-input label="$i18n{OncEAP-SubjectMatch}"
...@@ -101,7 +97,7 @@ ...@@ -101,7 +97,7 @@
hidden="[[!showEap_.SubjectMatch]]"> hidden="[[!showEap_.SubjectMatch]]">
</network-config-input> </network-config-input>
<network-config-select id="userCert" label="$i18n{OncEAP-UserCert}" <network-config-select id="userCert" label="$i18n{OncEAP-UserCert}"
value="{{selectedUserCert_}}" items="[[userCerts_]]" value="{{selectedUserCertHash_}}" items="[[userCerts_]]"
hidden="[[!showEap_.UserCert]]" cert-list> hidden="[[!showEap_.UserCert]]" cert-list>
</network-config-select> </network-config-select>
<network-config-input label="$i18n{OncEAP-Identity}" <network-config-input label="$i18n{OncEAP-Identity}"
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
<select class="md-select" disabled="[[disabled]]" <select class="md-select" disabled="[[disabled]]"
value="{{value::change}}" aria-labelledby="label"> value="{{value::change}}" aria-labelledby="label">
<template is="dom-repeat" items="[[items]]"> <template is="dom-repeat" items="[[items]]">
<option value="[[item]]" disabled="[[!getItemEnabled_(item)]]"> <option value="[[getItemValue_(item)]]"
disabled="[[!getItemEnabled_(item)]]">
[[getItemLabel_(item, oncPrefix)]] [[getItemLabel_(item, oncPrefix)]]
</option> </option>
</template> </template>
......
...@@ -27,7 +27,7 @@ Polymer({ ...@@ -27,7 +27,7 @@ Polymer({
/** Prefix used to look up ONC property names. */ /** Prefix used to look up ONC property names. */
oncPrefix: { oncPrefix: {
type: String, type: String,
value: '' value: '',
}, },
/** Select item value */ /** Select item value */
...@@ -71,6 +71,17 @@ Polymer({ ...@@ -71,6 +71,17 @@ Polymer({
return key; return key;
}, },
/**
* @param {string|!chrome.networkingPrivate.Certificate} item
* @return {string}
* @private
*/
getItemValue_: function(item) {
if (this.certList)
return /** @type {chrome.networkingPrivate.Certificate}*/ (item).hash;
return /** @type {string} */ (item);
},
/** /**
* @param {string|!chrome.networkingPrivate.Certificate} item * @param {string|!chrome.networkingPrivate.Certificate} item
* @return {boolean} * @return {boolean}
......
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