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

Side by Side Diff: chrome/browser/resources/chromeos/network_configuration/js/network_status.js

Issue 12676017: Adding policy support to the new network configuration stack. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed clang errors. Created 7 years, 8 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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('network.status', function() { 5 cr.define('network.status', function() {
6 var ArrayDataModel = cr.ui.ArrayDataModel; 6 var ArrayDataModel = cr.ui.ArrayDataModel;
7 var List = cr.ui.List; 7 var List = cr.ui.List;
8 var ListItem = cr.ui.ListItem; 8 var ListItem = cr.ui.ListItem;
9 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel; 9 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel;
10 10
(...skipping 19 matching lines...) Expand all
30 * @return {Array.<Array.<T>>} . 30 * @return {Array.<Array.<T>>} .
31 */ 31 */
32 function differenceBy(a, b, toKey) { 32 function differenceBy(a, b, toKey) {
33 var inA = {}; 33 var inA = {};
34 a.forEach(function(elA) { 34 a.forEach(function(elA) {
35 inA[toKey(elA)] = elA; 35 inA[toKey(elA)] = elA;
36 }); 36 });
37 var bMinusA = []; 37 var bMinusA = [];
38 b.forEach(function(elB) { 38 b.forEach(function(elB) {
39 var keyB = toKey(elB); 39 var keyB = toKey(elB);
40 if (inA[keyB]) { 40 if (inA[keyB])
41 delete inA[keyB]; 41 delete inA[keyB];
42 } else { 42 else
43 bMinusA.push(elB); 43 bMinusA.push(elB);
44 }
45 }); 44 });
46 var aMinusB = []; 45 var aMinusB = [];
47 for (var keyA in inA) { 46 for (var keyA in inA) {
48 aMinusB.push(inA[keyA]); 47 aMinusB.push(inA[keyA]);
49 } 48 }
50 return [aMinusB, bMinusA]; 49 return [aMinusB, bMinusA];
51 } 50 }
52 51
53 /** 52 /**
54 * Updates the data model of |uiList| to |newList|. Ensures that unchanged 53 * Updates the data model of |uiList| to |newList|. Ensures that unchanged
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 */ 566 */
568 getTechnologyButtonForType_: function(networkType) { 567 getTechnologyButtonForType_: function(networkType) {
569 var buttons = this.items; 568 var buttons = this.items;
570 for (var i = 0; i < buttons.length; i++) { 569 for (var i = 0; i < buttons.length; i++) {
571 var button = buttons[i]; 570 var button = buttons[i];
572 if (button instanceof TechnologyButton && 571 if (button instanceof TechnologyButton &&
573 button.technology === networkType) { 572 button.technology === networkType) {
574 return button; 573 return button;
575 } 574 }
576 } 575 }
576 console.log('TechnologyButton for type ' + networkType +
577 ' requested but not found.');
577 return null; 578 return null;
578 }, 579 },
579 580
580 updateTechnologiesFromNetworks_: function() { 581 updateTechnologiesFromNetworks_: function() {
581 var newTechnologies = {}; 582 var newTechnologies = {};
582 Object.keys(this.networkIDsByType_).forEach(function(technology) { 583 Object.keys(this.networkIDsByType_).forEach(function(technology) {
583 newTechnologies[technology] = true; 584 newTechnologies[technology] = true;
584 }); 585 });
585 this.technologies_ = newTechnologies; 586 this.technologies_ = newTechnologies;
586 }, 587 },
(...skipping 26 matching lines...) Expand all
613 */ 614 */
614 onNetworkListChanged_: function(networkIDs) { 615 onNetworkListChanged_: function(networkIDs) {
615 var diff = differenceBy(Object.keys(this.networkByID_), 616 var diff = differenceBy(Object.keys(this.networkByID_),
616 networkIDs, 617 networkIDs,
617 function(e) { return e; }); 618 function(e) { return e; });
618 var toRemove = diff[0]; 619 var toRemove = diff[0];
619 var toAdd = diff[1]; 620 var toAdd = diff[1];
620 621
621 var addCallback = this.addNetworkCallback_.bind(this); 622 var addCallback = this.addNetworkCallback_.bind(this);
622 toAdd.forEach(function(id) { 623 toAdd.forEach(function(id) {
624 console.log('NetworkStatus: Network ' + id + ' added.');
623 chrome.networkingPrivate.getProperties(id, addCallback); 625 chrome.networkingPrivate.getProperties(id, addCallback);
624 }); 626 });
625 627
626 toRemove.forEach(function(id) { 628 toRemove.forEach(function(id) {
629 console.log('NetworkStatus: Network ' + id + ' removed.');
627 delete this.networkByID_[id]; 630 delete this.networkByID_[id];
628 }, this); 631 }, this);
629 632
630 this.updateIndexes_(networkIDs); 633 this.updateIndexes_(networkIDs);
631 this.updateDataStructuresAndButtons_(); 634 this.updateDataStructuresAndButtons_();
632 }, 635 },
633 636
634 /** 637 /**
635 * @param {Array.<string>} networkIDs . 638 * @param {Array.<string>} networkIDs .
636 */ 639 */
637 onNetworksChanged_: function(networkIDs) { 640 onNetworksChanged_: function(networkIDs) {
638 var updateCallback = this.updateNetworkCallback_.bind(this); 641 var updateCallback = this.updateNetworkCallback_.bind(this);
639 networkIDs.forEach(function(id) { 642 networkIDs.forEach(function(id) {
643 console.log('NetworkStatus: Network ' + id + ' changed.');
640 chrome.networkingPrivate.getProperties(id, updateCallback); 644 chrome.networkingPrivate.getProperties(id, updateCallback);
641 }); 645 });
642 }, 646 },
643 647
644 /** 648 /**
645 * @param {Object} network . 649 * @param {Object} network .
646 */ 650 */
647 updateNetworkCallback_: function(network) { 651 updateNetworkCallback_: function(network) {
648 this.networkByID_[network.GUID] = network; 652 this.networkByID_[network.GUID] = network;
649 this.getTechnologyButtonForType_(network.Type).update(); 653 this.getTechnologyButtonForType_(network.Type).update();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 chrome.networkingPrivate.getVisibleNetworks( 688 chrome.networkingPrivate.getVisibleNetworks(
685 'All', 689 'All',
686 this.setVisibleNetworks.bind(this)); 690 this.setVisibleNetworks.bind(this));
687 } 691 }
688 }; 692 };
689 693
690 return { 694 return {
691 NetworkStatusList: NetworkStatusList 695 NetworkStatusList: NetworkStatusList
692 }; 696 };
693 }); 697 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/chromeos/network_configuration/js/network_config.js ('k') | chrome/chrome_browser_chromeos.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698