OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 * @typedef {{ | 6 * @typedef {{ |
7 * ConnectionState: string, | 7 * ConnectionState: string, |
8 * iconURL: string, | 8 * iconURL: string, |
9 * policyManaged: boolean, | 9 * policyManaged: boolean, |
10 * servicePath: string | 10 * servicePath: string |
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 var self = this; | 504 var self = this; |
505 entry.command = function() { | 505 entry.command = function() { |
506 options.Preferences.setBooleanPref( | 506 options.Preferences.setBooleanPref( |
507 'cros.signed.data_roaming_enabled', | 507 'cros.signed.data_roaming_enabled', |
508 !enableDataRoaming_, true); | 508 !enableDataRoaming_, true); |
509 // Force revalidation of the menu the next time it is displayed. | 509 // Force revalidation of the menu the next time it is displayed. |
510 self.menu_ = null; | 510 self.menu_ = null; |
511 }; | 511 }; |
512 } | 512 } |
513 addendum.push(entry); | 513 addendum.push(entry); |
| 514 } else if (this.data_.key == 'VPN') { |
| 515 addendum.push({ |
| 516 label: loadTimeData.getString('joinOtherNetwork'), |
| 517 command: createAddConnectionCallback_('VPN'), |
| 518 data: {} |
| 519 }); |
514 } | 520 } |
| 521 |
515 var list = this.data.rememberedNetworks; | 522 var list = this.data.rememberedNetworks; |
516 if (list && list.length > 0) { | 523 if (list && list.length > 0) { |
517 var callback = function(list) { | 524 var callback = function(list) { |
518 $('remembered-network-list').clear(); | 525 $('remembered-network-list').clear(); |
519 var dialog = options.PreferredNetworks.getInstance(); | 526 var dialog = options.PreferredNetworks.getInstance(); |
520 PageManager.showPageByName('preferredNetworksPage', false); | 527 PageManager.showPageByName('preferredNetworksPage', false); |
521 dialog.update(list); | 528 dialog.update(list); |
522 sendChromeMetricsAction('Options_NetworkShowPreferred'); | 529 sendChromeMetricsAction('Options_NetworkShowPreferred'); |
523 }; | 530 }; |
524 addendum.push({label: loadTimeData.getString('preferredNetworks'), | 531 addendum.push({label: loadTimeData.getString('preferredNetworks'), |
525 command: callback, | 532 command: callback, |
526 data: list}); | 533 data: list}); |
527 } | 534 } |
528 | 535 |
529 var networkGroup = this.ownerDocument.createElement('div'); | 536 var networkGroup = this.ownerDocument.createElement('div'); |
530 networkGroup.className = 'network-menu-group'; | 537 networkGroup.className = 'network-menu-group'; |
531 list = this.data.networkList; | 538 list = this.data.networkList; |
532 var empty = !list || list.length == 0; | 539 var empty = !list || list.length == 0; |
533 if (list) { | 540 if (list) { |
| 541 var connectedVpnServicePath = ''; |
534 for (var i = 0; i < list.length; i++) { | 542 for (var i = 0; i < list.length; i++) { |
535 var data = list[i]; | 543 var data = list[i]; |
536 this.createNetworkOptionsCallback_(networkGroup, data); | 544 this.createNetworkOptionsCallback_(networkGroup, data); |
537 if (data.ConnectionState == 'Connected') { | 545 // For VPN only, append a 'Disconnect' item to the dropdown menu. |
538 if (data.Type == 'VPN') { | 546 if (!connectedVpnServicePath && data.Type == 'VPN' && |
539 var disconnectCallback = function() { | 547 (data.ConnectionState == 'Connected' || |
540 sendChromeMetricsAction('Options_NetworkDisconnectVPN'); | 548 data.ConnectionState == 'Connecting')) { |
541 // TODO(stevenjb): chrome.networkingPrivate.startDisconnect | 549 connectedVpnServicePath = data.servicePath; |
542 chrome.send('startDisconnect', [data.servicePath]); | |
543 }; | |
544 // Add separator | |
545 addendum.push({}); | |
546 addendum.push({label: loadTimeData.getString('disconnectNetwork'), | |
547 command: disconnectCallback, | |
548 data: data}); | |
549 } | |
550 } | 550 } |
551 } | 551 } |
| 552 if (connectedVpnServicePath) { |
| 553 var disconnectCallback = function() { |
| 554 sendChromeMetricsAction('Options_NetworkDisconnectVPN'); |
| 555 // TODO(stevenjb): chrome.networkingPrivate.startDisconnect |
| 556 chrome.send('startDisconnect', [connectedVpnServicePath]); |
| 557 }; |
| 558 // Add separator |
| 559 addendum.push({}); |
| 560 addendum.push({label: loadTimeData.getString('disconnectNetwork'), |
| 561 command: disconnectCallback, |
| 562 data: data}); |
| 563 } |
552 } | 564 } |
553 if (this.data_.key == 'WiFi' || this.data_.key == 'WiMAX' || | 565 if (this.data_.key == 'WiFi' || this.data_.key == 'WiMAX' || |
554 this.data_.key == 'Cellular') { | 566 this.data_.key == 'Cellular') { |
555 addendum.push({}); | 567 addendum.push({}); |
556 if (this.data_.key == 'WiFi') { | 568 if (this.data_.key == 'WiFi') { |
557 addendum.push({ | 569 addendum.push({ |
558 label: loadTimeData.getString('turnOffWifi'), | 570 label: loadTimeData.getString('turnOffWifi'), |
559 command: function() { | 571 command: function() { |
560 sendChromeMetricsAction('Options_NetworkWifiToggle'); | 572 sendChromeMetricsAction('Options_NetworkWifiToggle'); |
561 // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType | 573 // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType |
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1229 /** | 1241 /** |
1230 * Whether the Network list is disabled. Only used for display purpose. | 1242 * Whether the Network list is disabled. Only used for display purpose. |
1231 */ | 1243 */ |
1232 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); | 1244 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); |
1233 | 1245 |
1234 // Export | 1246 // Export |
1235 return { | 1247 return { |
1236 NetworkList: NetworkList | 1248 NetworkList: NetworkList |
1237 }; | 1249 }; |
1238 }); | 1250 }); |
OLD | NEW |