[Pkg-mozext-commits] [requestpolicy] 21/257: [ref] menu: make the "lists" private

David Prévot taffit at moszumanska.debian.org
Thu Jan 28 03:19:52 UTC 2016


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository requestpolicy.

commit a936baa4ee8361fa3309d8898edf2870f14a0121
Author: Martin Kimmerle <dev at 256k.de>
Date:   Sat Aug 8 14:32:50 2015 +0200

    [ref] menu: make the "lists" private
---
 src/content/ui/menu.js | 149 +++++++++++++++++++++++++------------------------
 1 file changed, 75 insertions(+), 74 deletions(-)

diff --git a/src/content/ui/menu.js b/src/content/ui/menu.js
index b16d5d8..bb58cd6 100644
--- a/src/content/ui/menu.js
+++ b/src/content/ui/menu.js
@@ -59,6 +59,18 @@ rpcontinued.menu = (function() {
   let initialized = false;
 
 
+  // TODO: Create a "List" class which also contains functions like
+  //       _populateList() and emptyList().
+  var lists = {
+    otherOrigins: null,
+    blockedDestinations: null,
+    mixedDestinations: null,
+    allowedDestinations: null,
+    removeRules: null,
+    addRules: null
+  };
+
+
   let self = {
     addedMenuItems : [],
 
@@ -66,13 +78,6 @@ rpcontinued.menu = (function() {
     _originDomainnameItem : null,
     _originNumRequestsItem : null,
 
-    _otherOriginsList : null,
-    _blockedDestinationsList : null,
-    _mixedDestinationsList : null,
-    _allowedDestinationsList : null,
-    _removeRulesList : null,
-    _addRulesList : null,
-
     _isCurrentlySelectedDestBlocked : null,
     _isCurrentlySelectedDestAllowed : null,
 
@@ -87,12 +92,12 @@ rpcontinued.menu = (function() {
       self._originDomainnameItem = $id('rpc-origin-domainname');
       self._originNumRequestsItem = $id('rpc-origin-num-requests');
 
-      self._otherOriginsList = $id("rpc-other-origins-list");
-      self._blockedDestinationsList = $id("rpc-blocked-destinations-list");
-      self._mixedDestinationsList = $id("rpc-mixed-destinations-list");
-      self._allowedDestinationsList = $id("rpc-allowed-destinations-list");
-      self._addRulesList = $id("rpc-rules-add");
-      self._removeRulesList = $id("rpc-rules-remove");
+      lists.otherOrigins = $id("rpc-other-origins-list");
+      lists.blockedDestinations = $id("rpc-blocked-destinations-list");
+      lists.mixedDestinations = $id("rpc-mixed-destinations-list");
+      lists.allowedDestinations = $id("rpc-allowed-destinations-list");
+      lists.addRules = $id("rpc-rules-add");
+      lists.removeRules = $id("rpc-rules-remove");
 
       var conflictCount = RequestProcessor.getConflictingExtensions().length;
       var hideConflictInfo = (conflictCount == 0);
@@ -101,14 +106,10 @@ rpcontinued.menu = (function() {
       rpcontinued.overlay.OverlayEnvironment.addShutdownFunction(
         Environment.LEVELS.INTERFACE,
         function() {
-          emptyLists([
-            self._otherOriginsList,
-            self._blockedDestinationsList,
-            self._mixedDestinationsList,
-            self._allowedDestinationsList,
-            self._addRulesList,
-            self._removeRulesList
-          ]);
+          // empty _all_ lists
+          for (let listName in lists) {
+            emptyList(lists[listName]);
+          }
         });
     }
   };
@@ -118,26 +119,23 @@ rpcontinued.menu = (function() {
    * Removes all children from a list and eventually removes
    * all event listeners.
    *
-   * @param {Array<Element>} aLists The lists that should be emptied.
+   * @param {Element} aList The list that should be emptied.
    */
-  function emptyLists(aLists) {
-    for (let list of aLists) {
-      if (!list) {
-        // skip `null` lists
-        continue;
-      }
+  function emptyList(aList) {
+    if (!aList) {
+      return;
+    }
 
-      // remove all event listeners
-      {
-        let elements = list.getElementsByClassName("listen-click");
-        for (let el of elements) {
-          el.removeEventListener("click", self.itemSelected, false);
-        }
+    // remove all event listeners
+    {
+      let elements = aList.getElementsByClassName("listen-click");
+      for (let el of elements) {
+        el.removeEventListener("click", self.itemSelected, false);
       }
-
-      // remove the children
-      DOMUtils.removeChildren(list);
     }
+
+    // remove the children
+    DOMUtils.removeChildren(aList);
   }
 
 
@@ -227,14 +225,15 @@ rpcontinued.menu = (function() {
     self._originItem.removeAttribute("default-policy");
     self._originItem.removeAttribute("requests-blocked");
 
-    emptyLists([
-      self._otherOriginsList,
-      self._blockedDestinationsList,
-      self._mixedDestinationsList,
-      self._allowedDestinationsList,
-      self._removeRulesList,
-      self._addRulesList
-    ]);
+    [
+      lists.otherOrigins,
+      lists.blockedDestinations,
+      lists.mixedDestinations,
+      lists.allowedDestinations,
+      lists.removeRules,
+      lists.addRules
+    ].forEach(emptyList);
+
     $id('rpc-other-origins').hidden = true;
     $id('rpc-blocked-destinations').hidden = true;
     $id('rpc-mixed-destinations').hidden = true;
@@ -243,7 +242,7 @@ rpcontinued.menu = (function() {
   };
 
   self._populateList = function(list, values) {
-    emptyLists([list]);
+    emptyList(list);
 
     // check whether there are objects of GUILocation or just strings
     var guiLocations = values[0] && (values[0] instanceof GUILocation);
@@ -313,7 +312,7 @@ rpcontinued.menu = (function() {
 
   self._populateOtherOrigins = function() {
     var guiOrigins = self._getOtherOriginsAsGUILocations();
-    self._populateList(self._otherOriginsList, guiOrigins);
+    self._populateList(lists.otherOrigins, guiOrigins);
     $id('rpc-other-origins').hidden = guiOrigins.length == 0;
   };
 
@@ -364,15 +363,15 @@ rpcontinued.menu = (function() {
       }
     }
 
-    self._populateList(self._blockedDestinationsList,
+    self._populateList(lists.blockedDestinations,
         destsWithSolelyBlockedRequests);
     $id('rpc-blocked-destinations').hidden =
         destsWithSolelyBlockedRequests.length == 0;
 
-    self._populateList(self._mixedDestinationsList, destsMixed);
+    self._populateList(lists.mixedDestinations, destsMixed);
     $id('rpc-mixed-destinations').hidden = destsMixed.length == 0;
 
-    self._populateList(self._allowedDestinationsList,
+    self._populateList(lists.allowedDestinations,
         destsWithSolelyAllowedRequests);
     $id('rpc-allowed-destinations').hidden =
         destsWithSolelyAllowedRequests.length == 0;
@@ -381,7 +380,9 @@ rpcontinued.menu = (function() {
   self._populateDetails = function() {
     var origin = self._currentlySelectedOrigin;
     var dest = self._currentlySelectedDest;
-    emptyLists([self._removeRulesList, self._addRulesList]);
+
+    emptyList(lists.removeRules);
+    emptyList(lists.addRules);
 
     var ruleData = {
       'o' : {
@@ -400,14 +401,14 @@ rpcontinued.menu = (function() {
         // requests from a given origin.
         //if (mayPermRulesBeAdded === true) {
         //  var item = self._addMenuItemDenyOrigin(
-        //    self._addRulesList, ruleData);
+        //    lists.addRules, ruleData);
         //}
-        //var item = self._addMenuItemTempDenyOrigin(self._addRulesList, ruleData);
+        //var item = self._addMenuItemTempDenyOrigin(lists.addRules, ruleData);
       } else {
         if (mayPermRulesBeAdded === true) {
-          var item = self._addMenuItemAllowOrigin(self._addRulesList, ruleData);
+          var item = self._addMenuItemAllowOrigin(lists.addRules, ruleData);
         }
-        var item = self._addMenuItemTempAllowOrigin(self._addRulesList, ruleData);
+        var item = self._addMenuItemTempAllowOrigin(lists.addRules, ruleData);
       }
     }
 
@@ -431,20 +432,20 @@ rpcontinued.menu = (function() {
             !PolicyManager.ruleExists(C.RULE_ACTION_DENY, ruleData)) {
           if (mayPermRulesBeAdded === true) {
               var item = self._addMenuItemDenyOriginToDest(
-                  self._addRulesList, ruleData);
+                  lists.addRules, ruleData);
           }
           var item = self._addMenuItemTempDenyOriginToDest(
-            self._addRulesList, ruleData);
+            lists.addRules, ruleData);
         }
 
         if (!PolicyManager.ruleExists(C.RULE_ACTION_ALLOW, destOnlyRuleData) &&
             !PolicyManager.ruleExists(C.RULE_ACTION_DENY, destOnlyRuleData)) {
           if (mayPermRulesBeAdded === true) {
             var item = self._addMenuItemDenyDest(
-                self._addRulesList, destOnlyRuleData);
+                lists.addRules, destOnlyRuleData);
           }
           var item = self._addMenuItemTempDenyDest(
-              self._addRulesList, destOnlyRuleData);
+              lists.addRules, destOnlyRuleData);
         }
       }
       if (self._isCurrentlySelectedDestBlocked ||
@@ -457,20 +458,20 @@ rpcontinued.menu = (function() {
             !PolicyManager.ruleExists(C.RULE_ACTION_DENY, ruleData)) {
           if (mayPermRulesBeAdded === true) {
             var item = self._addMenuItemAllowOriginToDest(
-                self._addRulesList, ruleData);
+                lists.addRules, ruleData);
           }
           var item = self._addMenuItemTempAllowOriginToDest(
-              self._addRulesList, ruleData);
+              lists.addRules, ruleData);
         }
 
         if (!PolicyManager.ruleExists(C.RULE_ACTION_ALLOW, destOnlyRuleData) &&
             !PolicyManager.ruleExists(C.RULE_ACTION_DENY, destOnlyRuleData)) {
           if (mayPermRulesBeAdded === true) {
             var item = self._addMenuItemAllowDest(
-                self._addRulesList, destOnlyRuleData);
+                lists.addRules, destOnlyRuleData);
           }
           var item = self._addMenuItemTempAllowDest(
-              self._addRulesList, destOnlyRuleData);
+              lists.addRules, destOnlyRuleData);
         }
       }
     }
@@ -478,12 +479,12 @@ rpcontinued.menu = (function() {
     if (self._currentlySelectedDest) {
       if (!Prefs.isDefaultAllow() &&
           !Prefs.isDefaultAllowSameDomain()) {
-        self._populateDetailsAddSubdomainAllowRules(self._addRulesList);
+        self._populateDetailsAddSubdomainAllowRules(lists.addRules);
       }
     }
 
-    self._populateDetailsRemoveAllowRules(self._removeRulesList);
-    self._populateDetailsRemoveDenyRules(self._removeRulesList);
+    self._populateDetailsRemoveAllowRules(lists.removeRules);
+    self._populateDetailsRemoveDenyRules(lists.removeRules);
   };
 
   self._addListItem = function(list, cssClass, value, numRequests) {
@@ -521,23 +522,23 @@ rpcontinued.menu = (function() {
 
   self._resetSelectedOrigin = function() {
     self._originItem.setAttribute('selected-origin', 'false');
-    for (var i = 0; i < self._otherOriginsList.childNodes.length; i++) {
-      var child = self._otherOriginsList.childNodes[i];
+    for (var i = 0; i < lists.otherOrigins.childNodes.length; i++) {
+      var child = lists.otherOrigins.childNodes[i];
       child.setAttribute('selected-origin', 'false');
     }
   };
 
   self._resetSelectedDest = function() {
-    for (var i = 0; i < self._blockedDestinationsList.childNodes.length; i++) {
-      var child = self._blockedDestinationsList.childNodes[i];
+    for (var i = 0; i < lists.blockedDestinations.childNodes.length; i++) {
+      var child = lists.blockedDestinations.childNodes[i];
       child.setAttribute('selected-dest', 'false');
     }
-    for (var i = 0; i < self._mixedDestinationsList.childNodes.length; i++) {
-      var child = self._mixedDestinationsList.childNodes[i];
+    for (var i = 0; i < lists.mixedDestinations.childNodes.length; i++) {
+      var child = lists.mixedDestinations.childNodes[i];
       child.setAttribute('selected-dest', 'false');
     }
-    for (var i = 0; i < self._allowedDestinationsList.childNodes.length; i++) {
-      var child = self._allowedDestinationsList.childNodes[i];
+    for (var i = 0; i < lists.allowedDestinations.childNodes.length; i++) {
+      var child = lists.allowedDestinations.childNodes[i];
       child.setAttribute('selected-dest', 'false');
     }
   };

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/requestpolicy.git



More information about the Pkg-mozext-commits mailing list