| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2014 Eyeo GmbH | 3  * Copyright (C) 2006-2014 Eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 26 | 26 | 
| 27 let nodeData = new WeakMap(); | 27 let nodeData = new WeakMap(); | 
| 28 let windowStats = new WeakMap(); | 28 let windowStats = new WeakMap(); | 
| 29 let windowSelection = new WeakMap(); | 29 let windowSelection = new WeakMap(); | 
| 30 | 30 | 
| 31 let setEntry, hasEntry, getEntry; | 31 let setEntry, hasEntry, getEntry; | 
| 32 if (false) | 32 if (false) | 
| 33 { | 33 { | 
| 34   // This branch can be enabled again once all of bug 673468, bug 819131 and | 34   // This branch can be enabled again once all of bug 673468, bug 819131 and | 
| 35   // bug 982561 are fixed and we can use weak maps. | 35   // bug 982561 are fixed and we can use weak maps. | 
| 36   setEntry = function(map, key, value) map.set(key, value); | 36   setEntry = function(map, key, value) { map.set(key, value); }; | 
| 37   hasEntry = function(map, key) map.has(key); | 37   hasEntry = function(map, key) { return map.has(key); }; | 
| 38   getEntry = function(map, key) map.get(key); | 38   getEntry = function(map, key) { return map.get(key); }; | 
| 39 } | 39 } | 
| 40 else | 40 else | 
| 41 { | 41 { | 
| 42   // Fall back to user data | 42   // Fall back to user data | 
| 43   let dataSeed = Math.random(); | 43   let dataSeed = Math.random(); | 
| 44   let nodeDataProp = "abpNodeData" + dataSeed; | 44   let nodeDataProp = "abpNodeData" + dataSeed; | 
| 45   let windowStatsProp = "abpWindowStats" + dataSeed; | 45   let windowStatsProp = "abpWindowStats" + dataSeed; | 
| 46   let windowSelectionProp = "abpWindowSelection" + dataSeed; | 46   let windowSelectionProp = "abpWindowSelection" + dataSeed; | 
| 47   let getProp = function(map) | 47   let getProp = function(map) | 
| 48   { | 48   { | 
| 49     switch (map) | 49     switch (map) | 
| 50     { | 50     { | 
| 51       case nodeData: | 51       case nodeData: | 
| 52         return nodeDataProp; | 52         return nodeDataProp; | 
| 53       case windowStats: | 53       case windowStats: | 
| 54         return windowStatsProp; | 54         return windowStatsProp; | 
| 55       case windowSelection: | 55       case windowSelection: | 
| 56         return windowSelectionProp; | 56         return windowSelectionProp; | 
| 57       default: | 57       default: | 
| 58         return null; | 58         return null; | 
| 59     } | 59     } | 
| 60   }; | 60   }; | 
| 61 | 61 | 
| 62   setEntry = function(map, key, value) key.setUserData(getProp(map), value, null
     ); | 62   setEntry = function(map, key, value) { | 
| 63   hasEntry = function(map, key) key.getUserData(getProp(map)); | 63     key.setUserData(getProp(map), value, null); | 
| 64   getEntry = function(map, key) key.getUserData(getProp(map)) || undefined; | 64   }; | 
|  | 65   hasEntry = function(map, key) { | 
|  | 66     return key.getUserData(getProp(map)); | 
|  | 67   }; | 
|  | 68   getEntry = function(map, key) { | 
|  | 69     return key.getUserData(getProp(map)) || undefined; | 
|  | 70   }; | 
| 65 } | 71 } | 
| 66 | 72 | 
| 67 /** | 73 /** | 
| 68  * List of notifiers in use - these notifiers need to receive notifications on | 74  * List of notifiers in use - these notifiers need to receive notifications on | 
| 69  * new requests. | 75  * new requests. | 
| 70  * @type RequestNotifier[] | 76  * @type RequestNotifier[] | 
| 71  */ | 77  */ | 
| 72 let activeNotifiers = []; | 78 let activeNotifiers = []; | 
| 73 | 79 | 
| 74 /** | 80 /** | 
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 341   location: null, | 347   location: null, | 
| 342   /** | 348   /** | 
| 343    * Filter that was applied to this request (if any) | 349    * Filter that was applied to this request (if any) | 
| 344    * @type Filter | 350    * @type Filter | 
| 345    */ | 351    */ | 
| 346   filter: null, | 352   filter: null, | 
| 347   /** | 353   /** | 
| 348    * String representation of the content type, e.g. "subdocument" | 354    * String representation of the content type, e.g. "subdocument" | 
| 349    * @type String | 355    * @type String | 
| 350    */ | 356    */ | 
| 351   get typeDescr() require("contentPolicy").Policy.typeDescr[this.type], | 357   get typeDescr() { return require("contentPolicy").Policy.typeDescr[this.type];
      }, | 
| 352   /** | 358   /** | 
| 353    * User-visible localized representation of the content type, e.g. "frame" | 359    * User-visible localized representation of the content type, e.g. "frame" | 
| 354    * @type String | 360    * @type String | 
| 355    */ | 361    */ | 
| 356   get localizedDescr() require("contentPolicy").Policy.localizedDescr[this.type]
     , | 362   get localizedDescr() { return require("contentPolicy").Policy.localizedDescr[t
     his.type]; }, | 
| 357 | 363 | 
| 358   /** | 364   /** | 
| 359    * Attaches this request object to a DOM node. | 365    * Attaches this request object to a DOM node. | 
| 360    */ | 366    */ | 
| 361   attachToNode: function(/**Node*/ node) | 367   attachToNode: function(/**Node*/ node) | 
| 362   { | 368   { | 
| 363     let existingData = getEntry(nodeData, node); | 369     let existingData = getEntry(nodeData, node); | 
| 364     if (typeof existingData == "undefined") | 370     if (typeof existingData == "undefined") | 
| 365     { | 371     { | 
| 366       existingData = {}; | 372       existingData = {}; | 
| 367       setEntry(nodeData, node, existingData); | 373       setEntry(nodeData, node, existingData); | 
| 368     } | 374     } | 
| 369 | 375 | 
| 370     // Add this request to the node data | 376     // Add this request to the node data | 
| 371     existingData[this.type + " " + this.location] = this; | 377     existingData[this.type + " " + this.location] = this; | 
| 372   } | 378   } | 
| 373 }; | 379 }; | 
| OLD | NEW | 
|---|