[Pkg-mozext-commits] [noscript] 01/04: Imported Upstream version 2.9.0.2

David Prévot taffit at moszumanska.debian.org
Sun Jan 10 02:22:19 UTC 2016


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

taffit pushed a commit to branch master
in repository noscript.

commit 75666fbdc68cadf67f40fdceaec67327c6a2c6ec
Author: David Prévot <david at tilapin.org>
Date:   Sat Jan 9 22:10:36 2016 -0400

    Imported Upstream version 2.9.0.2
---
 META-INF/manifest.mf                               |  12 +++---
 META-INF/mozilla.rsa                               | Bin 4196 -> 4196 bytes
 META-INF/mozilla.sf                                |   4 +-
 chrome/noscript.jar!/content/noscript/ABE.js       |  20 ++++-----
 .../content/noscript/ClearClickHandler.js          |  24 +++++------
 .../content/noscript/ClearClickHandlerLegacy.js    |   8 ++--
 chrome/noscript.jar!/content/noscript/Cookie.js    |   2 +-
 chrome/noscript.jar!/content/noscript/DNS.js       |   2 +-
 chrome/noscript.jar!/content/noscript/DOM.js       |   2 +-
 .../content/noscript/ExternalFilters.js            |  12 +++---
 chrome/noscript.jar!/content/noscript/HTTPS.js     |   6 +--
 .../noscript.jar!/content/noscript/PlacesPrefs.js  |   4 +-
 chrome/noscript.jar!/content/noscript/Profiler.js  |   2 +-
 .../content/noscript/RequestWatchdog.js            |  10 ++---
 .../content/noscript/ScriptSurrogate.js            |   4 +-
 .../noscript.jar!/content/noscript/URIValidator.js |   2 +-
 chrome/noscript.jar!/content/noscript/about.xul    |   6 +--
 .../noscript.jar!/content/noscript/noscriptBM.js   |   4 +-
 .../content/noscript/noscriptOptions.js            |   8 ++--
 .../content/noscript/noscriptOverlay.js            |  46 ++++++++++-----------
 .../locale/bg-BG/noscript/noscript.dtd             |   2 +-
 .../locale/ca-AD/noscript/noscript.dtd             |   2 +-
 .../locale/cs-CZ/noscript/noscript.dtd             |   2 +-
 .../locale/cy-GB/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/da/noscript/noscript.dtd  |   2 +-
 .../noscript.jar!/locale/de/noscript/noscript.dtd  |   2 +-
 .../noscript.jar!/locale/el/noscript/noscript.dtd  |   2 +-
 .../locale/en-GB/noscript/noscript.dtd             |   2 +-
 .../locale/en-US/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/eo/noscript/noscript.dtd  |   2 +-
 .../locale/es-AR/noscript/noscript.dtd             |   2 +-
 .../locale/es-CL/noscript/noscript.dtd             |   2 +-
 .../locale/es-ES/noscript/noscript.dtd             |   2 +-
 .../locale/et-EE/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/eu/noscript/noscript.dtd  |   2 +-
 .../locale/fa-IR/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/fi/noscript/noscript.dtd  |   2 +-
 .../noscript.jar!/locale/fr/noscript/noscript.dtd  |   2 +-
 .../locale/gl-ES/noscript/noscript.dtd             |   2 +-
 .../locale/he-IL/noscript/noscript.dtd             |   2 +-
 .../locale/hr-HR/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/hsb/noscript/noscript.dtd |   2 +-
 .../locale/hu-HU/noscript/noscript.dtd             |   2 +-
 .../locale/id-ID/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/it/noscript/noscript.dtd  |   2 +-
 .../locale/ja-JP/noscript/noscript.dtd             |   2 +-
 .../locale/kk-KZ/noscript/noscript.dtd             |   2 +-
 .../locale/km-KH/noscript/noscript.dtd             |   2 +-
 .../locale/ko-KR/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/lt/noscript/noscript.dtd  |   2 +-
 .../locale/mk-MK/noscript/noscript.dtd             |   2 +-
 .../locale/ms-MY/noscript/noscript.dtd             |   2 +-
 .../locale/nb-NO/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/nl/noscript/noscript.dtd  |   2 +-
 .../noscript.jar!/locale/pl/noscript/noscript.dtd  |   2 +-
 .../locale/pt-BR/noscript/noscript.dtd             |   2 +-
 .../locale/pt-PT/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/ro/noscript/noscript.dtd  |   2 +-
 .../locale/sk-SK/noscript/noscript.dtd             |   2 +-
 .../locale/sl-SI/noscript/noscript.dtd             |   2 +-
 .../locale/sr-RS/noscript/noscript.dtd             |   2 +-
 .../locale/sv-SE/noscript/noscript.dtd             |   2 +-
 .../locale/te-IN/noscript/noscript.dtd             |   2 +-
 .../noscript.jar!/locale/th/noscript/noscript.dtd  |   2 +-
 .../noscript.jar!/locale/tr/noscript/noscript.dtd  |   2 +-
 .../noscript.jar!/locale/vi/noscript/noscript.dtd  |   2 +-
 .../locale/zh-CN/noscript/noscript.dtd             |   2 +-
 .../locale/zh-TW/noscript/noscript.dtd             |   2 +-
 components/noscriptService.js                      |  45 ++++++++++----------
 install.rdf                                        |   6 +--
 70 files changed, 162 insertions(+), 163 deletions(-)

diff --git a/META-INF/manifest.mf b/META-INF/manifest.mf
index af7445b..d103ca2 100644
--- a/META-INF/manifest.mf
+++ b/META-INF/manifest.mf
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
 
 Name: install.rdf
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: eiwnbNGsRtUHDbu+QWcceQ==
-SHA1-Digest: RhKe9CDARa9UO0HaTVa5ehYI5rQ=
+MD5-Digest: xr1uYMs0idZlHP9I7Nn52Q==
+SHA1-Digest: gBOE/OG15SSzQ/MN8UeGEhQzNyQ=
 
 Name: chrome.manifest
 Digest-Algorithms: MD5 SHA1
@@ -27,13 +27,13 @@ SHA1-Digest: 624YpFdNjCFbDE7kLhN+vbF9hgM=
 
 Name: chrome/noscript.jar
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: ZgjOzN/6BOZrRblxmRIzAg==
-SHA1-Digest: N6K/5z0ND4qqjYbfqT+6GI6uukU=
+MD5-Digest: EBgxLmQ4nlNGw66ubjJPVQ==
+SHA1-Digest: H4zTDIcXh/dKmgNDPuQFI3NEjAk=
 
 Name: components/noscriptService.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: JdxCLb4/t88HK++jR7NI/g==
-SHA1-Digest: 72ow7XbjPH1cVV5a2wX/5s8rL/M=
+MD5-Digest: GTFQvuUc/db9dW+jlpt0SQ==
+SHA1-Digest: T09ZM1921Yhj1ueoh5yFCoqoTjg=
 
 Name: defaults/preferences/noscript.js
 Digest-Algorithms: MD5 SHA1
diff --git a/META-INF/mozilla.rsa b/META-INF/mozilla.rsa
index 7757483..2e1f5aa 100644
Binary files a/META-INF/mozilla.rsa and b/META-INF/mozilla.rsa differ
diff --git a/META-INF/mozilla.sf b/META-INF/mozilla.sf
index 71115bf..9be36aa 100644
--- a/META-INF/mozilla.sf
+++ b/META-INF/mozilla.sf
@@ -1,4 +1,4 @@
 Signature-Version: 1.0
-MD5-Digest-Manifest: lCf8Pxpo2ihgUwKkBnrW6g==
-SHA1-Digest-Manifest: pJ87/xFUbJDpmkMY0g4nL4OxXe8=
+MD5-Digest-Manifest: USUyqk7obZuRlJd4vt+BFg==
+SHA1-Digest-Manifest: 0aQ46HwZ3K2NBbxnotLX6QEOP4Q=
 
