| 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 cr.define('options.network', function() { | 5 cr.define('options.network', function() { |
| 6 | 6 |
| 7 var ArrayDataModel = cr.ui.ArrayDataModel; | 7 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 8 var List = cr.ui.List; | 8 var List = cr.ui.List; |
| 9 var ListItem = cr.ui.ListItem; | 9 var ListItem = cr.ui.ListItem; |
| 10 var Menu = cr.ui.Menu; | 10 var Menu = cr.ui.Menu; |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 return menu; | 298 return menu; |
| 299 } | 299 } |
| 300 return null; | 300 return null; |
| 301 }, | 301 }, |
| 302 | 302 |
| 303 /** | 303 /** |
| 304 * Displays a popup menu. | 304 * Displays a popup menu. |
| 305 */ | 305 */ |
| 306 showMenu: function() { | 306 showMenu: function() { |
| 307 var rebuild = false; | 307 var rebuild = false; |
| 308 // Force a rescan if opening the menu for WiFi networks to ensure the |
| 309 // list is up to date. Networks are periodically rescanned, but depending |
| 310 // on timing, there could be an excessive delay before the first rescan |
| 311 // unless forced. |
| 312 var rescan = !activeMenu_ && this.data_.key == 'wifi'; |
| 308 if (!this.menu_) { | 313 if (!this.menu_) { |
| 309 rebuild = true; | 314 rebuild = true; |
| 310 var existing = $(this.getMenuName_()); | 315 var existing = $(this.getMenuName_()); |
| 311 if (existing) | 316 if (existing) |
| 312 closeMenu_(); | 317 closeMenu_(); |
| 313 this.menu_ = this.createMenu(); | 318 this.menu_ = this.createMenu(); |
| 314 this.menu_.addEventListener('mousedown', function(e) { | 319 this.menu_.addEventListener('mousedown', function(e) { |
| 315 // Prevent blurring of list, which would close the menu. | 320 // Prevent blurring of list, which would close the menu. |
| 316 e.preventDefault(); | 321 e.preventDefault(); |
| 317 }, true); | 322 }, true); |
| 318 var parent = $('network-menus'); | 323 var parent = $('network-menus'); |
| 319 if (existing) | 324 if (existing) |
| 320 parent.replaceChild(this.menu_, existing); | 325 parent.replaceChild(this.menu_, existing); |
| 321 else | 326 else |
| 322 parent.appendChild(this.menu_); | 327 parent.appendChild(this.menu_); |
| 323 } | 328 } |
| 324 var top = this.offsetTop + this.clientHeight; | 329 var top = this.offsetTop + this.clientHeight; |
| 325 var menuId = this.getMenuName_(); | 330 var menuId = this.getMenuName_(); |
| 326 if (menuId != activeMenu_ || rebuild) { | 331 if (menuId != activeMenu_ || rebuild) { |
| 327 closeMenu_(); | 332 closeMenu_(); |
| 328 activeMenu_ = menuId; | 333 activeMenu_ = menuId; |
| 329 this.menu_.style.setProperty('top', top + 'px'); | 334 this.menu_.style.setProperty('top', top + 'px'); |
| 330 this.menu_.hidden = false; | 335 this.menu_.hidden = false; |
| 331 } | 336 } |
| 337 if (rescan) |
| 338 chrome.send('refreshNetworks'); |
| 332 }, | 339 }, |
| 333 }; | 340 }; |
| 334 | 341 |
| 335 /** | 342 /** |
| 336 * Creates a control for selecting or configuring a network connection based | 343 * Creates a control for selecting or configuring a network connection based |
| 337 * on the type of connection (e.g. wifi versus vpn). | 344 * on the type of connection (e.g. wifi versus vpn). |
| 338 * @param {{key: string, | 345 * @param {{key: string, |
| 339 * networkList: Array.<Object>} data Description of the network. | 346 * networkList: Array.<Object>} data Description of the network. |
| 340 * @constructor | 347 * @constructor |
| 341 */ | 348 */ |
| (...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 995 * Whether the Network list is disabled. Only used for display purpose. | 1002 * Whether the Network list is disabled. Only used for display purpose. |
| 996 * @type {boolean} | 1003 * @type {boolean} |
| 997 */ | 1004 */ |
| 998 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); | 1005 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); |
| 999 | 1006 |
| 1000 // Export | 1007 // Export |
| 1001 return { | 1008 return { |
| 1002 NetworkList: NetworkList | 1009 NetworkList: NetworkList |
| 1003 }; | 1010 }; |
| 1004 }); | 1011 }); |
| OLD | NEW |