| Index: chrome/browser/resources/settings/internet_page/internet_known_networks_page.js
|
| diff --git a/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js b/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js
|
| index 4ecf60c808ab8ccf66803837ec236107c6b3ae30..16e3b9e93b8f81464ad0bcd284068908e39e341a 100644
|
| --- a/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js
|
| +++ b/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js
|
| @@ -10,6 +10,8 @@
|
| Polymer({
|
| is: 'settings-internet-known-networks-page',
|
|
|
| + behaviors: [CrPolicyNetworkBehavior],
|
| +
|
| properties: {
|
| /**
|
| * The type of networks to list.
|
| @@ -36,14 +38,17 @@ Polymer({
|
| return [];
|
| }
|
| },
|
| +
|
| + /** @private */
|
| + showAddPreferred_: Boolean,
|
| +
|
| + /** @private */
|
| + showRemovePreferred_: Boolean,
|
| },
|
|
|
| /** @private {string} */
|
| selectedGuid_: '',
|
|
|
| - /** @private {boolean} */
|
| - selectedIsPreferred_: false,
|
| -
|
| /**
|
| * Listener function for chrome.networkingPrivate.onNetworksChanged event.
|
| * @type {function(!Array<string>)}
|
| @@ -144,8 +149,21 @@ Polymer({
|
| this.selectedGuid_ =
|
| /** @type {!{model: !{item: !CrOnc.NetworkStateProperties}}} */ (event)
|
| .model.item.GUID;
|
| - this.selectedIsPreferred_ = button.hasAttribute('preferred');
|
| - /** @type {!CrActionMenuElement} */ (this.$.dotsMenu).showAt(button);
|
| + // We need to make a round trip to Chrome in order to retrieve the managed
|
| + // properties for the network. The delay is not noticeable (~5ms) and is
|
| + // preferable to initiating a query for every known network at load time.
|
| + this.networkingPrivate.getManagedProperties(
|
| + this.selectedGuid_, function(properties) {
|
| + var preferred = button.hasAttribute('preferred');
|
| + if (this.isNetworkPolicyEnforced(properties.Priority)) {
|
| + this.showAddPreferred_ = false;
|
| + this.showRemovePreferred_ = false;
|
| + } else {
|
| + this.showAddPreferred_ = !preferred;
|
| + this.showRemovePreferred_ = preferred;
|
| + }
|
| + /** @type {!CrActionMenuElement} */ (this.$.dotsMenu).showAt(button);
|
| + }.bind(this));
|
| event.stopPropagation();
|
| },
|
|
|
|
|