diff --git a/chrome/noscript.jar!/content/noscript/ABE.js b/chrome/noscript.jar!/content/noscript/ABE.js
index af399d4..e6bdeb8 100644
--- a/chrome/noscript.jar!/content/noscript/ABE.js
+++ b/chrome/noscript.jar!/content/noscript/ABE.js
@@ -36,9 +36,9 @@ var ABE = {
   },
   set disabledRulesetNames(names) {
     var rs;
-    for each (rs in this.rulesets) rs.disabled = false;
+    for (rs  of this.rulesets) rs.disabled = false;
     if (names) try {
-      for each (var name in names.split(/\s+/)) {
+      for (var name  of names.split(/\s+/)) {
         rs = this.localMap[name] || this.siteMap[name];
         if (rs) rs.disabled = true;
       }
@@ -50,7 +50,7 @@ var ABE = {
   get localMap() {
     if (this._localMap) return this._localMap;
     this._localMap = {__proto__: null};
-    for each (var rs in this.localRulesets) {
+    for (var rs  of this.localRulesets) {
       this._localMap[rs.name] = rs;
     }
     return this._localMap;
@@ -140,7 +140,7 @@ var ABE = {
     var f, change;
     try {
       ABEStorage.clear();
-      for each(var rs in data) ABEStorage.saveRuleset(rs.name, rs.source);
+      for (var rs  of data) ABEStorage.saveRuleset(rs.name, rs.source);
     } catch(e) {
       ABE.log("Failed to restore configuration: " + e);
     }
@@ -198,7 +198,7 @@ var ABE = {
     try {
       var res = new ABERes(req);
       var rs;
-      for each (rs in this.localRulesets) {
+      for (rs  of this.localRulesets) {
         if (this._check(rs, res)) break;
       }
 
@@ -681,7 +681,7 @@ ABERuleset.prototype = {
     if (this.disabled) return '';
 
 		var res;
-		for each (var r in this.rules) {
+		for (var r  of this.rules) {
 			res = r.check(req);
 			if (res) {
         this.lastMatch = r;
@@ -721,7 +721,7 @@ ABERule.prototype = {
           this.destination && this.destination.test(req.destination, req.canDoDNS, false) ||
           this.local && req.localDestination)
         ) {
-      for each (var p in this.predicates) {
+      for (var p  of this.predicates) {
         if (p.match(req)) {
           this.lastMatch = p;
           return p.action;
@@ -1148,7 +1148,7 @@ var ABEStorage = {
       this._migrateLegacyFiles();
     }
     this.loadRules();
-    for each (let k in prefs.getChildList("", {})) this.observe(prefs, null, k);
+    for (let k  of prefs.getChildList("", {})) this.observe(prefs, null, k);
     prefs.addObserver("", this, true);
   },
   QueryInterface: xpcom_generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
@@ -1353,7 +1353,7 @@ var DoNotTrack = {
 
   init: function(prefs) {
     this.prefs = prefs;
-    for each (let k in prefs.getChildList("", {})) {
+    for (let k  of prefs.getChildList("", {})) {
       this.observe(prefs, null, k);
     }
     prefs.addObserver("", this, true);
@@ -1608,7 +1608,7 @@ var WAN = {
     if (ip) {
       try {
         if (this._callbacks) {
-          for each (let cb in this._callbacks) cb(ip);
+          for (let cb  of this._callbacks) cb(ip);
           this._callbacks = null;
         }
       } catch(e) {
diff --git a/chrome/noscript.jar!/content/noscript/ClearClickHandler.js b/chrome/noscript.jar!/content/noscript/ClearClickHandler.js
index a5e087c..dca3470 100644
--- a/chrome/noscript.jar!/content/noscript/ClearClickHandler.js
+++ b/chrome/noscript.jar!/content/noscript/ClearClickHandler.js
@@ -97,13 +97,13 @@ ClearClickHandler.prototype = {
     var doc = browser.ownerDocument;
     if (!("__ClearClick__" in doc)) {
       doc.__ClearClick__ = true;
-      for each(let et in this.rapidFire.events)
+      for (let et  of this.rapidFire.events)
         doc.addEventListener(et, this, true);
     }
 
     var ceh = browser.docShell.chromeEventHandler;
     var l = this._listener;
-    for each(var et in this.uiEvents) ceh.addEventListener(et, this, true);
+    for (var et  of this.uiEvents) ceh.addEventListener(et, this, true);
   },
 
 
@@ -502,7 +502,7 @@ ClearClickHandler.prototype = {
       gfx.drawWindow(w, Math.round(x), Math.round(y), c.width, c.height, bg);
       if (woi && w == top && rootBox) {
         gfx.fillStyle = bg;
-        for each (let b in woi)
+        for (let b  of woi)
           gfx.fillRect(b.screenX - rootBox.screenX - x, b.screenY - rootBox.screenY - y, b.width, b.height);
       }
       this.imageData = gfx.getImageData(0, 0, c.width, c.height);
@@ -819,8 +819,8 @@ ClearClickHandler.prototype = {
       const offs = ctx.isEmbed ? [0] : [0, -1, 1, -2, 2, -3, -3];
 
       checkImage:
-      for each(let x in offs) {
-        for each(let y in offs) {
+      for (let x  of offs) {
+        for (let y  of offs) {
           tmpImg = new Snapshot(top, offsetX + x, offsetY + y);
           if (img1.resembles(tmpImg)) {
             ret = false;
@@ -850,8 +850,8 @@ ClearClickHandler.prototype = {
       if (ret && ctx.isEmbed && ("x" in ctx) && c.width > this.minWidth && c.height > this.minHeight) {
         c.width = this.minWidth;
         c.height = this.minHeight;
-        for each(x in [Math.max(ctx.x - this.minWidth, box.oX), Math.min(ctx.x, box.oX + box.oW - this.minWidth)]) {
-          for each(y in [Math.max(ctx.y - this.minHeight, box.oY), Math.min(ctx.y, box.oY + box.oH - this.minHeight)]) {
+        for (x  of [Math.max(ctx.x - this.minWidth, box.oX), Math.min(ctx.x, box.oX + box.oW - this.minWidth)]) {
+          for (y  of [Math.max(ctx.y - this.minHeight, box.oY), Math.min(ctx.y, box.oY + box.oH - this.minHeight)]) {
             ret = compareSnapshots(x, y, offsetX + (x - box.x), offsetY + (y - box.y));
             if (!ret) {
               offsetX += (x - box.x);
@@ -1019,7 +1019,7 @@ ClearClickHandler.prototype = {
       let w = d.defaultView;
       let elPP = this._offsetParents(el);
       try {
-        for each (let t in tags) {
+        for (let t  of tags) {
           let oo = d.getElementsByTagName(t);
           for (let i = oo.length; i-- > 0;) {
             let o = oo[i];
@@ -1153,7 +1153,7 @@ DocPatcher.prototype = {
       }
     }
 
-    for each(n in posn) n.__noscriptPos = false;
+    for (n  of posn) n.__noscriptPos = false;
 
     if(ns.consoleDump & LOG_CLEARCLICK) ns.dump("DocPatcher.collectPositioned(): " + (Date.now() - t));
     return res;
@@ -1265,7 +1265,7 @@ DocPatcher.prototype = {
       }
       if (w.getComputedStyle(c, '').visibility !== "visible") return;
 
-      for each(let n in Array.push(c, c.getElementsByTagName("*"))) {
+      for (let n  of Array.push(c, c.getElementsByTagName("*"))) {
         if (n.getBoundingClientRect().bottom > 50) return;
       }
       c.style.visibility = "hidden";
@@ -1356,7 +1356,7 @@ DocPatcher.prototype = {
             let document = this.top.document;
             if (toggle) {
               let tabs = [];
-              for each(let c in visibleClasses) {
+              for (let c  of visibleClasses) {
 
                 Array.forEach(document.getElementsByClassName(c), function(t) {
                   let co = new ClassyObj(t);
@@ -1366,7 +1366,7 @@ DocPatcher.prototype = {
               }
               this._abpTabs = tabs;
             } else {
-              for each(let co in this._abpTabs) {
+              for (let co  of this._abpTabs) {
                 co.reset();
               }
             }
diff --git a/chrome/noscript.jar!/content/noscript/ClearClickHandlerLegacy.js b/chrome/noscript.jar!/content/noscript/ClearClickHandlerLegacy.js
index 2f7b158..b1a58f0 100644
--- a/chrome/noscript.jar!/content/noscript/ClearClickHandlerLegacy.js
+++ b/chrome/noscript.jar!/content/noscript/ClearClickHandlerLegacy.js
@@ -392,8 +392,8 @@
         const offs = ctx.isEmbed ? [0] : [0, -1, 1, -2, 2, -3, -3];
   
         checkImage:
-        for each(var x in offs) {
-          for each(var y in offs) {
+        for (var x  of offs) {
+          for (var y  of offs) {
             tmpImg = snapshot(top, offsetX + x * zoom, offsetY + y * zoom);
             if (img1 == tmpImg) {
               ret = false;
@@ -429,8 +429,8 @@
         if (ret && ctx.isEmbed && ("x" in ctx) && c.width > this.minWidth && c.height > this.minHeight) {
           c.width = this.minWidth;
           c.height = this.minHeight;
-          for each(x in [Math.max(ctx.x - this.minWidth, box.oX), Math.min(ctx.x, box.oX + box.oW - this.minWidth)]) {
-            for each(y in [Math.max(ctx.y - this.minHeight, box.oY), Math.min(ctx.y, box.oY + box.oH - this.minHeight)]) {
+          for (x  of [Math.max(ctx.x - this.minWidth, box.oX), Math.min(ctx.x, box.oX + box.oW - this.minWidth)]) {
+            for (y  of [Math.max(ctx.y - this.minHeight, box.oY), Math.min(ctx.y, box.oY + box.oH - this.minHeight)]) {
               ret = snapshots(x, y, offsetX + (x - box.x), offsetY + (y - box.y));
               if (!ret) {
                 offsetX += (x - box.x);
diff --git a/chrome/noscript.jar!/content/noscript/Cookie.js b/chrome/noscript.jar!/content/noscript/Cookie.js
index c3d9436..2443fef 100644
--- a/chrome/noscript.jar!/content/noscript/Cookie.js
+++ b/chrome/noscript.jar!/content/noscript/Cookie.js
@@ -70,7 +70,7 @@ Cookie.prototype = {
     this.value = nv.join('=') || '';
     
     var n, v;
-    for each (p in parts) {
+    for (p  of parts) {
       nv = p.split("=");
       switch (n = nv[0].toLowerCase()) {
         case 'expires':
diff --git a/chrome/noscript.jar!/content/noscript/DNS.js b/chrome/noscript.jar!/content/noscript/DNS.js
index 09c6d65..6837385 100644
--- a/chrome/noscript.jar!/content/noscript/DNS.js
+++ b/chrome/noscript.jar!/content/noscript/DNS.js
@@ -235,7 +235,7 @@ var DNS = {
             }
 
             if (callbacks && callbacks.length)
-              for each(var cb in callbacks)
+              for (var cb  of callbacks)
                 cb(dnsRecord);
 
           }), Thread.currentQueue);
diff --git a/chrome/noscript.jar!/content/noscript/DOM.js b/chrome/noscript.jar!/content/noscript/DOM.js
index 6b0fa6c..ab47503 100644
--- a/chrome/noscript.jar!/content/noscript/DOM.js
+++ b/chrome/noscript.jar!/content/noscript/DOM.js
@@ -110,7 +110,7 @@ var DOM = {
     var wm = this.windowMediator;
     var w = null;
     var aa = Array.slice(arguments, 0);
-    for each(var type in ['navigator:browser', 'emusic:window', 'Songbird:Main']) {
+    for (var type  of ['navigator:browser', 'emusic:window', 'Songbird:Main']) {
       aa[0] = type;
       w = delegate.apply(wm, aa);
       if (w) {
diff --git a/chrome/noscript.jar!/content/noscript/ExternalFilters.js b/chrome/noscript.jar!/content/noscript/ExternalFilters.js
index ba5938d..4f13e34 100644
--- a/chrome/noscript.jar!/content/noscript/ExternalFilters.js
+++ b/chrome/noscript.jar!/content/noscript/ExternalFilters.js
@@ -27,7 +27,7 @@ var ExternalFilters = {
     if (filters) this._filters = filters; // filters.filter(function(f) f.valid);
     
     const prefs = this.prefs;
-    for each(let key in prefs.getChildList("", {})) {
+    for (let key  of prefs.getChildList("", {})) {
       try {
         prefs.clearUserPref(key);
       } catch(e) {}
@@ -37,7 +37,7 @@ var ExternalFilters = {
     const props = ["name", "exe", "contentType", "whitelist"];
     
     this._filters.forEach(function(f) {
-      for each(let p in props) {   
+      for (let p  of props) {   
         prefs.setCharPref(f.name + "." + p,
           p == "exe" ? f[p] && f[p].path || '' :
             p == "whitelist" ? f[p] && f[p].source || '' :
@@ -51,7 +51,7 @@ var ExternalFilters = {
     if (!("_whitelists" in this)) {
       let wl = {}, some = false;
       if (this._filters.length) {
-        for each(let f in this._filters) {
+        for (let f  of this._filters) {
           if (f.whitelist) wl[f.name] = f.whitelist;
           some = true;
         }
@@ -113,7 +113,7 @@ var ExternalFilters = {
       
       if (contentType || extraType) {
         contentType = extraType || contentType;
-        for each (let f in this._filters) {
+        for (let f  of this._filters) {
           if (f.handle(channel, contentType, ctx, cached)) {
             this.storeFilterInfo(ctx, f, channel.name);
             return f;
@@ -168,7 +168,7 @@ var ExternalFilters = {
       var args,
           name, member
           map = {};
-      for each(let key in prefs.getChildList("", {})) {
+      for (let key  of prefs.getChildList("", {})) {
         [name, member] = key.split(".");
         if (!(name && member)) continue;
         
@@ -544,7 +544,7 @@ function EFFilePassthru(handler) {
     this.request = handler.channel;
     this.originalListener = handler.originalListener;
     
-    for each(let ce in [handler.cacheEntry, handler.offlineCacheEntry]) {
+    for (let ce  of [handler.cacheEntry, handler.offlineCacheEntry]) {
       if (ce) {
         let tee = Cc["@mozilla.org/network/stream-listener-tee;1"].
           createInstance(Ci.nsIStreamListenerTee);
diff --git a/chrome/noscript.jar!/content/noscript/HTTPS.js b/chrome/noscript.jar!/content/noscript/HTTPS.js
index 7f13730..6fe9f99 100644
--- a/chrome/noscript.jar!/content/noscript/HTTPS.js
+++ b/chrome/noscript.jar!/content/noscript/HTTPS.js
@@ -132,7 +132,7 @@ var HTTPS = {
 
           var unsafeMap = this.getUnsafeCookies(browser) || {};
           var c;
-          for each (var cs in cookies.split("\n")) {
+          for (var cs  of cookies.split("\n")) {
             c = new Cookie(cs, host);
             if (c.secure && c.belongsTo(host)) {
               this.log("Secure cookie set by " + host + ": " + c);
@@ -179,7 +179,7 @@ var HTTPS = {
 
           this.setUnsafeCookies(browser, unsafeMap);
           msg += " on https://" + host + ": ";
-          for each (c in unsafe) {
+          for (c  of unsafe) {
             if (forced) {
               c.secure = true;
               req.setResponseHeader("Set-Cookie", c.source + ";Secure", true);
@@ -258,7 +258,7 @@ var HTTPS = {
 
     var cs = Cc['@mozilla.org/cookieService;1'].getService(Ci.nsICookieService).getCookieString(uri, req);
 
-    for each (c in dcookies) {
+    for (c  of dcookies) {
       c.secure = dsecure;
       c.save();
       this.log("Toggled secure flag on " + c);
diff --git a/chrome/noscript.jar!/content/noscript/PlacesPrefs.js b/chrome/noscript.jar!/content/noscript/PlacesPrefs.js
index 2b31815..deefcf4 100644
--- a/chrome/noscript.jar!/content/noscript/PlacesPrefs.js
+++ b/chrome/noscript.jar!/content/noscript/PlacesPrefs.js
@@ -15,7 +15,7 @@ var PlacesPrefs = {
   get uri() {
     delete this.uri;
     var tpl = '<h1>%title%</h1><p>%message%</p>';
-    for each(var l in ["title", "message"]) {
+    for (var l  of ["title", "message"]) {
       tpl = tpl.replace('%' + l + '%', ns.getString("bookmarkSync." + l).replace(/</g, '<').replace(/>/g, '>'));
     }
     return this.uri = IOS.newURI(
@@ -103,7 +103,7 @@ var PlacesPrefs = {
         // legacy querystring + hash parsing, see 1.9.2
         var qs = uri.query.replace(/^\?/, '').split("&");
         var couple;
-        for each (var parm in qs) {
+        for (var parm  of qs) {
           couple = parm.split("=");
           ns.setPref(couple[0], decodeURIComponent(couple[1]));
         }
diff --git a/chrome/noscript.jar!/content/noscript/Profiler.js b/chrome/noscript.jar!/content/noscript/Profiler.js
index 6a30291..60b7781 100644
--- a/chrome/noscript.jar!/content/noscript/Profiler.js
+++ b/chrome/noscript.jar!/content/noscript/Profiler.js
@@ -47,7 +47,7 @@ Profiler = {
     }
     function cmp(a,b) a > b ? - 1: a < b ? 1 : 0;
     ar.sort(function(a, b) cmp(a.data.time, b.data.time));
-    for each(let l in ar) {
+    for (let l  of ar) {
       dump(l.call + ": " + l.data.toSource() + "\n");
       if (count-- <= 0) break;
     }
diff --git a/chrome/noscript.jar!/content/noscript/RequestWatchdog.js b/chrome/noscript.jar!/content/noscript/RequestWatchdog.js
index 82aa352..e5329a1 100644
--- a/chrome/noscript.jar!/content/noscript/RequestWatchdog.js
+++ b/chrome/noscript.jar!/content/noscript/RequestWatchdog.js
@@ -50,10 +50,10 @@ RequestWatchdog.prototype = {
   OBSERVED_TOPICS: ["http-on-examine-response", "http-on-examine-merged-response", "http-on-examine-cached-response"],
 
   init: function() {
-    for each (var topic in this.OBSERVED_TOPICS) OS.addObserver(this, topic, true);
+    for (var topic  of this.OBSERVED_TOPICS) OS.addObserver(this, topic, true);
   },
   dispose: function() {
-    for each (var topic in this.OBSERVED_TOPICS) OS.removeObserver(this, topic);
+    for (var topic  of this.OBSERVED_TOPICS) OS.removeObserver(this, topic);
   },
 
   callback: null,
@@ -314,7 +314,7 @@ RequestWatchdog.prototype = {
   },
 
   onCrossSiteRequest: function(channel, origin, browser) {
-    for each (var l in this._listeners) {
+    for (var l  of this._listeners) {
       l.onCrossSiteRequest(channel, origin, browser, this);
     }
   },
@@ -1315,7 +1315,7 @@ var InjectionChecker = {
       while((m = s.match(/\{[^\{\}:]+:[^\{\}]+\}/g))) {
         let prev = s;
 
-        for each(expr in m) {
+        for (expr  of m) {
           if (json) try {
             if (!toStringRx.test(json.decode(expr).toString))
               continue;
@@ -1946,7 +1946,7 @@ var InjectionChecker = {
   checkHTML: function(s) {
      let links = s.match(/\b(?:href|src|(?:form)?action)[\s\0]*=[\s\0]*(?:(["'])[\s\S]*?\1|[^'"<>][^>\s]*)/ig);
      if (links) {
-      for each (let l in links) {
+      for (let l  of links) {
         l = l.replace(/[^=]*=[\s\0]*/i, '');
         l = /^["']/.test(l) ? l.replace(/^(['"])([\s\S]*)\1/g, '$2') : l.replace(/[\s>][\s\S]*/, '');
         if (/^(?:javascript|data):/i.test(l) || this._checkRecursive(l, 3)) return true;
diff --git a/chrome/noscript.jar!/content/noscript/ScriptSurrogate.js b/chrome/noscript.jar!/content/noscript/ScriptSurrogate.js
index ccd282f..b82ffc9 100644
--- a/chrome/noscript.jar!/content/noscript/ScriptSurrogate.js
+++ b/chrome/noscript.jar!/content/noscript/ScriptSurrogate.js
@@ -28,14 +28,14 @@ var ScriptSurrogate = {
   _syncPrefs: function() {
     const prefs = this.prefs;
 
-    for each(let p in ["enabled", "debug", "sandbox"]) this[p] = prefs.getBoolPref(p);
+    for (let p  of ["enabled", "debug", "sandbox"]) this[p] = prefs.getBoolPref(p);
 
     // inclusions don't work with sandbox on Gecko < 2, but may crash without on Gecko > 2
     this.sandboxInclusions = this.sandbox && (ns.geckoVersionCheck("2") >= 0);
 
     const map = {__proto__: null};
     var key;
-    for each(key in prefs.getChildList("", {})) {
+    for (key  of prefs.getChildList("", {})) {
       this._parseMapping(prefs, key, map);
     }
 
diff --git a/chrome/noscript.jar!/content/noscript/URIValidator.js b/chrome/noscript.jar!/content/noscript/URIValidator.js
index 32e6b5d..14ea7cc 100644
--- a/chrome/noscript.jar!/content/noscript/URIValidator.js
+++ b/chrome/noscript.jar!/content/noscript/URIValidator.js
@@ -31,7 +31,7 @@ var URIValidator = {
     this.validators = {};
     this.prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService)
       .getBranch("noscript.urivalid.").QueryInterface(Ci.nsIPrefBranch2);
-    for each(var key in this.prefs.getChildList("", {})) {
+    for (var key  of this.prefs.getChildList("", {})) {
       this.parseValidator(key);
     }
     this.prefs.addObserver("", this, true);
diff --git a/chrome/noscript.jar!/content/noscript/about.xul b/chrome/noscript.jar!/content/noscript/about.xul
index 010fdf5..84c6264 100644
--- a/chrome/noscript.jar!/content/noscript/about.xul
+++ b/chrome/noscript.jar!/content/noscript/about.xul
@@ -48,7 +48,7 @@ function about_onload() {
   
   var str = getString("aboutTitle",["NoScript"]);
   if(str) document.title = str;
-  str = getString("version", ["2.9"]);
+  str = getString("version", ["2.9.0.2"]);
   if(str) document.getElementById("extensionVersion").setAttribute("value", str);
   
   setString("extensionDescription",null,"extensions.{73a6fe31-595d-460b-a920-fcc0f8843232}.description");
@@ -86,7 +86,7 @@ function about_open(url, features) {
 <hbox id="headBox" align="end">
 <vbox flex="1">
 <label value="NoScript" id="extensionName" crop="right"/>
-<label value="Version 2.9" id="extensionVersion" crop="right"/>
+<label value="Version 2.9.0.2" id="extensionVersion" crop="right"/>
 </vbox>
 <vbox flex="1" align="end">
 <hbox align="end">
@@ -164,7 +164,7 @@ function about_open(url, features) {
 <hbox>
 <label id="license" class="text-link" tooltiptext="Read end-user license" onclick="about_open('chrome://noscript/content/NoScript_License.txt')">License</label>
 <spacer flex="1"/>
-<label id="changelog" class="text-link" align="center" tooltiptext="See Changelog" onclick="about_open('https://noscript.net/changelog#2.9')">Changelog</label>
+<label id="changelog" class="text-link" align="center" tooltiptext="See Changelog" onclick="about_open('https://noscript.net/changelog#2.9.0.2')">Changelog</label>
 <spacer flex="1"/>
 <label id="extensionHomepage" class="text-link" tooltiptext="Visit Extension Home Page" onclick="about_open('https://noscript.net')">https://noscript.net</label>
 </hbox>
diff --git a/chrome/noscript.jar!/content/noscript/noscriptBM.js b/chrome/noscript.jar!/content/noscript/noscriptBM.js
index 91a6667..9a3a5af 100644
--- a/chrome/noscript.jar!/content/noscript/noscriptBM.js
+++ b/chrome/noscript.jar!/content/noscript/noscriptBM.js
@@ -69,7 +69,7 @@ var noscriptBM = {
     pu.__ns = noscriptUtil.service;
     pu.checkURLSecurity = pu.__ns.placesCheckURLSecurity;
     
-    for each (var method in ["openNodeIn", "openSelectedNodeWithEvent"]) 
+    for (var method  of ["openNodeIn", "openSelectedNodeWithEvent"]) 
       if (method in pu) pu[method].__noscriptPatched = true;
   },
   
@@ -99,7 +99,7 @@ var noscriptBM = {
     window.setTimeout(noscriptBM.delayedInit, 50);
   },
   delayedInit: function() {
-    for each (let f in ["getShortcutOrURIAndPostData" /* Fx >= 25 */, "getShortcutOrURI"]) {
+    for (let f  of ["getShortcutOrURIAndPostData" /* Fx >= 25 */, "getShortcutOrURI"]) {
       if (f in window) {
         let getShortcut = window[f];
         let replacement = function(aURL) {
diff --git a/chrome/noscript.jar!/content/noscript/noscriptOptions.js b/chrome/noscript.jar!/content/noscript/noscriptOptions.js
index 52ef00d..dc031e5 100644
--- a/chrome/noscript.jar!/content/noscript/noscriptOptions.js
+++ b/chrome/noscript.jar!/content/noscript/noscriptOptions.js
@@ -23,7 +23,7 @@ var nsopt = {
     abeOpts.init();
 
     var locked = ns.locked;
-    for each (var widget in ["urlText","urlListDisplay", "jsglobal", "addButton", "removeButton", "importButton", "exportButton"]) {
+    for (var widget  of ["urlText","urlListDisplay", "jsglobal", "addButton", "removeButton", "importButton", "exportButton"]) {
       this[widget] = $(widget);
       if(locked) this[widget].disabled = true;
     }
@@ -625,7 +625,7 @@ var abeOpts = {
         var sel = this.selectedRS && this.selectedRS.name || "USER";
         this.selectedRS = null;
         var i, name;
-        for each (var rs in rulesets) {
+        for (var rs  of rulesets) {
           name = rs.name;
           map[name] = rs;
           i = l.appendItem(name, name);
@@ -716,7 +716,7 @@ var abeOpts = {
   },
 
   ShowHideABEError: function(hidden) {
-    for each (let n in document.getElementsByClassName("abe-error-element")) {
+    for (let n  of document.getElementsByClassName("abe-error-element")) {
       n.hidden = hidden;
     }
   },
@@ -760,7 +760,7 @@ var nsWhitelistTreeView = {
     if (psl.length == 0) return;
     if (props) {
       let aserv=Cc["@mozilla.org/atom-service;1"].getService(Ci.nsIAtomService);
-      for each (let s in psl) props.AppendElement(aserv.getAtom(s));
+      for (let s  of psl) props.AppendElement(aserv.getAtom(s));
     }
     else { return psl.join(" ") }
   },
diff --git a/chrome/noscript.jar!/content/noscript/noscriptOverlay.js b/chrome/noscript.jar!/content/noscript/noscriptOverlay.js
index 0050a9a..03ab5de 100644
--- a/chrome/noscript.jar!/content/noscript/noscriptOverlay.js
+++ b/chrome/noscript.jar!/content/noscript/noscriptOverlay.js
@@ -431,7 +431,7 @@ return noscriptUtil.service ? {
         buttons.push(statusIcon);
       }
       // copy status bar menus
-      for each(let button in buttons) {
+      for (let button  of buttons) {
         if (!button) continue;
         let localPopup = button.firstChild;
         if (!(localPopup && /popup/.test(localPopup.tagName))) {
@@ -610,7 +610,7 @@ return noscriptUtil.service ? {
 
       with (seps.untrusted) {
         if ((extraNode = nextSibling) != pluginsMenu) {
-          for each(node in [pluginsMenu, recentMenu, untrustedMenu]) {
+          for (node  of [pluginsMenu, recentMenu, untrustedMenu]) {
             parentNode.insertBefore(node, extraNode);
           }
         }
@@ -620,7 +620,7 @@ return noscriptUtil.service ? {
 
       extraNode = $("noscript-mi-recent-blocked-reset"); // save reset command
       // descend from menus to popups and clear children
-      for each(node in [pluginsMenu = pluginsMenu.firstChild, recentMenu = recentMenu.firstChild, untrustedMenu = untrustedMenu.firstChild])
+      for (node  of [pluginsMenu = pluginsMenu.firstChild, recentMenu = recentMenu.firstChild, untrustedMenu = untrustedMenu.firstChild])
         while(node.firstChild) node.removeChild(node.firstChild);
 
       recentMenu.appendChild(extraNode);
@@ -1009,7 +1009,7 @@ return noscriptUtil.service ? {
     // "allow page" accelerators
     {
       let accel = ns.getPref("menuAccelerators");
-      for each(let el in [node, allowPageMenuItem])
+      for (let el  of [node, allowPageMenuItem])
         if (accel)
           el.setAttribute("accesskey", el.getAttribute("noaccesskey"));
         else
@@ -1038,7 +1038,7 @@ return noscriptUtil.service ? {
     while((mi = m.lastChild)) {
       a.push(m.removeChild(mi));
     }
-    for each(mi in a) {
+    for (mi  of a) {
       m.appendChild(mi);
     }
   },
@@ -1092,7 +1092,7 @@ return noscriptUtil.service ? {
 
     var df = document.createDocumentFragment();
     var node;
-    for each(var filterName in filterNames) {
+    for (var filterName  of filterNames) {
       menu = menus[filterName];
       menu.items.sort(function(a, b) { return a.domain > b.domain ? 1 : a.domain < b.domain ? -1 : 0; })
       node = df.appendChild(document.createElement("menu"));
@@ -1101,7 +1101,7 @@ return noscriptUtil.service ? {
 
       parent = node.appendChild(document.createElement("menupopup"));
       parent.__ef__ = menu.filter;
-      for each(item in menu.items) {
+      for (item  of menu.items) {
         node = parent.appendChild(document.createElement("menuitem"));
         node.setAttribute("label", ns.getString("ef.activate", [item.domain]));
         node.setAttribute("type", "checkbox");
@@ -1146,7 +1146,7 @@ return noscriptUtil.service ? {
     var pluginExtras = [],
         seen = [];
     var i = 0;
-    for each(let egroup in extras) {
+    for (let egroup  of extras) {
       for (let j = egroup.length; j-- > 0;) {
         let e = egroup[j];
 
@@ -1180,7 +1180,7 @@ return noscriptUtil.service ? {
       noscriptOverlay.menuPluginExtras = pluginExtras;
       let pluginSites = {};
       seen = [];
-      for each(let e in pluginExtras) {
+      for (let e  of pluginExtras) {
         if(!(e.site && e.mime) || ns.isAllowedObject(e.site, e.mime, e.site, e.originSite))
           continue;
 
@@ -1205,7 +1205,7 @@ return noscriptUtil.service ? {
         i = 0;
         for (let site in pluginSites) {
           menu.appendChild(document.createElement("menuseparator"));
-          for each(let e in pluginSites[site]) {
+          for (let e  of pluginSites[site]) {
             let where = e.site;
             if (e.originSite) where += " (" + e.originSite + ")";
             let mime = e.mime;
@@ -2247,7 +2247,7 @@ return noscriptUtil.service ? {
     register: function() {
       const ns = this.ns;
       const os = ns.os;
-      for each (let t in this._topics){
+      for (let t  of this._topics){
         os.addObserver(this, t, true);
       }
       ns.prefs.addObserver("", this, true);
@@ -2260,7 +2260,7 @@ return noscriptUtil.service ? {
         "stickyUI.liveReload",
         "hoverUI"
         ];
-      for each (let p in initPrefs) {
+      for (let p  of initPrefs) {
         this.observe(null, null, p);
       }
       this._registered = true;
@@ -2268,7 +2268,7 @@ return noscriptUtil.service ? {
     remove: function() {
       const ns = this.ns;
       const os = ns.os;
-      for each (let t in this._topics){
+      for (let t  of this._topics){
         os.removeObserver(this, t);
       }
       ns.prefs.removeObserver("", this);
@@ -2410,7 +2410,7 @@ return noscriptUtil.service ? {
     };
     var aa = null;
     var j;
-    for each(var t in this._tags) {
+    for (var t  of this._tags) {
       var oo = d.getElementsByTagName(t);
       j = oo.length;
       if (j) {
@@ -2592,7 +2592,7 @@ return noscriptUtil.service ? {
 
     customizableUIListener: {
       onWidgetAfterDOMChange: function(aWidget) {
-        for each(let b in ['noscript-tbb', 'noscript-statusLabel']) {
+        for (let b  of ['noscript-tbb', 'noscript-statusLabel']) {
           if(b == aWidget.id) {
             window.setTimeout(function() { noscriptOverlay.initPopups(); }, 0);
             return;
@@ -2766,7 +2766,7 @@ return noscriptUtil.service ? {
   },
 
 
-  wrapBrowserAccess: function() { // called onload
+  wrapBrowserAccess: function(retryCount) { // called onload
     if (!window.nsBrowserAccess) {
       noscriptOverlay.ns.log("[NoScript] nsBrowserAccess not found?!");
       return;
@@ -2777,13 +2777,13 @@ return noscriptUtil.service ? {
     }
 
     if (!(window.browserDOMWindow && browserDOMWindow.wrappedJSObject && (browserDOMWindow.wrappedJSObject instanceof nsBrowserAccess))) {
-      if (!'retryCount' in arguments.callee) {
-        arguments.callee.retryCount = 10;
-      } else if (arguments.callee.retryCount) {
-        noscriptOverlay.ns.log("[NoScript] browserDOMWindow not found or not set up, retrying " + arguments.callee.retryCount + " times");
-        arguments.callee.retryCount--;
+      if (!retryCount) {
+        retryCount = 0;
+      } else if (retryCount >= 10) {
+        noscriptOverlay.ns.log("[NoScript] browserDOMWindow not found in 10 attempts, giving up.");
+        return;
       }
-      window.setTimeout(arguments.callee, 0);
+      window.setTimeout(noscriptOverlay.wrapBrowserAccess, 0, ++retryCount);
       return;
     }
 
@@ -2902,7 +2902,7 @@ return noscriptUtil.service ? {
       window.addEventListener("load", function(ev) {
         ev.currentTarget.removeEventListener("load", arguments.callee, false);
         var node = null;
-        for each(var id in ["noscript-context-menu", "noscript-tbb", "noscript-statusIcon"]) {
+        for (var id  of ["noscript-context-menu", "noscript-tbb", "noscript-statusIcon"]) {
           node = $(id);
           if (node) node.hidden = true;
         }
diff --git a/chrome/noscript.jar!/locale/bg-BG/noscript/noscript.dtd b/chrome/noscript.jar!/locale/bg-BG/noscript/noscript.dtd
index 2ef350c..588e14f 100644
--- a/chrome/noscript.jar!/locale/bg-BG/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/bg-BG/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Настройки…">
 <!ENTITY noscriptOptions.accesskey "Н">
 <!ENTITY noscriptOptionsLong "Настройки на NoScript">
-<!ENTITY noscriptAbout "За NoScript 2.9">
+<!ENTITY noscriptAbout "За NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Можете да зададете в кои уеб-сайтове е позволено да се използват скриптовете. Напишете адреса или домейна (например "http://www.site.com" или "site.com") на сайта, който искате да разрешите и натиснете Разреши.">
 <!ENTITY noscriptWebAddress "Адрес на уеб-сайта:">
 <!ENTITY noscriptAllow "Разреши">
diff --git a/chrome/noscript.jar!/locale/ca-AD/noscript/noscript.dtd b/chrome/noscript.jar!/locale/ca-AD/noscript/noscript.dtd
index aed8a53..485ee6f 100644
--- a/chrome/noscript.jar!/locale/ca-AD/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/ca-AD/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcions...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcions de NoScript">
-<!ENTITY noscriptAbout "Quant a NoScript 2.9">
+<!ENTITY noscriptAbout "Quant a NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Podeu especificar quins llocs web poden executar seqüències. El tipus d'adreça o el domini (p.ex. "http://www.site.com" o "site.com") del lloc al qual voleu donar permissos i feu clic a Permet.">
 <!ENTITY noscriptWebAddress "Adreça del lloc web:">
 <!ENTITY noscriptAllow "Permet">
diff --git a/chrome/noscript.jar!/locale/cs-CZ/noscript/noscript.dtd b/chrome/noscript.jar!/locale/cs-CZ/noscript/noscript.dtd
index ebaf8f7..284be70 100644
--- a/chrome/noscript.jar!/locale/cs-CZ/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/cs-CZ/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Nastavení...">
 <!ENTITY noscriptOptions.accesskey "N">
 <!ENTITY noscriptOptionsLong "Nastavení NoScript">
-<!ENTITY noscriptAbout "O rozšíření NoScript 2.9">
+<!ENTITY noscriptAbout "O rozšíření NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Můžete si zvolit, které webové stránky mají povoleno spouštět skripty. Zadejte adresu (např. http://www.site.com nebo site.com) na které se nachází stránka, pro kterou chcete skripty povolit a klepněte na Povolit.">
 <!ENTITY noscriptWebAddress "Adresa webové stránky:">
 <!ENTITY noscriptAllow "Povolit">
diff --git a/chrome/noscript.jar!/locale/cy-GB/noscript/noscript.dtd b/chrome/noscript.jar!/locale/cy-GB/noscript/noscript.dtd
index e4f97d4..3ba465c 100644
--- a/chrome/noscript.jar!/locale/cy-GB/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/cy-GB/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opsiynau">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opsiynau NoScript">
-<!ENTITY noscriptAbout "Yngylch NoScript 2.9">
+<!ENTITY noscriptAbout "Yngylch NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Cewch enwi pa wefannau sy'n cael rhedeg sgriptiau. Teipiwch gyfeiriad neu barth (e.e. "http://www.site.com" neu "site.com") y safle rydych eisiau ei ganiatau ac wedyn cliciwch Caniatau.">
 <!ENTITY noscriptWebAddress "Cyfeiriad wefan">
 <!ENTITY noscriptAllow "Caniatau">
diff --git a/chrome/noscript.jar!/locale/da/noscript/noscript.dtd b/chrome/noscript.jar!/locale/da/noscript/noscript.dtd
index 583a0c3..cd520a7 100644
--- a/chrome/noscript.jar!/locale/da/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/da/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Indstillinger…">
 <!ENTITY noscriptOptions.accesskey "I">
 <!ENTITY noscriptOptionsLong "NoScript Indstillinger">
-<!ENTITY noscriptAbout "Om NoScript 2.9">
+<!ENTITY noscriptAbout "Om NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Du kan angive hvilke websteder der må udføre scripts. Indtast adresse eller domæne (f.eks. "http://www.site.com" eller "site.com") på det websted du ønsker at tillade og klik på Tillad.">
 <!ENTITY noscriptWebAddress "Webstedets adresse:">
 <!ENTITY noscriptAllow "Tillad">
diff --git a/chrome/noscript.jar!/locale/de/noscript/noscript.dtd b/chrome/noscript.jar!/locale/de/noscript/noscript.dtd
index 6ba13d5..f6c4cfb 100644
--- a/chrome/noscript.jar!/locale/de/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/de/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Einstellungen…">
 <!ENTITY noscriptOptions.accesskey "E">
 <!ENTITY noscriptOptionsLong "NoScript - Einstellungen">
-<!ENTITY noscriptAbout "Über NoScript 2.9…">
+<!ENTITY noscriptAbout "Über NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "Sie können festlegen, welchen Websites Sie das Ausführen von Skripten erlauben möchten. Geben Sie bitte die exakte Adresse oder die Domain der Website ein (z.B. "http://www.site.com" oder "site.com"), für die Sie dies zulassen möchten, und klicken Sie dann auf "Erlauben".">
 <!ENTITY noscriptWebAddress "Adresse der Website:">
 <!ENTITY noscriptAllow "Erlauben">
diff --git a/chrome/noscript.jar!/locale/el/noscript/noscript.dtd b/chrome/noscript.jar!/locale/el/noscript/noscript.dtd
index 150e80e..8cd3822 100644
--- a/chrome/noscript.jar!/locale/el/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/el/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Επιλογές">
 <!ENTITY noscriptOptions.accesskey "Ε">
 <!ENTITY noscriptOptionsLong "Επιλογές NoScript">
-<!ENTITY noscriptAbout "Περί NoScript 2.9">
+<!ENTITY noscriptAbout "Περί NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Μπορείτε να καθορίσετε για ποιους ιστότοπους θα επιτρέπεται η εκτέλεση σεναρίων εντολών. Πληκτρολογήστε τη διεύθυνση τομέα (πχ. "http://www.site.com" or "site.com") του ιστότοπου που θέλετε και μετά κάντε κλικ στο «Να επιτρέπεται»">
 <!ENTITY noscriptWebAddress "Διεύθυνση ιστότοπου">
 <!ENTITY noscriptAllow "Να επιτρέπεται">
diff --git a/chrome/noscript.jar!/locale/en-GB/noscript/noscript.dtd b/chrome/noscript.jar!/locale/en-GB/noscript/noscript.dtd
index 887eed9..f9a3cd2 100644
--- a/chrome/noscript.jar!/locale/en-GB/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/en-GB/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 2.9…">
+<!ENTITY noscriptAbout "About NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/noscript.jar!/locale/en-US/noscript/noscript.dtd b/chrome/noscript.jar!/locale/en-US/noscript/noscript.dtd
index dbf66b4..82b3060 100644
--- a/chrome/noscript.jar!/locale/en-US/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/en-US/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 2.9…">
+<!ENTITY noscriptAbout "About NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/noscript.jar!/locale/eo/noscript/noscript.dtd b/chrome/noscript.jar!/locale/eo/noscript/noscript.dtd
index 499367d..a8d827d 100644
--- a/chrome/noscript.jar!/locale/eo/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/eo/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcioj…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcioj de NoScript">
-<!ENTITY noscriptAbout "Pri NoScript 2.9…">
+<!ENTITY noscriptAbout "Pri NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "Vi povas specifi, kiuj ttt-ejoj rajtu plenumigi skriptojn. Entajpu la adreson aŭ la domajnonomon (ekz. “http://www.retejo.org” aŭ “retejo.org”) de la ttt-ejo, kiun vi volas rajtigi, kaj poste alklaku “Rajtigi”.">
 <!ENTITY noscriptWebAddress "Adreso de retpaĝaro:">
 <!ENTITY noscriptAllow "Rajtigi">
diff --git a/chrome/noscript.jar!/locale/es-AR/noscript/noscript.dtd b/chrome/noscript.jar!/locale/es-AR/noscript/noscript.dtd
index baa2072..048ecce 100644
--- a/chrome/noscript.jar!/locale/es-AR/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/es-AR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opciones…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opciones de NoScript">
-<!ENTITY noscriptAbout "Acerca de NoScript 2.9">
+<!ENTITY noscriptAbout "Acerca de NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Puede especificar a cuáles sitios web le permitirá ejecutar scripts. Escriba la dirección o el dominio (por ejemplo, "http://www.sitio.com" o "sitio.com") del sitio y luego haga clic en Permitir.">
 <!ENTITY noscriptWebAddress "Dirección del sitio web:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/noscript.jar!/locale/es-CL/noscript/noscript.dtd b/chrome/noscript.jar!/locale/es-CL/noscript/noscript.dtd
index f5d1ba4..60aae5a 100644
--- a/chrome/noscript.jar!/locale/es-CL/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/es-CL/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opciones de NoScript">
-<!ENTITY noscriptAbout "About NoScript 2.9…">
+<!ENTITY noscriptAbout "About NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/noscript.jar!/locale/es-ES/noscript/noscript.dtd b/chrome/noscript.jar!/locale/es-ES/noscript/noscript.dtd
index 567c0cb..1b8c764 100644
--- a/chrome/noscript.jar!/locale/es-ES/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/es-ES/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opciones…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Configuración de NoScript">
-<!ENTITY noscriptAbout "Acerca de NoScript 2.9">
+<!ENTITY noscriptAbout "Acerca de NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Aquí puede especificar las páginas web a las que va a permitir ejecutar código JavaScript. Escriba la dirección de la web que quiera incluir (ej. "http://www.paginaweb.com" o "paginaweb.com") y después pulse "Permitir".">
 <!ENTITY noscriptWebAddress "Dirección de la página web:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/noscript.jar!/locale/et-EE/noscript/noscript.dtd b/chrome/noscript.jar!/locale/et-EE/noscript/noscript.dtd
index abd596c..741cd07 100644
--- a/chrome/noscript.jar!/locale/et-EE/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/et-EE/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Sätted…">
 <!ENTITY noscriptOptions.accesskey "S">
 <!ENTITY noscriptOptionsLong "NoScripti sätted">
-<!ENTITY noscriptAbout "Täpsemalt lisast NoScript 2.9…">
+<!ENTITY noscriptAbout "Täpsemalt lisast NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "Sa saad määrata, millistel veebilehtedel lubatakse skripte käivitada. Kirjuta veebilehe aadress või domeeni, mida soovid lubada (nt "http://www.site.com" või "site.com") ja klõpsa Luba nuppu">
 <!ENTITY noscriptWebAddress "Veebilehe aadress:">
 <!ENTITY noscriptAllow "Luba">
diff --git a/chrome/noscript.jar!/locale/eu/noscript/noscript.dtd b/chrome/noscript.jar!/locale/eu/noscript/noscript.dtd
index 05ef5aa..627b6a0 100644
--- a/chrome/noscript.jar!/locale/eu/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/eu/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Aukerak:">
 <!ENTITY noscriptOptions.accesskey "A">
 <!ENTITY noscriptOptionsLong "NoScript aukerak">
-<!ENTITY noscriptAbout "NoScript 2.9-eri buruz:">
+<!ENTITY noscriptAbout "NoScript 2.9.0.2-eri buruz:">
 <!ENTITY noscriptPermissionsText "Zein webgunek script-ak exekuta ditzakeen zehaztu dezakezu. Idatzi script-ak erabiltzea onartzea nahi duzun domeinuaren izena (adib. "http://www.gunea.org" or "gunea.org") eta Onartu sakatu.">
 <!ENTITY noscriptWebAddress "Webgunearen helbidea:">
 <!ENTITY noscriptAllow "Onartu">
diff --git a/chrome/noscript.jar!/locale/fa-IR/noscript/noscript.dtd b/chrome/noscript.jar!/locale/fa-IR/noscript/noscript.dtd
index afb626b..c10d2fa 100644
--- a/chrome/noscript.jar!/locale/fa-IR/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/fa-IR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "تنظیمات...">
 <!ENTITY noscriptOptions.accesskey "ت">
 <!ENTITY noscriptOptionsLong "تنظیمات NoScript">
-<!ENTITY noscriptAbout "درباره NoScript 2.9">
+<!ENTITY noscriptAbout "درباره NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "شما می توانید سایت هایی را که اجازه اجرای اسکریپت دارند را مشخص کنید.آدرس سایت یا نام دامنه را وارد کنید.(به عنوان مثال "http://www.site.com" یا "site.com")">
 <!ENTITY noscriptWebAddress "آدرس وب سایت :">
 <!ENTITY noscriptAllow "اجازه دادن">
diff --git a/chrome/noscript.jar!/locale/fi/noscript/noscript.dtd b/chrome/noscript.jar!/locale/fi/noscript/noscript.dtd
index 1828647..87831d5 100644
--- a/chrome/noscript.jar!/locale/fi/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/fi/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Asetukset…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript asetukset">
-<!ENTITY noscriptAbout "Tietoja NoScript 2.9istä…">
+<!ENTITY noscriptAbout "Tietoja NoScript 2.9.0.2istä…">
 <!ENTITY noscriptPermissionsText "Voit määrittää verkkosivut joiden sallitaan suorittaa scriptejä. Kirjoita verkko-osoite tai verkkonimi (esim. "http://www.site.com" tai "site.com") jonka haluat sallia ja paina Salli.">
 <!ENTITY noscriptWebAddress "Verkkosivun osoite:">
 <!ENTITY noscriptAllow "Salli">
diff --git a/chrome/noscript.jar!/locale/fr/noscript/noscript.dtd b/chrome/noscript.jar!/locale/fr/noscript/noscript.dtd
index b4c4484..d6394ba 100644
--- a/chrome/noscript.jar!/locale/fr/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/fr/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Options de NoScript">
-<!ENTITY noscriptAbout "À propos de NoScript 2.9…">
+<!ENTITY noscriptAbout "À propos de NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "Il est possible de spécifier quels sites Web sont autorisés à exécuter des scripts. Saisissez l'adresse exacte du site que vous désirez autoriser puis cliquez sur Autoriser.">
 <!ENTITY noscriptWebAddress "Adresse du site Web :">
 <!ENTITY noscriptAllow "Autoriser">
diff --git a/chrome/noscript.jar!/locale/gl-ES/noscript/noscript.dtd b/chrome/noscript.jar!/locale/gl-ES/noscript/noscript.dtd
index ab26cca..37b5483 100644
--- a/chrome/noscript.jar!/locale/gl-ES/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/gl-ES/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcións...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcións de NoScript">
-<!ENTITY noscriptAbout "Acerca de NoScript 2.9">
+<!ENTITY noscriptAbout "Acerca de NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Podes especificar que páxinas web poden executar scripts. Teclea o enderezo ou o dominio (por exemplo "http://www.paxina.com" ou "paxina.com") do sitio que queres autorizar e despois preme en "Permitir".">
 <!ENTITY noscriptWebAddress "Enderezo web:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/noscript.jar!/locale/he-IL/noscript/noscript.dtd b/chrome/noscript.jar!/locale/he-IL/noscript/noscript.dtd
index 0e3bb70..1ee85b4 100644
--- a/chrome/noscript.jar!/locale/he-IL/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/he-IL/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "הגדרות...">
 <!ENTITY noscriptOptions.accesskey "">
 <!ENTITY noscriptOptionsLong "NoScript הגדרות של">
-<!ENTITY noscriptAbout "אודות NoScript 2.9">
+<!ENTITY noscriptAbout "אודות NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "ציין אילו אתרים יכולים לקבל היתר להפעלת קבצי Script. הקלד את כתובת האתר או את שם התחום (כגון: "http://www.site.com" או "site.com") ולאחר מכן לחץ על התר.">
 <!ENTITY noscriptWebAddress "כתובת/תחום:">
 <!ENTITY noscriptAllow "התר">
diff --git a/chrome/noscript.jar!/locale/hr-HR/noscript/noscript.dtd b/chrome/noscript.jar!/locale/hr-HR/noscript/noscript.dtd
index ebcc8b6..60f2cbd 100644
--- a/chrome/noscript.jar!/locale/hr-HR/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/hr-HR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcije...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Opcije">
-<!ENTITY noscriptAbout "O NoScript 2.9">
+<!ENTITY noscriptAbout "O NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Možete odrediti koje web stranice imaju dopuštenje za izvođenje skripti. Upišite adresu ili domenu (npr. "http://www.stranica.hr" ili "stranica.hr") stranice kojoj želite dopustiti i kliknite na Dopusti.">
 <!ENTITY noscriptWebAddress "Adresa web stranice:">
 <!ENTITY noscriptAllow "Dopusti">
diff --git a/chrome/noscript.jar!/locale/hsb/noscript/noscript.dtd b/chrome/noscript.jar!/locale/hsb/noscript/noscript.dtd
index d814594..dce8077 100644
--- a/chrome/noscript.jar!/locale/hsb/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/hsb/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcije…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcije NoScript">
-<!ENTITY noscriptAbout "Wo NoScript 2.9…">
+<!ENTITY noscriptAbout "Wo NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "Móžeće podać, kotre websydła smědźa skripty wuwjesć. Zapisajće adresu abo domenu  (na př. "http://www.site.com" abo "site.com") websydła, kotremuž chceće to dowolić a klikńće potom na "Dowolić".">
 <!ENTITY noscriptWebAddress "Adresa websydła:">
 <!ENTITY noscriptAllow "Dowolić">
diff --git a/chrome/noscript.jar!/locale/hu-HU/noscript/noscript.dtd b/chrome/noscript.jar!/locale/hu-HU/noscript/noscript.dtd
index 2eaefef..661c655 100644
--- a/chrome/noscript.jar!/locale/hu-HU/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/hu-HU/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Beállítások…">
 <!ENTITY noscriptOptions.accesskey "B">
 <!ENTITY noscriptOptionsLong "A NoScript beállításai">
-<!ENTITY noscriptAbout "A NoScript 2.9 névjegye">
+<!ENTITY noscriptAbout "A NoScript 2.9.0.2 névjegye">
 <!ENTITY noscriptPermissionsText "Megadhatja, hogy mely webhelyek számára engedélyezi a parancsfájlok futtatását. Írja be az engedélyezni kívánt webhely címét vagy tartomány nevét (pl. "http://www.webhely.hu" vagy "webhely.hu"), majd kattintson az Engedélyezés gombra.">
 <!ENTITY noscriptWebAddress "A webhely címe:">
 <!ENTITY noscriptAllow "Engedélyezés">
diff --git a/chrome/noscript.jar!/locale/id-ID/noscript/noscript.dtd b/chrome/noscript.jar!/locale/id-ID/noscript/noscript.dtd
index 7ab02e0..99b659c 100644
--- a/chrome/noscript.jar!/locale/id-ID/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/id-ID/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Pilihan...">
 <!ENTITY noscriptOptions.accesskey "P">
 <!ENTITY noscriptOptionsLong "Pilihan NoScript">
-<!ENTITY noscriptAbout "Tentang NoScript 2.9">
+<!ENTITY noscriptAbout "Tentang NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Anda dapat menentukan situs web mana yang diijinkan menjalankan naskah. Masukkan alamat atau domain (contoh: "http://www.site.com" atau "site.com") yang akan diberi ijin kemudian klik Ijinkan.">
 <!ENTITY noscriptWebAddress "Alamat situs web:">
 <!ENTITY noscriptAllow "Ijinkan">
diff --git a/chrome/noscript.jar!/locale/it/noscript/noscript.dtd b/chrome/noscript.jar!/locale/it/noscript/noscript.dtd
index 2c48849..6d4ea88 100644
--- a/chrome/noscript.jar!/locale/it/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/it/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opzioni…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opzioni NoScript">
-<!ENTITY noscriptAbout "Informazioni su NoScript 2.9…">
+<!ENTITY noscriptAbout "Informazioni su NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "Qui si possono indicare i siti per i quali l'esecuzione degli script è consentita. Digitare l'indirizzo o il dominio (es. "http://www.sito.com" oppure "sito.com")  e fare clic su Permetti.">
 <!ENTITY noscriptWebAddress "Indirizzo del sito:">
 <!ENTITY noscriptAllow "Permetti">
diff --git a/chrome/noscript.jar!/locale/ja-JP/noscript/noscript.dtd b/chrome/noscript.jar!/locale/ja-JP/noscript/noscript.dtd
index 2ff8946..b477f79 100644
--- a/chrome/noscript.jar!/locale/ja-JP/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/ja-JP/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "オプション...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript オプション">
-<!ENTITY noscriptAbout "NoScript 2.9について...">
+<!ENTITY noscriptAbout "NoScript 2.9.0.2について...">
 <!ENTITY noscriptPermissionsText "JavaScriptを許可するサイトを指定する事ができます。許可したいサイトのアドレスかドメインを入力して、ボタンを押してください。(例: "http://www.site.com" または "site.com")">
 <!ENTITY noscriptWebAddress "ウェブサイトのアドレス:">
 <!ENTITY noscriptAllow "許可する">
diff --git a/chrome/noscript.jar!/locale/kk-KZ/noscript/noscript.dtd b/chrome/noscript.jar!/locale/kk-KZ/noscript/noscript.dtd
index 99f2b49..032bc15 100644
--- a/chrome/noscript.jar!/locale/kk-KZ/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/kk-KZ/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Баптаулары">
 <!ENTITY noscriptOptions.accesskey "Б">
 <!ENTITY noscriptOptionsLong "NoScript баптаулары">
-<!ENTITY noscriptAbout "NoScript 2.9 туралы...">
+<!ENTITY noscriptAbout "NoScript 2.9.0.2 туралы...">
 <!ENTITY noscriptPermissionsText "Қай сайттарға JavaScript орындауға рұқсат екенін көрсете аласыз. Рұқсат етілетін сайттың домен адресін енгізіңіз (мысалы, "http://www.site.com" немесе "site.com"), содан кейін Рұқсат ету басыңыз.">
 <!ENTITY noscriptWebAddress "Веб-сайт адресі:">
 <!ENTITY noscriptAllow "Рұқсат ету">
diff --git a/chrome/noscript.jar!/locale/km-KH/noscript/noscript.dtd b/chrome/noscript.jar!/locale/km-KH/noscript/noscript.dtd
index 1de015c..0e32ccf 100644
--- a/chrome/noscript.jar!/locale/km-KH/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/km-KH/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 2.9">
+<!ENTITY noscriptAbout "About NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/noscript.jar!/locale/ko-KR/noscript/noscript.dtd b/chrome/noscript.jar!/locale/ko-KR/noscript/noscript.dtd
index 1ea7ef3..095fbd3 100644
--- a/chrome/noscript.jar!/locale/ko-KR/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/ko-KR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "옵션...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 옵션">
-<!ENTITY noscriptAbout "NoScript 2.9 정보...">
+<!ENTITY noscriptAbout "NoScript 2.9.0.2 정보...">
 <!ENTITY noscriptPermissionsText "스크립트 실행을 허용할 웹 사이트를 지정할 수 있습니다. 스크립트를 허용할 사이트의 주소나 도메인 (예를 들면, "http://www.site.com" 또는 "site.com")을 입력한 후 [허용] 버튼을 클릭합니다.">
 <!ENTITY noscriptWebAddress "웹 사이트 주소">
 <!ENTITY noscriptAllow "허용">
diff --git a/chrome/noscript.jar!/locale/lt/noscript/noscript.dtd b/chrome/noscript.jar!/locale/lt/noscript/noscript.dtd
index 9182ff0..9d6e399 100644
--- a/chrome/noscript.jar!/locale/lt/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/lt/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Nuostatos...">
 <!ENTITY noscriptOptions.accesskey "N">
 <!ENTITY noscriptOptionsLong "NoScript nuostatos">
-<!ENTITY noscriptAbout "Apie NoScript 2.9">
+<!ENTITY noscriptAbout "Apie NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Jūs galite nurodyti, kurioms interneto svetainėms suteikiamas leidimas vykdyti programinius kodus. Įveskite adresą arba domeną (pvz., "http://www.svetaine.lt" arba "svetaine.lt") svetainės, kuriai norite suteikti leidimą ir spauskite Leisti.">
 <!ENTITY noscriptWebAddress "Interneto svetainės adresas:">
 <!ENTITY noscriptAllow "Leisti">
diff --git a/chrome/noscript.jar!/locale/mk-MK/noscript/noscript.dtd b/chrome/noscript.jar!/locale/mk-MK/noscript/noscript.dtd
index e6bca7e..2ac6ba2 100644
--- a/chrome/noscript.jar!/locale/mk-MK/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/mk-MK/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Опции...">
 <!ENTITY noscriptOptions.accesskey "О">
 <!ENTITY noscriptOptionsLong "NoScript Опции">
-<!ENTITY noscriptAbout "За NoScript 2.9">
+<!ENTITY noscriptAbout "За NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Можете да ги назначите страните, на кои што скриптите ќе бидат дозволени. Напишете ја дозволената адреса (на пример http://www.site.com или site.com) и кликнете „Дозволи“">
 <!ENTITY noscriptWebAddress "Адреса на дозволената веб страна:">
 <!ENTITY noscriptAllow "Дозволи">
diff --git a/chrome/noscript.jar!/locale/ms-MY/noscript/noscript.dtd b/chrome/noscript.jar!/locale/ms-MY/noscript/noscript.dtd
index 6753fc6..4bb5434 100644
--- a/chrome/noscript.jar!/locale/ms-MY/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/ms-MY/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Tetapan...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Tetapan NoScript">
-<!ENTITY noscriptAbout "Tentang NoScript 2.9">
+<!ENTITY noscriptAbout "Tentang NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Anda boleh menentukan laman web yang anda benarkan skripnya diproses. Taipkan alamat atau domain(contoh:"http://www.tapak.com" atau "tapak.com") laman web yang diingini dan klik Benarkan">
 <!ENTITY noscriptWebAddress "Alamat laman web:">
 <!ENTITY noscriptAllow "Benarkan">
diff --git a/chrome/noscript.jar!/locale/nb-NO/noscript/noscript.dtd b/chrome/noscript.jar!/locale/nb-NO/noscript/noscript.dtd
index 3e6f54e..6619541 100644
--- a/chrome/noscript.jar!/locale/nb-NO/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/nb-NO/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Innstillinger">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Innstillinger">
-<!ENTITY noscriptAbout "Om NoScript 2.9">
+<!ENTITY noscriptAbout "Om NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Du kan spesifisere hvilke websider som har tillatelse til å kjøre scritper. Skriv inn adresse, eller domene (F.eks: "http://www.side.no", eller &quotside.no") du ønsker å gi tillatelse til, og klikk Tillat.">
 <!ENTITY noscriptWebAddress "Webadresse:">
 <!ENTITY noscriptAllow "Tillat">
diff --git a/chrome/noscript.jar!/locale/nl/noscript/noscript.dtd b/chrome/noscript.jar!/locale/nl/noscript/noscript.dtd
index ccc1678..313a151 100644
--- a/chrome/noscript.jar!/locale/nl/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/nl/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opties...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript opties">
-<!ENTITY noscriptAbout "Over NoScript 2.9">
+<!ENTITY noscriptAbout "Over NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Webadressen in deze lijst hebben toestemming om JavaScript te gebruiken. Type het adres of domein in (bijv. "http://www.site.com" of "site.com") van de door u toegestane site; klik daarna op Toestaan.">
 <!ENTITY noscriptWebAddress "Webadres:">
 <!ENTITY noscriptAllow "Toestaan">
diff --git a/chrome/noscript.jar!/locale/pl/noscript/noscript.dtd b/chrome/noscript.jar!/locale/pl/noscript/noscript.dtd
index c2c270c..d578509 100644
--- a/chrome/noscript.jar!/locale/pl/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/pl/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Ustawienia">
 <!ENTITY noscriptOptions.accesskey "U">
 <!ENTITY noscriptOptionsLong "NoScript – ustawienia">
-<!ENTITY noscriptAbout "NoScript 2.9 – informacje">
+<!ENTITY noscriptAbout "NoScript 2.9.0.2 – informacje">
 <!ENTITY noscriptPermissionsText "Tutaj można określić witryny internetowe, które będą mogły uruchamiać skrypty. Proszę wprowadzić adres lub domenę witryny (np: „http://www.witryna.pl” lub „witryna.pl”) i nacisnąć przycisk Pozwól.">
 <!ENTITY noscriptWebAddress "Adres witryny:">
 <!ENTITY noscriptAllow "Pozwól">
diff --git a/chrome/noscript.jar!/locale/pt-BR/noscript/noscript.dtd b/chrome/noscript.jar!/locale/pt-BR/noscript/noscript.dtd
index a3fd811..96e6b50 100644
--- a/chrome/noscript.jar!/locale/pt-BR/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/pt-BR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opções">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opções do NoScript">
-<!ENTITY noscriptAbout "Sobre o NoScript 2.9…">
+<!ENTITY noscriptAbout "Sobre o NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "Você pode especificar os sites que podem executar JavaScripts. Escreva o endereço ou o domínio (ex "http://www.site.com" ou "site.com") do site que deseja permitir e depois clique em Permitir.">
 <!ENTITY noscriptWebAddress "Endereço:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/noscript.jar!/locale/pt-PT/noscript/noscript.dtd b/chrome/noscript.jar!/locale/pt-PT/noscript/noscript.dtd
index 63f18fb..7aeb15b 100644
--- a/chrome/noscript.jar!/locale/pt-PT/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/pt-PT/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opções">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opções do NoScript">
-<!ENTITY noscriptAbout "Sobre o NoScript 2.9">
+<!ENTITY noscriptAbout "Sobre o NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Pode especificar os sítios que podem executar scripts. Escreva o endereço ou o domínio (ex: "http://www.sitio.com" ou "sitio.com") do sítio que deseja permitir e depois pressione em Permitir.">
 <!ENTITY noscriptWebAddress "Endereço:">
 <!ENTITY noscriptAllow "Permitir">
diff --git a/chrome/noscript.jar!/locale/ro/noscript/noscript.dtd b/chrome/noscript.jar!/locale/ro/noscript/noscript.dtd
index 18b99cc..df61450 100644
--- a/chrome/noscript.jar!/locale/ro/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/ro/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opțiuni...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opțiuni NoScript">
-<!ENTITY noscriptAbout "Despre NoScript 2.9">
+<!ENTITY noscriptAbout "Despre NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Puteți specifica saiturile cărora li se permite să execute scripturi. Scrieți adresa sau domeniul paginii (exemplu: „http://www.sait.ro“ sau „sait.ro“), apoi apăsați pe butonul „Permite“.">
 <!ENTITY noscriptWebAddress "Adresă sait:">
 <!ENTITY noscriptAllow "Permite">
diff --git a/chrome/noscript.jar!/locale/sk-SK/noscript/noscript.dtd b/chrome/noscript.jar!/locale/sk-SK/noscript/noscript.dtd
index 6cfec20..b0e1f4a 100644
--- a/chrome/noscript.jar!/locale/sk-SK/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/sk-SK/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Možnosti...">
 <!ENTITY noscriptOptions.accesskey "M">
 <!ENTITY noscriptOptionsLong "NoScript – Možnosti">
-<!ENTITY noscriptAbout "O rozšírení NoScript 2.9">
+<!ENTITY noscriptAbout "O rozšírení NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Môžete určiť, ktoré webové stránky majú povolené spúšťať JavaScript. Zadajte adresu alebo doménu (napríklad "http://www.site.com" alebo "site.com") stránky, ktorú chcete povoliť, a potom kliknite na tlačidlo Povoliť.">
 <!ENTITY noscriptWebAddress "Adresa webovej stránky:">
 <!ENTITY noscriptAllow "Povoliť">
diff --git a/chrome/noscript.jar!/locale/sl-SI/noscript/noscript.dtd b/chrome/noscript.jar!/locale/sl-SI/noscript/noscript.dtd
index cad9016..ab705da 100644
--- a/chrome/noscript.jar!/locale/sl-SI/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/sl-SI/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Možnosti...">
 <!ENTITY noscriptOptions.accesskey "M">
 <!ENTITY noscriptOptionsLong "NoScript Možnosti">
-<!ENTITY noscriptAbout "O NoScript 2.9 programu...">
+<!ENTITY noscriptAbout "O NoScript 2.9.0.2 programu...">
 <!ENTITY noscriptPermissionsText "Določite lahko na katerih straneh bo izvajanje skript dovoljeno. Vnesite naslov ali domeno (pr. "http://www.domena.com" or "domena.com") strani, na kateri želite omogočiti izvajanje skript in kliknite Dovoli.">
 <!ENTITY noscriptWebAddress "Naslov strani:">
 <!ENTITY noscriptAllow "Dovoli">
diff --git a/chrome/noscript.jar!/locale/sr-RS/noscript/noscript.dtd b/chrome/noscript.jar!/locale/sr-RS/noscript/noscript.dtd
index 988ca95..78400eb 100644
--- a/chrome/noscript.jar!/locale/sr-RS/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/sr-RS/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Подешавања...">
 <!ENTITY noscriptOptions.accesskey "П">
 <!ENTITY noscriptOptionsLong "NoScript подешавања">
-<!ENTITY noscriptAbout "О NoScript 2.9-у">
+<!ENTITY noscriptAbout "О NoScript 2.9.0.2-у">
 <!ENTITY noscriptPermissionsText "Можете да наведете којим веб странама је дозвољено да извршавају скриптове. Унесите адресу или домен (нпр. "http://www.site.com" или "site.com") стране којој желите да дате дозволу и онда кликните Дозволи.">
 <!ENTITY noscriptWebAddress "Адреса веб стране:">
 <!ENTITY noscriptAllow "Дозволи">
diff --git a/chrome/noscript.jar!/locale/sv-SE/noscript/noscript.dtd b/chrome/noscript.jar!/locale/sv-SE/noscript/noscript.dtd
index 30ed274..5c43d7c 100644
--- a/chrome/noscript.jar!/locale/sv-SE/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/sv-SE/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Alternativ...">
 <!ENTITY noscriptOptions.accesskey "A">
 <!ENTITY noscriptOptionsLong "NoScript-alternativ">
-<!ENTITY noscriptAbout "Om NoScript 2.9">
+<!ENTITY noscriptAbout "Om NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Ange vilka webbplatser som får köra skript. Skriv webbadressen eller domänen (t ex. "http://www.webbplats.se" eller "webbplats.se") för den webbplats där skript ska tillåtas. Klicka sedan på "Tillåt".">
 <!ENTITY noscriptWebAddress "Sidans adress:">
 <!ENTITY noscriptAllow "Tillåt">
diff --git a/chrome/noscript.jar!/locale/te-IN/noscript/noscript.dtd b/chrome/noscript.jar!/locale/te-IN/noscript/noscript.dtd
index b052acb..672740b 100644
--- a/chrome/noscript.jar!/locale/te-IN/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/te-IN/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Options…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript Options">
-<!ENTITY noscriptAbout "About NoScript 2.9…">
+<!ENTITY noscriptAbout "About NoScript 2.9.0.2…">
 <!ENTITY noscriptPermissionsText "You can specify which web sites are allowed to execute scripts. Type the address or the domain (e.g. "http://www.site.com" or "site.com") of the site you want to allow and then click Allow.">
 <!ENTITY noscriptWebAddress "Address of web site:">
 <!ENTITY noscriptAllow "Allow">
diff --git a/chrome/noscript.jar!/locale/th/noscript/noscript.dtd b/chrome/noscript.jar!/locale/th/noscript/noscript.dtd
index d219866..2a07873 100644
--- a/chrome/noscript.jar!/locale/th/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/th/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "ตัวเลือก...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "ตัวเลือก NoScript">
-<!ENTITY noscriptAbout "เกี่ยวกับ NoScript 2.9">
+<!ENTITY noscriptAbout "เกี่ยวกับ NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "คุณสามารถกำหนดเว็บไซต์ที่จะอนุญาตดำเนินการสคริปต์ พิมพ์ที่อยู่หรือโดเมน (เช่น "http://www.site.com" หรือ "site.com") ของไซต์ที่คุณต้องการอนุญาตและคลิกอนุญาต">
 <!ENTITY noscriptWebAddress "ที่อยู่เว็บไซต์:">
 <!ENTITY noscriptAllow "อนุญาต">
diff --git a/chrome/noscript.jar!/locale/tr/noscript/noscript.dtd b/chrome/noscript.jar!/locale/tr/noscript/noscript.dtd
index 6e4d972..19e6bae 100644
--- a/chrome/noscript.jar!/locale/tr/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/tr/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Seçenekler">
 <!ENTITY noscriptOptions.accesskey "S">
 <!ENTITY noscriptOptionsLong "NoScript Seçenekleri">
-<!ENTITY noscriptAbout "NoScript 2.9 Hakkında">
+<!ENTITY noscriptAbout "NoScript 2.9.0.2 Hakkında">
 <!ENTITY noscriptPermissionsText "Hangi web sayfalarında JavaScript'e izni vereceğinizi kolayca seçebilirsiniz. Lütfen adresi tam olarak girin ve 'İzin ver' düğmesine tıklayarak sayfanın JavaScript kullanmasına izin verin.">
 <!ENTITY noscriptWebAddress "Site adresi:">
 <!ENTITY noscriptAllow "İzin ver">
diff --git a/chrome/noscript.jar!/locale/vi/noscript/noscript.dtd b/chrome/noscript.jar!/locale/vi/noscript/noscript.dtd
index b0e0877..4efbb63 100644
--- a/chrome/noscript.jar!/locale/vi/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/vi/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Tùy chọn">
 <!ENTITY noscriptOptions.accesskey "y">
 <!ENTITY noscriptOptionsLong "Tùy chọn cho NoScript">
-<!ENTITY noscriptAbout "Thông tin về NoScript 2.9">
+<!ENTITY noscriptAbout "Thông tin về NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "Bạn có thể chỉ định trang web nào được phép chạy script. Gõ địa chỉ hay tên miền (v.d. "http://www.nhaccodien.com" hay "nhaccodien.com") của trang mà bạn muốn cho phép, rồi nhấn Cho phép.">
 <!ENTITY noscriptWebAddress "Địa chỉ của trang web:">
 <!ENTITY noscriptAllow "Cho phép">
diff --git a/chrome/noscript.jar!/locale/zh-CN/noscript/noscript.dtd b/chrome/noscript.jar!/locale/zh-CN/noscript/noscript.dtd
index 7493da6..6d36a48 100644
--- a/chrome/noscript.jar!/locale/zh-CN/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/zh-CN/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "选项...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 选项">
-<!ENTITY noscriptAbout "关于 NoScript 2.9">
+<!ENTITY noscriptAbout "关于 NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "您可以指定允许执行脚本的网站。请输入您想要允许的网站地址或域名(例如: “http://www.site.com”或者“site.com”)然后单击“允许”。">
 <!ENTITY noscriptWebAddress "网站地址:">
 <!ENTITY noscriptAllow "允许">
diff --git a/chrome/noscript.jar!/locale/zh-TW/noscript/noscript.dtd b/chrome/noscript.jar!/locale/zh-TW/noscript/noscript.dtd
index e598cd4..3c044b4 100644
--- a/chrome/noscript.jar!/locale/zh-TW/noscript/noscript.dtd
+++ b/chrome/noscript.jar!/locale/zh-TW/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "選項…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 選項">
-<!ENTITY noscriptAbout "關於 NoScript 2.9">
+<!ENTITY noscriptAbout "關於 NoScript 2.9.0.2">
 <!ENTITY noscriptPermissionsText "您可以指定允許執行 JavaScript 的網站。輸入您要允許的網址或網域(例如 "http://www.site.com" 或 "site.com"),然後按下允許.">
 <!ENTITY noscriptWebAddress "網址:">
 <!ENTITY noscriptAllow "允許">
diff --git a/components/noscriptService.js b/components/noscriptService.js
index 1bcdb47..4bd4eb3 100644
--- a/components/noscriptService.js
+++ b/components/noscriptService.js
@@ -1,5 +1,5 @@
 // const TIME0 = Date.now();
-const VERSION = "2.9";
+const VERSION = "2.9.0.2";
 const SERVICE_CTRID = "@maone.net/noscript-service;1";
 const SERVICE_ID = "{31aec909-8e86-4397-9380-63a59e0c5ff5}";
 const EXTENSION_ID = "{73a6fe31-595d-460b-a920-fcc0f8843232}";
@@ -969,7 +969,7 @@ const IOUtil = {
   },
 
   findWindow: function(channel) {
-    for each(var cb in [channel.notificationCallbacks,
+    for (var cb  of [channel.notificationCallbacks,
                        channel.loadGroup && channel.loadGroup.notificationCallbacks]) {
       if (cb instanceof Ci.nsIInterfaceRequestor) {
         if (Ci.nsILoadContext) try {
@@ -1857,7 +1857,7 @@ var ns = {
     const ios = IOS;
     var resProt = ios.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
     var base;
-    for each(var r in ["skin", "content"]) {
+    for (var r  of ["skin", "content"]) {
       base = "noscript_" + Math.random();
       resProt.setSubstitution(base, ios.newURI("chrome:noscript/" + r + "/", null, null));
       this[r + "Base"] = "resource://" + base + "/";
@@ -1897,7 +1897,7 @@ var ns = {
     this.captureExternalProtocols();
 
     this._batchPrefs = true;
-    for each(var p in [
+    for (var p  of [
       "autoAllow",
       "allowedMimeRegExp", "hideOnUnloadRegExp", "requireReloadRegExp",
       "consoleDump", "consoleLog", "contentBlocker", "alwaysShowObjectSources",
@@ -2166,7 +2166,7 @@ var ns = {
           pb.setBoolPref("expose-all", true);
         } catch(e1) {}
         var prots = [];
-        for each(var key in pb.getChildList("expose.", {})) {
+        for (var key  of pb.getChildList("expose.", {})) {
           try {
             pb.setBoolPref(key, true);
             prots.push(key.replace("expose.", ""));
@@ -2886,7 +2886,7 @@ var ns = {
 
     var sites = this.getSites(browser);
     var egroup, j, e;
-    for each (egroup in sites.pluginExtras) {
+    for (egroup  of sites.pluginExtras) {
       for (j = egroup.length; j-- > 0;) {
         e = egroup[j];
         if (this.isAllowedObject(e.url, e.mime, e.site, e.originSite)) {
@@ -2913,14 +2913,14 @@ var ns = {
       let s = this.getSite(url);
       if (!(s in snapshot)) snapshot[s] = snapshot[url];
     }
-    for each (let s in sites.pluginSites) {
+    for (let s  of sites.pluginSites) {
       s = this.objectKey(s);
       if ((s in snapshot) && !(s in this.objectWhitelist)) {
         return true;
       }
     }
 
-     for each (let egroup in sites.pluginExtras) {
+     for (let egroup  of sites.pluginExtras) {
       for (let j = 0, len = egroup.length; j < len; j++) {
         let e = egroup[j];
         let url;
@@ -3174,7 +3174,7 @@ var ns = {
 
     try {
       let branch = this.prefService.getDefaultBranch("services.sync.prefs.sync.noscript.");
-      for each (let key in this.prefs.getChildList("", {})) {
+      for (let key  of this.prefs.getChildList("", {})) {
         switch (key) {
           case "version":
           case "preset":
@@ -3215,7 +3215,7 @@ var ns = {
 
     const exclude = this._dontSerialize;
     const prefs = {};
-    for each (let key in this.prefs.getChildList("", {})) {
+    for (let key  of this.prefs.getChildList("", {})) {
       if (exclude.indexOf(key) === -1) {
         prefs[key] = this.getPref(key);
       }
@@ -4509,7 +4509,7 @@ var ns = {
           focusListener = function(ev) {
             ns.jsEnabled = DOM.mostRecentBrowserWindow.content == window;
           };
-          for each(let et in ["focus", "blur"])
+          for (let et  of ["focus", "blur"])
             browserWindow.addEventListener(et, focusListener, true);
         }
 
@@ -4558,7 +4558,7 @@ var ns = {
           } catch (e) {} // the document could be dead, e.g. after a javascript: non-void expression evaluation
 
           if (focusListener)
-            for each(let et in ["focus", "blur"])
+            for (let et  of ["focus", "blur"])
               browserWindow.removeEventListener(et, focusListener, true);
 
           if (this.jsEnabled != snapshots.globalJS)
@@ -4970,7 +4970,7 @@ var ns = {
   },
 
   createPlaceholders: function(replacements, pluginExtras, document) {
-    for each (let r in replacements) {
+    for (let r  of replacements) {
       try {
         if (r.extras.pluginDocument) {
           this.setPluginExtras(r.object, null);
@@ -5386,8 +5386,8 @@ var ns = {
     return this.traverseDocShells(function(docShell) {
       let document = docShell.document;
       if (document) {
-        for each (let t in ["object", "embed"]) {
-          for each (let node in Array.slice(document.getElementsByTagName(t), 0)) {
+        for (let t  of ["object", "embed"]) {
+          for (let node  of Array.slice(document.getElementsByTagName(t), 0)) {
             if (callback.call(self, node, browser))
               return true;
           }
@@ -5469,7 +5469,7 @@ var ns = {
         sites.docSites.push(url);
         sites.push(url);
 
-        for each(let redir in this.getRedirCache(browser, docURI)) {
+        for (let redir  of this.getRedirCache(browser, docURI)) {
           sites.push(redir.site);
         }
       }
@@ -6000,7 +6000,7 @@ var ns = {
       if (this.consoleDump & LOG_CONTENT_BLOCK)
         this.dump("Blocking top-level plugin document");
 
-      for each (let tag in ["embed", "video", "audio"]) {
+      for (let tag  of ["embed", "video", "audio"]) {
         let embeds = domWindow.document.getElementsByTagName(tag);
         if (embeds.length > 0 && (tag !== "embed" || this._abortPluginDocLoads)) {
           let eType = "application/x-noscript-blocked";
@@ -6315,7 +6315,7 @@ var ns = {
         eh = function(e) {  e.preventDefault(); e.stopPropagation(); };
 
     return (this.blockEvents = function(window) {
-      for each(let t in et) window.addEventListener(t, eh, true);
+      for (let t  of et) window.addEventListener(t, eh, true);
     })(window);
   },
 
@@ -6336,14 +6336,14 @@ var ns = {
   },
   sanitizeStaticDOM: function(el) {
      // remove attributes from forms
-    for each (let f in Array.slice(el.getElementsByTagName("form"))) {
-      for each(let a in Array.slice(f.attributes)) {
+    for (let f  of Array.slice(el.getElementsByTagName("form"))) {
+      for (let a  of Array.slice(f.attributes)) {
         f.removeAttribute(a.name);
       }
     }
     let doc = el.ownerDocument;
     // remove dangerous URLs (e.g. javascript: or data: or reflected XSS URLs)
-    for each(let a in ['href', 'to', 'from', 'by', 'values']) {
+    for (let a  of ['href', 'to', 'from', 'by', 'values']) {
       let res = doc.evaluate('//@' + a, el, null, Ci.nsIDOMXPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
       for (let j = res.snapshotLength; j-- > 0;) {
         let attr = res.snapshotItem(j);
@@ -6904,8 +6904,7 @@ var ns = {
 
     if (!/^(ht|f)tps?:/.test(site)) return fromPolicy;
 
-    let [to, from] = [ AddressMatcher.create(this.getPref("allowLocalLinks." + n, ""))
-                        for each (n in ["to", "from"]) ];
+    let [to, from] = ["to", "from"].map(function(n) AddressMatcher.create(ns.getPref("allowLocalLinks." + n, "")));
 
     return ((from
               ? from.test(site)
diff --git a/install.rdf b/install.rdf
index 7f27dbd..62da4f9 100644
--- a/install.rdf
+++ b/install.rdf
@@ -5,7 +5,7 @@
 
    <em:id>{73a6fe31-595d-460b-a920-fcc0f8843232}</em:id>
    <em:name>NoScript</em:name>
-   <em:version>2.9</em:version>
+   <em:version>2.9.0.2</em:version>
    <em:description>Extra protection for your Firefox: NoScript allows JavaScript, Java (and other plugins) only for trusted domains of your choice (e.g. your home-banking web site). This whitelist based pre-emptive blocking approach  prevents exploitation of security vulnerabilities (known and even unknown!) with no loss of functionality... Experts will agree: Firefox is really safer with NoScript :-)</em:description>
    <em:creator>Giorgio Maone</em:creator>
    <em:type>2</em:type>
@@ -68,7 +68,7 @@
    <em:targetApplication>
      <Description>
      <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
-     <em:minVersion>3.0.9</em:minVersion>
+     <em:minVersion>13.0</em:minVersion>
      <em:maxVersion>46.0</em:maxVersion>
      </Description>
    </em:targetApplication>
@@ -86,7 +86,7 @@
    <em:targetApplication>
       <Description>
         <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
-        <em:minVersion>2.0</em:minVersion>
+        <em:minVersion>2.10</em:minVersion>
         <em:maxVersion>2.42</em:maxVersion>
       </Description>
    </em:targetApplication>

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



More information about the Pkg-mozext-commits mailing list