Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * 'settings-internet-page' is the settings page containing internet | 7 * 'settings-internet-page' is the settings page containing internet |
| 8 * settings. | 8 * settings. |
| 9 */ | 9 */ |
| 10 Polymer({ | 10 Polymer({ |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 81 * List of third party VPN providers. | 81 * List of third party VPN providers. |
| 82 * @type {!Array<!chrome.networkingPrivate.ThirdPartyVPNProperties>} | 82 * @type {!Array<!chrome.networkingPrivate.ThirdPartyVPNProperties>} |
| 83 * @private | 83 * @private |
| 84 */ | 84 */ |
| 85 thirdPartyVpnProviders_: { | 85 thirdPartyVpnProviders_: { |
| 86 type: Array, | 86 type: Array, |
| 87 value: function() { | 87 value: function() { |
| 88 return []; | 88 return []; |
| 89 } | 89 } |
| 90 }, | 90 }, |
| 91 | |
| 92 /** | |
| 93 * @type {!Map<string, string>} | |
|
dpapad
2017/04/25 21:25:19
Ni: Use shorthand syntax,
@private {!Map<string, s
stevenjb
2017/04/25 23:32:53
Done.
| |
| 94 * @private | |
| 95 */ | |
| 96 focusConfig_: { | |
| 97 type: Object, | |
| 98 value: function() { | |
| 99 return new Map(); | |
| 100 }, | |
| 101 }, | |
| 91 }, | 102 }, |
| 92 | 103 |
| 104 /** @private {string} Type of last detail page visited. */ | |
| 105 detailType_: '', | |
| 106 | |
| 93 // Element event listeners | 107 // Element event listeners |
| 94 listeners: { | 108 listeners: { |
| 95 'device-enabled-toggled': 'onDeviceEnabledToggled_', | 109 'device-enabled-toggled': 'onDeviceEnabledToggled_', |
| 96 'show-detail': 'onShowDetail_', | 110 'show-detail': 'onShowDetail_', |
| 97 'show-known-networks': 'onShowKnownNetworks_', | 111 'show-known-networks': 'onShowKnownNetworks_', |
| 98 'show-networks': 'onShowNetworks_', | 112 'show-networks': 'onShowNetworks_', |
| 99 }, | 113 }, |
| 100 | 114 |
| 101 // chrome.networkingPrivate listeners | 115 // chrome.networkingPrivate listeners |
| 102 /** @private {Function} */ | 116 /** @private {Function} */ |
| 103 onExtensionAddedListener_: null, | 117 onExtensionAddedListener_: null, |
| 104 | 118 |
| 105 /** @private {Function} */ | 119 /** @private {Function} */ |
| 106 onExtensionRemovedListener_: null, | 120 onExtensionRemovedListener_: null, |
| 107 | 121 |
| 108 /** @private {Function} */ | 122 /** @private {Function} */ |
| 109 onExtensionDisabledListener_: null, | 123 onExtensionDisabledListener_: null, |
| 110 | 124 |
| 111 /** @override */ | 125 /** @override */ |
| 112 attached: function() { | 126 attached: function() { |
| 113 this.onExtensionAddedListener_ = this.onExtensionAddedListener_ || | 127 this.onExtensionAddedListener_ = |
| 114 this.onExtensionAdded_.bind(this); | 128 this.onExtensionAddedListener_ || this.onExtensionAdded_.bind(this); |
| 115 chrome.management.onInstalled.addListener(this.onExtensionAddedListener_); | 129 chrome.management.onInstalled.addListener(this.onExtensionAddedListener_); |
| 116 chrome.management.onEnabled.addListener(this.onExtensionAddedListener_); | 130 chrome.management.onEnabled.addListener(this.onExtensionAddedListener_); |
| 117 | 131 |
| 118 this.onExtensionRemovedListener_ = this.onExtensionRemovedListener_ || | 132 this.onExtensionRemovedListener_ = |
| 119 this.onExtensionRemoved_.bind(this); | 133 this.onExtensionRemovedListener_ || this.onExtensionRemoved_.bind(this); |
| 120 chrome.management.onUninstalled.addListener( | 134 chrome.management.onUninstalled.addListener( |
| 121 this.onExtensionRemovedListener_); | 135 this.onExtensionRemovedListener_); |
| 122 | 136 |
| 123 this.onExtensionDisabledListener_ = this.onExtensionDisabledListener_ || | 137 this.onExtensionDisabledListener_ = this.onExtensionDisabledListener_ || |
| 124 this.onExtensionDisabled_.bind(this); | 138 this.onExtensionDisabled_.bind(this); |
| 125 chrome.management.onDisabled.addListener(this.onExtensionDisabledListener_); | 139 chrome.management.onDisabled.addListener(this.onExtensionDisabledListener_); |
| 126 | 140 |
| 127 chrome.management.getAll(this.onGetAllExtensions_.bind(this)); | 141 chrome.management.getAll(this.onGetAllExtensions_.bind(this)); |
| 128 | 142 |
| 129 this.networkingPrivate.getGlobalPolicy(function(policy) { | 143 this.networkingPrivate.getGlobalPolicy(function(policy) { |
| 130 this.globalPolicy_ = policy; | 144 this.globalPolicy_ = policy; |
| 131 }.bind(this)); | 145 }.bind(this)); |
| 132 }, | 146 }, |
| 133 | 147 |
| 134 /** @override */ | 148 /** @override */ |
| 135 detached: function() { | 149 detached: function() { |
| 136 chrome.management.onInstalled.removeListener( | 150 chrome.management.onInstalled.removeListener( |
| 137 assert(this.onExtensionAddedListener_)); | 151 assert(this.onExtensionAddedListener_)); |
| 138 chrome.management.onEnabled.removeListener( | 152 chrome.management.onEnabled.removeListener( |
| 139 assert(this.onExtensionAddedListener_)); | 153 assert(this.onExtensionAddedListener_)); |
| 140 chrome.management.onUninstalled.removeListener( | 154 chrome.management.onUninstalled.removeListener( |
| 141 assert(this.onExtensionRemovedListener_)); | 155 assert(this.onExtensionRemovedListener_)); |
| 142 chrome.management.onDisabled.removeListener( | 156 chrome.management.onDisabled.removeListener( |
| 143 assert(this.onExtensionDisabledListener_)); | 157 assert(this.onExtensionDisabledListener_)); |
| 144 }, | 158 }, |
| 145 | 159 |
| 146 /** | 160 /** |
| 147 * settings.RouteObserverBehavior | 161 * settings.RouteObserverBehavior |
| 148 * @param {!settings.Route} route | 162 * @param {!settings.Route} route |
| 163 * @param {!settings.Route} oldRoute | |
| 149 * @protected | 164 * @protected |
| 150 */ | 165 */ |
| 151 currentRouteChanged: function(route) { | 166 currentRouteChanged: function(route, oldRoute) { |
| 152 if (route == settings.Route.INTERNET_NETWORKS) { | 167 if (route == settings.Route.INTERNET_NETWORKS) { |
| 153 // Handle direct navigation to the networks page, | 168 // Handle direct navigation to the networks page, |
| 154 // e.g. chrome://settings/internet/networks?type=WiFi | 169 // e.g. chrome://settings/internet/networks?type=WiFi |
| 155 var queryParams = settings.getQueryParameters(); | 170 var queryParams = settings.getQueryParameters(); |
| 156 var type = queryParams.get('type'); | 171 var type = queryParams.get('type'); |
| 157 if (type) | 172 if (type) |
| 158 this.subpageType_ = type; | 173 this.subpageType_ = type; |
| 159 } else if (route == settings.Route.KNOWN_NETWORKS) { | 174 } else if (route == settings.Route.KNOWN_NETWORKS) { |
| 160 // Handle direct navigation to the known networks page, | 175 // Handle direct navigation to the known networks page, |
| 161 // e.g. chrome://settings/internet/knownNetworks?type=WiFi | 176 // e.g. chrome://settings/internet/knownNetworks?type=WiFi |
| 162 var queryParams = settings.getQueryParameters(); | 177 var queryParams = settings.getQueryParameters(); |
| 163 var type = queryParams.get('type'); | 178 var type = queryParams.get('type'); |
| 164 if (type) | 179 if (type) |
| 165 this.knownNetworksType_ = type; | 180 this.knownNetworksType_ = type; |
| 181 } else if (route != settings.Route.INTERNET && route.path != '/') { | |
|
dpapad
2017/04/25 21:25:19
Is this equivalent to the following?
} else if (r
stevenjb
2017/04/25 23:32:53
Looks like it. Done.
| |
| 182 // If we are navigating to a non internet section, do not set focus. | |
| 183 return; | |
| 184 } | |
| 185 | |
| 186 // Focus the subpage arrow where appropriate. | |
| 187 if (oldRoute == settings.Route.NETWORK_DETAIL || | |
|
dpapad
2017/04/25 21:25:19
Is this equivalent to the following?
if (!setting
stevenjb
2017/04/25 23:32:53
Handy. Yes. Done.
| |
| 188 oldRoute == settings.Route.INTERNET_NETWORKS || | |
| 189 oldRoute == settings.Route.KNOWN_NETWORKS) { | |
| 190 var selector; | |
| 191 if (route == settings.Route.INTERNET_NETWORKS) { | |
|
dpapad
2017/04/25 21:25:19
Nit (optional): This can be compacted as follows:
stevenjb
2017/04/25 23:32:53
Acknowledged.
| |
| 192 // iron-list makes the correct timing to focus an item in the list | |
| 193 // very complicated, and the item may not exist, so just focus the | |
| 194 // entire list for now. | |
| 195 selector = '* /deep/ #networkList'; | |
| 196 } else if (this.detailType_) { | |
| 197 selector = '* /deep/ #' + this.detailType_ + ' /deep/ .subpage-arrow'; | |
| 198 } | |
| 199 if (selector && this.querySelector(selector)) | |
|
dpapad
2017/04/25 21:25:19
When would querySelector(selector) return nothing
stevenjb
2017/04/25 23:32:53
If an Ethernet cable were unplugged while visiting
| |
| 200 this.focusConfig_.set(oldRoute.path, selector); | |
|
dpapad
2017/04/25 21:25:19
I don't fully understand the updates to the focusC
stevenjb
2017/04/25 23:32:53
Done.
(I took this approach because of the dynami
| |
| 201 this.detailType_ = ''; | |
| 166 } | 202 } |
| 167 }, | 203 }, |
| 168 | 204 |
| 169 /** | 205 /** |
| 170 * Event triggered by a device state enabled toggle. | 206 * Event triggered by a device state enabled toggle. |
| 171 * @param {!{detail: {enabled: boolean, | 207 * @param {!{detail: {enabled: boolean, |
| 172 * type: chrome.networkingPrivate.NetworkType}}} event | 208 * type: chrome.networkingPrivate.NetworkType}}} event |
| 173 * @private | 209 * @private |
| 174 */ | 210 */ |
| 175 onDeviceEnabledToggled_: function(event) { | 211 onDeviceEnabledToggled_: function(event) { |
| 176 if (event.detail.enabled) | 212 if (event.detail.enabled) |
| 177 this.networkingPrivate.enableNetworkType(event.detail.type); | 213 this.networkingPrivate.enableNetworkType(event.detail.type); |
| 178 else | 214 else |
| 179 this.networkingPrivate.disableNetworkType(event.detail.type); | 215 this.networkingPrivate.disableNetworkType(event.detail.type); |
| 180 }, | 216 }, |
| 181 | 217 |
| 182 /** | 218 /** |
| 183 * @param {!{detail: !CrOnc.NetworkStateProperties}} event | 219 * @param {!{detail: !CrOnc.NetworkStateProperties}} event |
| 184 * @private | 220 * @private |
| 185 */ | 221 */ |
| 186 onShowDetail_: function(event) { | 222 onShowDetail_: function(event) { |
| 223 this.detailType_ = event.detail.Type; | |
| 187 var params = new URLSearchParams; | 224 var params = new URLSearchParams; |
| 188 params.append('guid', event.detail.GUID); | 225 params.append('guid', event.detail.GUID); |
| 189 params.append('type', event.detail.Type); | 226 params.append('type', event.detail.Type); |
| 190 if (event.detail.Name) | 227 if (event.detail.Name) |
| 191 params.append('name', event.detail.Name); | 228 params.append('name', event.detail.Name); |
| 192 settings.navigateTo(settings.Route.NETWORK_DETAIL, params); | 229 settings.navigateTo(settings.Route.NETWORK_DETAIL, params); |
| 193 }, | 230 }, |
| 194 | 231 |
| 195 /** | 232 /** |
| 196 * @param {!{detail: {type: string}}} event | 233 * @param {!{detail: {type: string}}} event |
| 197 * @private | 234 * @private |
| 198 */ | 235 */ |
| 199 onShowNetworks_: function(event) { | 236 onShowNetworks_: function(event) { |
| 237 this.detailType_ = event.detail.Type; | |
| 200 var params = new URLSearchParams; | 238 var params = new URLSearchParams; |
| 201 params.append('type', event.detail.Type); | 239 params.append('type', event.detail.Type); |
| 202 this.subpageType_ = event.detail.Type; | 240 this.subpageType_ = event.detail.Type; |
| 203 settings.navigateTo(settings.Route.INTERNET_NETWORKS, params); | 241 settings.navigateTo(settings.Route.INTERNET_NETWORKS, params); |
| 204 }, | 242 }, |
| 205 | 243 |
| 206 /** | 244 /** |
| 207 * @return {string} | 245 * @return {string} |
| 208 * @private | 246 * @private |
| 209 */ | 247 */ |
| 210 getNetworksPageTitle_: function() { | 248 getNetworksPageTitle_: function() { |
| 211 return this.i18n('OncType' + this.subpageType_); | 249 return this.i18n('OncType' + this.subpageType_); |
| 212 }, | 250 }, |
| 213 | 251 |
| 214 /** | 252 /** |
| 215 * @param {!{detail: {type: string}}} event | 253 * @param {!{detail: {type: string}}} event |
| 216 * @private | 254 * @private |
| 217 */ | 255 */ |
| 218 onShowKnownNetworks_: function(event) { | 256 onShowKnownNetworks_: function(event) { |
| 257 this.detailType_ = event.detail.Type; | |
| 219 var params = new URLSearchParams; | 258 var params = new URLSearchParams; |
| 220 params.append('type', event.detail.Type); | 259 params.append('type', event.detail.Type); |
| 221 this.knownNetworksType_ = event.detail.type; | 260 this.knownNetworksType_ = event.detail.type; |
| 222 settings.navigateTo(settings.Route.KNOWN_NETWORKS, params); | 261 settings.navigateTo(settings.Route.KNOWN_NETWORKS, params); |
| 223 }, | 262 }, |
| 224 | 263 |
| 225 /** | 264 /** |
| 226 * Event triggered when the 'Add connections' div is tapped. | 265 * Event triggered when the 'Add connections' div is tapped. |
| 227 * @param {Event} event | 266 * @param {Event} event |
| 228 * @private | 267 * @private |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 322 onExtensionDisabled_: function(extension) { | 361 onExtensionDisabled_: function(extension) { |
| 323 this.onExtensionRemoved_(extension.id); | 362 this.onExtensionRemoved_(extension.id); |
| 324 }, | 363 }, |
| 325 | 364 |
| 326 /** | 365 /** |
| 327 * @param {!chrome.networkingPrivate.DeviceStateProperties} deviceState | 366 * @param {!chrome.networkingPrivate.DeviceStateProperties} deviceState |
| 328 * @return {boolean} | 367 * @return {boolean} |
| 329 * @private | 368 * @private |
| 330 */ | 369 */ |
| 331 deviceIsEnabled_: function(deviceState) { | 370 deviceIsEnabled_: function(deviceState) { |
| 332 return !!deviceState && deviceState.State == | 371 return !!deviceState && |
| 333 chrome.networkingPrivate.DeviceStateType.ENABLED; | 372 deviceState.State == chrome.networkingPrivate.DeviceStateType.ENABLED; |
| 334 }, | 373 }, |
| 335 | 374 |
| 336 /** | 375 /** |
| 337 * @param {!chrome.networkingPrivate.GlobalPolicy} globalPolicy | 376 * @param {!chrome.networkingPrivate.GlobalPolicy} globalPolicy |
| 338 * @return {boolean} | 377 * @return {boolean} |
| 339 */ | 378 */ |
| 340 allowAddConnection_: function(globalPolicy) { | 379 allowAddConnection_: function(globalPolicy) { |
| 341 return !globalPolicy.AllowOnlyPolicyNetworksToConnect; | 380 return !globalPolicy.AllowOnlyPolicyNetworksToConnect; |
| 342 }, | 381 }, |
| 343 | 382 |
| 344 /** | 383 /** |
| 345 * @param {!chrome.networkingPrivate.ThirdPartyVPNProperties} provider | 384 * @param {!chrome.networkingPrivate.ThirdPartyVPNProperties} provider |
| 346 * @return {string} | 385 * @return {string} |
| 347 */ | 386 */ |
| 348 getAddThirdParrtyVpnLabel_: function(provider) { | 387 getAddThirdParrtyVpnLabel_: function(provider) { |
| 349 return this.i18n('internetAddThirdPartyVPN', provider.ProviderName); | 388 return this.i18n('internetAddThirdPartyVPN', provider.ProviderName); |
| 350 } | 389 } |
| 351 }); | 390 }); |
| OLD | NEW |