Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(528)

Side by Side Diff: chrome/browser/resources/options2/chromeos/network_list.js

Issue 10831140: Change behavior when clicking on a network from auto-connect to show options. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Simplify variable initialization. Remove unused CSS rule. Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/options2/browser_options.css ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 if (candidateURL) 408 if (candidateURL)
409 this.iconURL = candidateURL; 409 this.iconURL = candidateURL;
410 else 410 else
411 this.iconType = this.data.key; 411 this.iconType = this.data.key;
412 412
413 this.showSelector(); 413 this.showSelector();
414 414
415 if (policyManaged) 415 if (policyManaged)
416 this.showManagedNetworkIndicator(); 416 this.showManagedNetworkIndicator();
417 417
418 // TODO(kevers): Add default icon for VPN when disconnected or in the
419 // process of connecting.
420
421 if (activeMenu_ == this.getMenuName_()) { 418 if (activeMenu_ == this.getMenuName_()) {
422 // Menu is already showing and needs to be updated. Explicitly calling 419 // Menu is already showing and needs to be updated. Explicitly calling
423 // show menu will force the existing menu to be replaced. The call 420 // show menu will force the existing menu to be replaced. The call
424 // is deferred in order to ensure that position of this element has 421 // is deferred in order to ensure that position of this element has
425 // beem properly updated. 422 // beem properly updated.
426 var self = this; 423 var self = this;
427 setTimeout(function() {self.showMenu();}, 0); 424 setTimeout(function() {self.showMenu();}, 0);
428 } 425 }
429 }, 426 },
430 427
(...skipping 22 matching lines...) Expand all
453 data: {}}; 450 data: {}};
454 if (disabled) { 451 if (disabled) {
455 entry.command = null; 452 entry.command = null;
456 entry.tooltip = 453 entry.tooltip =
457 loadTimeData.getString('dataRoamingDisableToggleTooltip'); 454 loadTimeData.getString('dataRoamingDisableToggleTooltip');
458 } else { 455 } else {
459 entry.command = function() { 456 entry.command = function() {
460 options.Preferences.setBooleanPref( 457 options.Preferences.setBooleanPref(
461 'cros.signed.data_roaming_enabled', 458 'cros.signed.data_roaming_enabled',
462 !enableDataRoaming_); 459 !enableDataRoaming_);
463 // Force revalidation of the menu the next time it is 460 // Force revalidation of the menu the next time it is displayed.
464 // displayed.
465 this.menu_ = null; 461 this.menu_ = null;
466 }; 462 };
467 } 463 }
468 addendum.push(entry); 464 addendum.push(entry);
469 } 465 }
470 var list = this.data.rememberedNetworks; 466 var list = this.data.rememberedNetworks;
471 if (list && list.length > 0) { 467 if (list && list.length > 0) {
472 var callback = function(list) { 468 var callback = function(list) {
473 $('remembered-network-list').clear(); 469 $('remembered-network-list').clear();
474 var dialog = options.PreferredNetworks.getInstance(); 470 var dialog = options.PreferredNetworks.getInstance();
475 OptionsPage.showPageByName('preferredNetworksPage', false); 471 OptionsPage.showPageByName('preferredNetworksPage', false);
476 dialog.update(list); 472 dialog.update(list);
477 }; 473 };
478 addendum.push({label: loadTimeData.getString('preferredNetworks'), 474 addendum.push({label: loadTimeData.getString('preferredNetworks'),
479 command: callback, 475 command: callback,
480 data: list}); 476 data: list});
481 } 477 }
482 478
483 var networkGroup = this.ownerDocument.createElement('div'); 479 var networkGroup = this.ownerDocument.createElement('div');
484 networkGroup.className = 'network-menu-group'; 480 networkGroup.className = 'network-menu-group';
485 var empty = true;
486 list = this.data.networkList; 481 list = this.data.networkList;
482 var empty = !list || list.length == 0;
487 if (list) { 483 if (list) {
488 for (var i = 0; i < list.length; i++) { 484 for (var i = 0; i < list.length; i++) {
489 var data = list[i]; 485 var data = list[i];
490 if (!data.connected && !data.connecting) { 486 this.createNetworkOptionsCallback_(networkGroup, data);
491 if (data.networkType != Constants.TYPE_ETHERNET) { 487 if (data.connected) {
492 if (data.networkType == Constants.TYPE_CELLULAR) {
493 // Test if cellular network has an activated data plan.
494 var activate = data.needs_new_plan ||
495 (data.activation_state !=
496 Constants.ACTIVATION_STATE_ACTIVATED &&
497 data.activation_state !=
498 Constants.ACTIVATION_STATE_ACTIVATING);
499 var cmd = activate ? 'activate' : 'connect';
500 this.createConnectCallback_(networkGroup, data, cmd);
501 } else {
502 this.createConnectCallback_(networkGroup, data);
503 }
504 empty = false;
505 }
506 } else if (data.connected) {
507 addendum.push({label: loadTimeData.getString('networkOptions'),
508 command: 'options',
509 data: data});
510 if (data.networkType == Constants.TYPE_VPN) { 488 if (data.networkType == Constants.TYPE_VPN) {
511 // Add separator 489 // Add separator
512 addendum.push({}); 490 addendum.push({});
513 var i18nKey = 'disconnectNetwork'; 491 var i18nKey = 'disconnectNetwork';
514 addendum.push({label: loadTimeData.getString(i18nKey), 492 addendum.push({label: loadTimeData.getString(i18nKey),
515 command: 'disconnect', 493 command: 'disconnect',
516 data: data}); 494 data: data});
517 } 495 }
518 if (data.networkType != Constants.TYPE_ETHERNET) {
519 var onlineMessage = this.ownerDocument.createElement('div');
520 onlineMessage.textContent =
521 loadTimeData.getString('networkOnline');
522 onlineMessage.className = 'network-menu-header';
523 menu.insertBefore(onlineMessage, menu.firstChild);
524 }
525 } 496 }
526 } 497 }
527 } 498 }
528 if (this.data_.key == 'wifi' || this.data_.key == 'wimax' || 499 if (this.data_.key == 'wifi' || this.data_.key == 'wimax' ||
529 this.data_.key == 'cellular') { 500 this.data_.key == 'cellular') {
530 addendum.push({}); 501 addendum.push({});
531 if (this.data_.key == 'wifi') { 502 if (this.data_.key == 'wifi') {
532 addendum.push({label: loadTimeData.getString('turnOffWifi'), 503 addendum.push({label: loadTimeData.getString('turnOffWifi'),
533 command: function() { 504 command: function() {
534 chrome.send('disableWifi'); 505 chrome.send('disableWifi');
(...skipping 18 matching lines...) Expand all
553 menu.appendChild(networkGroup); 524 menu.appendChild(networkGroup);
554 if (addendum.length > 0) { 525 if (addendum.length > 0) {
555 var separator = false; 526 var separator = false;
556 if (!empty) { 527 if (!empty) {
557 menu.appendChild(MenuItem.createSeparator()); 528 menu.appendChild(MenuItem.createSeparator());
558 separator = true; 529 separator = true;
559 } 530 }
560 for (var i = 0; i < addendum.length; i++) { 531 for (var i = 0; i < addendum.length; i++) {
561 var value = addendum[i]; 532 var value = addendum[i];
562 if (value.data) { 533 if (value.data) {
563 var item = this.createCallback_(menu, 534 var item = this.createCallback_(menu, value.data, value.label,
564 value.data,
565 value.label,
566 value.command); 535 value.command);
567 if (value.tooltip) 536 if (value.tooltip)
568 item.title = value.tooltip; 537 item.title = value.tooltip;
569 separator = false; 538 separator = false;
570 } else if (!separator) { 539 } else if (!separator) {
571 menu.appendChild(MenuItem.createSeparator()); 540 menu.appendChild(MenuItem.createSeparator());
572 separator = true; 541 separator = true;
573 } 542 }
574 } 543 }
575 } 544 }
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 else 656 else
688 buttonLabel.classList.add('network-disabled-control'); 657 buttonLabel.classList.add('network-disabled-control');
689 658
690 button.data = {label: label}; 659 button.data = {label: label};
691 MenuItem.decorate(button); 660 MenuItem.decorate(button);
692 menu.appendChild(button); 661 menu.appendChild(button);
693 return button; 662 return button;
694 }, 663 },
695 664
696 /** 665 /**
697 * Adds a menu item for connecting to a network. 666 * Adds a menu item for showing network details.
698 * @param {!Element} menu Parent menu. 667 * @param {!Element} parent The parent element.
699 * @param {Object} data Description of the network. 668 * @param {Object} data Description of the network.
700 * @param {string=} opt_connect Optional connection method.
701 * @private 669 * @private
702 */ 670 */
703 createConnectCallback_: function(menu, data, opt_connect) { 671 createNetworkOptionsCallback_: function(parent, data) {
704 var cmd = opt_connect ? opt_connect : 'connect'; 672 var menuItem = this.createCallback_(parent,
705 var label = data.networkName;
706 if (cmd == 'activate') {
707 label = loadTimeData.getString('activateNetwork');
708 label = label.replace('$1', data.networkName);
709 }
710 var menuItem = this.createCallback_(menu,
711 data, 673 data,
712 label, 674 data.networkName,
713 cmd); 675 'options');
714 menuItem.style.backgroundImage = url(data.iconURL); 676 menuItem.style.backgroundImage = url(data.iconURL);
715
716 if (data.policyManaged) 677 if (data.policyManaged)
717 menuItem.appendChild(new ManagedNetworkIndicator()); 678 menuItem.appendChild(new ManagedNetworkIndicator());
718 679 if (data.connected || data.connecting) {
719 var optionsButton = this.ownerDocument.createElement('div'); 680 var label = menuItem.getElementsByClassName(
720 optionsButton.className = 'network-options-button'; 681 'network-menu-item-label')[0];
721 var type = String(data.networkType); 682 label.classList.add('active-network');
722 var path = data.servicePath; 683 }
723 optionsButton.addEventListener('click', function(event) {
724 event.stopPropagation();
725 chrome.send('networkCommand',
726 [type, path, 'options']);
727 closeMenu_();
728 });
729 menuItem.appendChild(optionsButton);
730 } 684 }
731 }; 685 };
732 686
733 /** 687 /**
734 * Creates a button-like control for configurating internet connectivity. 688 * Creates a button-like control for configurating internet connectivity.
735 * @param {{key: string, 689 * @param {{key: string,
736 * subtitle: string, 690 * subtitle: string,
737 * command: function} data Description of the network control. 691 * command: function} data Description of the network control.
738 * @constructor 692 * @constructor
739 */ 693 */
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 * Whether the Network list is disabled. Only used for display purpose. 1086 * Whether the Network list is disabled. Only used for display purpose.
1133 * @type {boolean} 1087 * @type {boolean}
1134 */ 1088 */
1135 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); 1089 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR);
1136 1090
1137 // Export 1091 // Export
1138 return { 1092 return {
1139 NetworkList: NetworkList 1093 NetworkList: NetworkList
1140 }; 1094 };
1141 }); 1095 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/options2/browser_options.css ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698