[Pkg-mozext-commits] [noscript] 01/05: New upstream version 5.1.5

David Prévot taffit at moszumanska.debian.org
Tue Nov 14 05:35:27 UTC 2017


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

taffit pushed a commit to branch master
in repository noscript.

commit 4fbd8eb1d8443a00aafad48126beac5c3f9c48d1
Author: David Prévot <david at tilapin.org>
Date:   Mon Nov 13 07:23:32 2017 +1300

    New upstream version 5.1.5
---
 META-INF/manifest.mf                       | 257 +++++++++++++----------------
 META-INF/mozilla.rsa                       | Bin 4196 -> 4196 bytes
 META-INF/mozilla.sf                        |   4 +-
 chrome/content/noscript/Main.js            |  14 +-
 chrome/content/noscript/UISync.jsm         |   2 +-
 chrome/content/noscript/WebExt.js          |   8 +-
 chrome/content/noscript/about.xul          |   6 +-
 chrome/content/noscript/iaUI.js            |  15 +-
 chrome/content/noscript/noscriptBM.js      |   2 +-
 chrome/content/noscript/noscriptOptions.js |  40 ++---
 chrome/locale/bg-BG/noscript/noscript.dtd  |   2 +-
 chrome/locale/ca-AD/noscript/noscript.dtd  |   2 +-
 chrome/locale/cs-CZ/noscript/noscript.dtd  |   2 +-
 chrome/locale/cy-GB/noscript/noscript.dtd  |   2 +-
 chrome/locale/da/noscript/noscript.dtd     |   2 +-
 chrome/locale/de/noscript/noscript.dtd     |   2 +-
 chrome/locale/el/noscript/noscript.dtd     |   2 +-
 chrome/locale/en-GB/noscript/noscript.dtd  |   2 +-
 chrome/locale/en-US/noscript/noscript.dtd  |   2 +-
 chrome/locale/eo/noscript/noscript.dtd     |   2 +-
 chrome/locale/es-AR/noscript/noscript.dtd  |   2 +-
 chrome/locale/es-CL/noscript/noscript.dtd  |   2 +-
 chrome/locale/es-ES/noscript/noscript.dtd  |   2 +-
 chrome/locale/et-EE/noscript/noscript.dtd  |   2 +-
 chrome/locale/eu/noscript/noscript.dtd     |   2 +-
 chrome/locale/fa-IR/noscript/noscript.dtd  |   2 +-
 chrome/locale/fi/noscript/noscript.dtd     |   2 +-
 chrome/locale/fr/noscript/noscript.dtd     |   2 +-
 chrome/locale/gl-ES/noscript/noscript.dtd  |   2 +-
 chrome/locale/he-IL/noscript/noscript.dtd  |   2 +-
 chrome/locale/hr-HR/noscript/noscript.dtd  |   2 +-
 chrome/locale/hsb/noscript/noscript.dtd    |   2 +-
 chrome/locale/hu-HU/noscript/noscript.dtd  |   2 +-
 chrome/locale/id-ID/noscript/noscript.dtd  |   2 +-
 chrome/locale/it/noscript/noscript.dtd     |   2 +-
 chrome/locale/ja-JP/noscript/noscript.dtd  |   2 +-
 chrome/locale/kk-KZ/noscript/noscript.dtd  |   2 +-
 chrome/locale/km-KH/noscript/noscript.dtd  |   2 +-
 chrome/locale/ko-KR/noscript/noscript.dtd  |   2 +-
 chrome/locale/lt/noscript/noscript.dtd     |   2 +-
 chrome/locale/mk-MK/noscript/noscript.dtd  |   2 +-
 chrome/locale/ms-MY/noscript/noscript.dtd  |   2 +-
 chrome/locale/nb-NO/noscript/noscript.dtd  |   2 +-
 chrome/locale/nl/noscript/noscript.dtd     |   2 +-
 chrome/locale/pl/noscript/noscript.dtd     |   2 +-
 chrome/locale/pt-BR/noscript/noscript.dtd  |   2 +-
 chrome/locale/pt-PT/noscript/noscript.dtd  |   2 +-
 chrome/locale/ro/noscript/noscript.dtd     |   2 +-
 chrome/locale/sk-SK/noscript/noscript.dtd  |   2 +-
 chrome/locale/sl-SI/noscript/noscript.dtd  |   2 +-
 chrome/locale/sr-RS/noscript/noscript.dtd  |   2 +-
 chrome/locale/sv-SE/noscript/noscript.dtd  |   2 +-
 chrome/locale/te-IN/noscript/noscript.dtd  |   2 +-
 chrome/locale/th/noscript/noscript.dtd     |   2 +-
 chrome/locale/tr/noscript/noscript.dtd     |   2 +-
 chrome/locale/vi/noscript/noscript.dtd     |   2 +-
 chrome/locale/zh-CN/noscript/noscript.dtd  |   2 +-
 chrome/locale/zh-TW/noscript/noscript.dtd  |   2 +-
 install.rdf                                |   2 +-
 webextension/Policy.js                     |  19 ---
 webextension/WebRequest.js                 |  59 -------
 webextension/background.html               |  11 --
 webextension/legacy.js                     |  13 +-
 webextension/lib/tld.js                    |  31 ----
 webextension/manifest.json                 |   2 +-
 webextension/noscript.js                   |  52 ------
 66 files changed, 216 insertions(+), 417 deletions(-)

diff --git a/META-INF/manifest.mf b/META-INF/manifest.mf
index 20ebc72..8bb1fd8 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: KIasFH5R0wlz7pK4EqxUiw==
-SHA1-Digest: KoQMfXlOY66c+SgfysmweKZxdL0=
+MD5-Digest: NRzAa8xGywWcgxtS/3f3Wg==
+SHA1-Digest: 3OD6r4ua2KF+q5+wzIypHC4ay6Y=
 
 Name: chrome.manifest
 Digest-Algorithms: MD5 SHA1
@@ -52,8 +52,8 @@ SHA1-Digest: idl2qN6ruxPfDks9LUMR4uR/6sQ=
 
 Name: chrome/content/noscript/about.xul
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: R9PPswLcHuU97g/vXwQ0pA==
-SHA1-Digest: zzMKcEjNgfdPvAlh3xdCeABzPlA=
+MD5-Digest: qAZlGrytlekph9Y5ZhmriA==
+SHA1-Digest: ZSKQdosOqDgeFU8NI3n6LOLn+xI=
 
 Name: chrome/content/noscript/AddressMatcher.js
 Digest-Algorithms: MD5 SHA1
@@ -177,8 +177,8 @@ SHA1-Digest: jFe3JSw478qy3wXJiNrtEOqf8yQ=
 
 Name: chrome/content/noscript/iaUI.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: J7/4r9XjOLi/21lJ80OmWw==
-SHA1-Digest: /G5NZANc8ND3NSsGncf+Hqa9Mkc=
+MD5-Digest: 0SdkYz81P3l9vNhECHS91A==
+SHA1-Digest: hIrg9dryyyU0LBsLLYE7x2MfiHY=
 
 Name: chrome/content/noscript/importer.jsm
 Digest-Algorithms: MD5 SHA1
@@ -217,8 +217,8 @@ SHA1-Digest: IP1FtRnULNQsRbu3E46+ynWOwGU=
 
 Name: chrome/content/noscript/Main.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Fi/xnGs7RlyVXYNX3iVyag==
-SHA1-Digest: jHnUZmV0FoEXS74WXhRcYLTMG2k=
+MD5-Digest: AwQWEtKqfO51MVGqRAArLA==
+SHA1-Digest: UewJyJ9T/vb4KzWx0MiwlOYs8Ks=
 
 Name: chrome/content/noscript/MainChild.js
 Digest-Algorithms: MD5 SHA1
@@ -267,8 +267,8 @@ SHA1-Digest: uqtHOuEANw0yaB8FG+uGsIK+NXg=
 
 Name: chrome/content/noscript/noscriptBM.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: YD5BHkk30EBwe2ZkXUN+mA==
-SHA1-Digest: i36piDxSBi/Nh803KVl3YgGFfJ4=
+MD5-Digest: dJQS7NKz7c+NS3nngCDNOA==
+SHA1-Digest: /ottZtpuwwLfcC7Lj6c7U6+V+zg=
 
 Name: chrome/content/noscript/noscriptBMOverlay.xul
 Digest-Algorithms: MD5 SHA1
@@ -277,8 +277,8 @@ SHA1-Digest: ZNPYutqQUp0KUVekLkMHIEkKqiw=
 
 Name: chrome/content/noscript/noscriptOptions.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: tiYBVlwu9OcbdhBS8o3bPQ==
-SHA1-Digest: T49pgwgJ/iqnm8LyzNNY6FROed8=
+MD5-Digest: Z4JkMiZxkzBlkNlWIwL5YQ==
+SHA1-Digest: RPIpEoIDTQ/9ptm+4p87Us0g++g=
 
 Name: chrome/content/noscript/noscriptOptions.xul
 Digest-Algorithms: MD5 SHA1
@@ -367,8 +367,8 @@ SHA1-Digest: vrTKbl7kvlvqSFIRpUSyDDhFFVQ=
 
 Name: chrome/content/noscript/UISync.jsm
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: CMKoMsQO+Tuy52f2/B3M+g==
-SHA1-Digest: i0R9z60abnnnRmZMV4pAakmiNjw=
+MD5-Digest: b4X0k8GAr63TnqowApelxg==
+SHA1-Digest: 9v+jxTQjCtDuH/e/6HaAFo8w/Pc=
 
 Name: chrome/content/noscript/URIValidator.js
 Digest-Algorithms: MD5 SHA1
@@ -377,8 +377,8 @@ SHA1-Digest: YW3PmH2KYhx4nVKuJjhROY3xv4o=
 
 Name: chrome/content/noscript/WebExt.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: TobdYPChLUkKcmZw8bmATg==
-SHA1-Digest: 2CEXoHS/TWfRTmm1+h1gIhKSqv0=
+MD5-Digest: MlkHSClb6V+3b411mNGZvA==
+SHA1-Digest: Pztdh11GEeaUKp7q5KSUNpXtZyA=
 
 Name: chrome/content/noscript/WebGLInterception.js
 Digest-Algorithms: MD5 SHA1
@@ -427,8 +427,8 @@ SHA1-Digest: sNaAoiFjfluUFYT3NJO8pa0cBr4=
 
 Name: chrome/locale/bg-BG/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: qwJX/p0G1ikZGRwHRo5XTQ==
-SHA1-Digest: 3xzIB2xOy1b8LVJEzcOUIuBvC3U=
+MD5-Digest: BqzyeEHq1zTs+pO+zKxTyg==
+SHA1-Digest: NOlSPvj2Ub01ydmHEgrE/VeUfe4=
 
 Name: chrome/locale/bg-BG/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -457,8 +457,8 @@ SHA1-Digest: kflYT0pG5PkXqcxExu1I32CKtmU=
 
 Name: chrome/locale/ca-AD/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: sTtZt3OLWAmBppTUV4FETg==
-SHA1-Digest: 0Aoz1Ib5kBRn7OFWszoE0cInxgs=
+MD5-Digest: bQAE4zm6aAQiejpHwESufw==
+SHA1-Digest: /kE7pfdI9UvqTcWppG3in4Tx5rE=
 
 Name: chrome/locale/ca-AD/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -472,8 +472,8 @@ SHA1-Digest: uvHG2IX5kUIz3oj8KZ9WeopZNvk=
 
 Name: chrome/locale/cs-CZ/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 81espU7uJ4OLrVfMuYFYsQ==
-SHA1-Digest: zKvu0F5h99qn9vfk9A7dKUTCuo0=
+MD5-Digest: +Q7hCn61WH06b6XJcKwCnA==
+SHA1-Digest: exMtYd4brYNZiL6kIE90uZVkzv0=
 
 Name: chrome/locale/cs-CZ/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -487,8 +487,8 @@ SHA1-Digest: QJMBA6MQxw4D8NcGjgbaRU5RMn8=
 
 Name: chrome/locale/cy-GB/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: hGNLEAatH9kxL2R9mFW/SQ==
-SHA1-Digest: apNoTP5hfFSjdLUGIXtFPh/6Qzs=
+MD5-Digest: 8ks2Jm9kTQ2J0Z7QhK65ew==
+SHA1-Digest: Z27/dhrqb0SWpd4GVUu83QWa4+8=
 
 Name: chrome/locale/cy-GB/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -502,8 +502,8 @@ SHA1-Digest: pbxJdqyMQHZfqpXhtN51RN56DUM=
 
 Name: chrome/locale/da/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 4gzqx0j+bYWFVdEBPhXtGQ==
-SHA1-Digest: XNsmCucgFcLt/E2vmPsDjFkB2pk=
+MD5-Digest: UtMhM+3+fKoVfZcYRXnuIw==
+SHA1-Digest: J9lV4O4jEnBdlMLiFMvFLtdiGDI=
 
 Name: chrome/locale/da/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -517,8 +517,8 @@ SHA1-Digest: UvqiVC7ZhZNpetUZ3sD5OmBHshI=
 
 Name: chrome/locale/de/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: UBhBlVVokj2q6fv6gYChRw==
-SHA1-Digest: /zWNBwvWewvoC46tgtLU0TbptsY=
+MD5-Digest: GEfqNTwY4pPvQRa+toPO7A==
+SHA1-Digest: jBekzQuR1HvqLtcwQcgtwy0Y2gg=
 
 Name: chrome/locale/de/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -532,8 +532,8 @@ SHA1-Digest: FzzY/kDgk9oB/yfhbthUH+3K+p0=
 
 Name: chrome/locale/el/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: C5/9ySga7ZmkF6lXB4M5og==
-SHA1-Digest: yidldOFYlOMJOsdxHINQ/NITsNU=
+MD5-Digest: B0hDF/EE76ld9I1Hzy6EIw==
+SHA1-Digest: D/t0S0tMRmGd2zMcyK5PCj0zKKM=
 
 Name: chrome/locale/el/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -547,8 +547,8 @@ SHA1-Digest: HUexKIcNtXuADoCrQga0QJQJMlw=
 
 Name: chrome/locale/en-GB/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: W0GjavqgmPL8Cp4sK53jFw==
-SHA1-Digest: gFRDOktB79zvjPbA1LjfJ2b2yqs=
+MD5-Digest: F4oQU+iVFfJtd1Sp1ZBc+A==
+SHA1-Digest: i1EC/8ahUo78yrv+6xp2pMe4nQA=
 
 Name: chrome/locale/en-GB/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -562,8 +562,8 @@ SHA1-Digest: wPgAT8TTe+fOk2o/kzl27p7hiEA=
 
 Name: chrome/locale/en-US/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 6oPjafAYXXHXj9f4JT2eYQ==
-SHA1-Digest: 47zHFiY3PRKTYHF3K+z4/8sqFlw=
+MD5-Digest: JizI4aNJJNku/hmOvbBwog==
+SHA1-Digest: aKAcw/eU7h8wb9G9qwbHih+QMSY=
 
 Name: chrome/locale/en-US/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -577,8 +577,8 @@ SHA1-Digest: wImWq9Q0F9cVLKYccfgHDGULZUw=
 
 Name: chrome/locale/eo/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: OAcZYm9HNSAlm0tNlWdHLQ==
-SHA1-Digest: Iq78u86pvTKC+CqflyrT3WaNh8I=
+MD5-Digest: dBEnqW0guUyuMRsEcBFuBA==
+SHA1-Digest: q3/id/BNQk659bDdZ6QCE6Drhrs=
 
 Name: chrome/locale/eo/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -592,8 +592,8 @@ SHA1-Digest: OdCbf6/mUi60G84lQxF9xvdj2i4=
 
 Name: chrome/locale/es-AR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Oek/OX0i5dEJ/w4oPN8gGA==
-SHA1-Digest: M2NJ44ZtDoZH+Q8Ag5Kg8R/Bg58=
+MD5-Digest: q095NX2bxcuUBCs1RdRF+g==
+SHA1-Digest: BQHhiv0dWLrOfZmuyRXk36jbME4=
 
 Name: chrome/locale/es-AR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -607,8 +607,8 @@ SHA1-Digest: bANkMTYDxZWaaM8hLQZ3kFpkazo=
 
 Name: chrome/locale/es-CL/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: YKw+XpRdL/lFunEDVw8vaQ==
-SHA1-Digest: IFrd2bmZ14zHvSTlNmYZnI4Q3Uc=
+MD5-Digest: XW5vQuI0UzIAWgKgdl4XnQ==
+SHA1-Digest: FGVCCjHSBzlhESHPoHqfS+v7WbM=
 
 Name: chrome/locale/es-CL/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -622,8 +622,8 @@ SHA1-Digest: VfTz8hfRFURHfliKGnVqXQxXFks=
 
 Name: chrome/locale/es-ES/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: piyFwpvYQUi/XWypmh4oCA==
-SHA1-Digest: Ccmh4SbxYxFpwB1w+ZkhZDhkI1c=
+MD5-Digest: qG4mXSg1suBXmIWFl6kTXw==
+SHA1-Digest: uFzO2S+oJI9TdISnOoc4ohDuoZk=
 
 Name: chrome/locale/es-ES/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -637,8 +637,8 @@ SHA1-Digest: tLipgYuD6A9JdnK6tunUWzslLaM=
 
 Name: chrome/locale/et-EE/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: LcPS05pBTpUj+Ix5MIQ/NA==
-SHA1-Digest: dHiUpa8KSPYguU6Xd7YJL0FKYCY=
+MD5-Digest: me0gUeDaHHniJIqE2LYITA==
+SHA1-Digest: btimAU7Tdv7Nr3OKaLi//3H3RtY=
 
 Name: chrome/locale/et-EE/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -652,8 +652,8 @@ SHA1-Digest: f2/STGGGc0EN5ASWPXXelE41f0g=
 
 Name: chrome/locale/eu/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: OG8gjyh/iBxc/9irKe36DA==
-SHA1-Digest: I8ZE4m3BlLQKHRgy03XeeXTJRp0=
+MD5-Digest: I1Uu9/MrzYxhNkKVsJm0mg==
+SHA1-Digest: F3mJVJtE2+XoFh5Qf05pR6ysDGI=
 
 Name: chrome/locale/eu/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -667,8 +667,8 @@ SHA1-Digest: azpjHw2wj68uxic90eEifEP6hdk=
 
 Name: chrome/locale/fa-IR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: bYprp6blT8WZexFtHx5+AA==
-SHA1-Digest: AuVnjLlWOs2KxpWJ4oVrHzyOHqk=
+MD5-Digest: 6Tb22mcw1LxRbbzclC9vJg==
+SHA1-Digest: THZL/xOSI27i/jivjorPvXjMSWc=
 
 Name: chrome/locale/fa-IR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -682,8 +682,8 @@ SHA1-Digest: zn4bfaSGlqZv6201f53lOwwUGig=
 
 Name: chrome/locale/fi/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: cZHhoAzf2YzABhB48tQhXQ==
-SHA1-Digest: pyq+hbo6GlMojNmZnR39zTf7H0Q=
+MD5-Digest: +pJqFFXoFsQNI4UtrTseOw==
+SHA1-Digest: Gg18m30S3POrHQS/zvhxTuLeB0Y=
 
 Name: chrome/locale/fi/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -697,8 +697,8 @@ SHA1-Digest: /jz7SZgj4l8NBAXZxNUV6YvNmq0=
 
 Name: chrome/locale/fr/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: aNVJhvktqgaRv2v2A7A/yQ==
-SHA1-Digest: wmiYTMHscQZ6+M42r958yOeGnes=
+MD5-Digest: z1V3zHQAZ4R5jDmdrx3R7A==
+SHA1-Digest: KGGXY2FgMm5YCjvfXJdol1b5yPg=
 
 Name: chrome/locale/fr/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -712,8 +712,8 @@ SHA1-Digest: LU8wXSphmmd7qv/nXZxsmy5/VZ8=
 
 Name: chrome/locale/gl-ES/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: W/PHFm9w+xoNfFKHEnF3HA==
-SHA1-Digest: X2XqaMW6VkCskvDK6X9zSJKu68Y=
+MD5-Digest: AyWXN19ia7U4Z3TzdnXpZw==
+SHA1-Digest: G6p3aonhLZcW+AUAmerjxo5sDYA=
 
 Name: chrome/locale/gl-ES/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -727,8 +727,8 @@ SHA1-Digest: s6RAVGXfmmTceVFCjTgg1rFDnr8=
 
 Name: chrome/locale/he-IL/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: /u9FXhg387LlUyzsjjmiUA==
-SHA1-Digest: +XLvbcEa9ZkLXizaOuK2fEAXnKg=
+MD5-Digest: ocr9XtF+rjS77HksSJHdOw==
+SHA1-Digest: vhbF6MAJPXDSvNg9fBSBixmVopE=
 
 Name: chrome/locale/he-IL/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -742,8 +742,8 @@ SHA1-Digest: wV5mzFilGjLReuYFadHBNBuVZ4k=
 
 Name: chrome/locale/hr-HR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 1TWIulJ/KAo0HouegpGDjw==
-SHA1-Digest: KghhYmhnR5sQhaP115yNAC5XCz8=
+MD5-Digest: YVKlVx2Q5uO6293S9FSXfQ==
+SHA1-Digest: Vl8DBJOmmQHp4JvNkvA0KROwJTQ=
 
 Name: chrome/locale/hr-HR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -757,8 +757,8 @@ SHA1-Digest: t5wMEPVua4wuGwBHf97L7FLdbwo=
 
 Name: chrome/locale/hsb/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: v7y6S692Ug9MxqutUyWT1g==
-SHA1-Digest: 9YTsZCcnLWUD7qyO4wR8/RvV8vU=
+MD5-Digest: u+UYYfydEm8pmikADVoI8g==
+SHA1-Digest: 23cyKLpro+1nvPEVKMPgzn+ljY8=
 
 Name: chrome/locale/hsb/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -772,8 +772,8 @@ SHA1-Digest: vZzf9pMQ/01ovCpCdaHSAOBoH/o=
 
 Name: chrome/locale/hu-HU/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: retwbDYPLrg/dKKhnQ1+sQ==
-SHA1-Digest: dWVlP/94ZRK6+b319layTuzkRbg=
+MD5-Digest: tBt9v0QQZcEFYKYhGBOmYQ==
+SHA1-Digest: qPgWMGOa3wnIXofwx/EMeEHOzLw=
 
 Name: chrome/locale/hu-HU/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -787,8 +787,8 @@ SHA1-Digest: f98lOBm8U6bwxWqz/51Ntq5SNxw=
 
 Name: chrome/locale/id-ID/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: iyRh7z+qrUFHcaH/iy7nIA==
-SHA1-Digest: pTW1+S1UfU1iMXV6rjTGQOteogc=
+MD5-Digest: BfwZQXgbWvxpzH3idFQ3RQ==
+SHA1-Digest: +R2bkFL8ugrideVtIfblZLbGNmk=
 
 Name: chrome/locale/id-ID/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -802,8 +802,8 @@ SHA1-Digest: AXC2nbKZGSkqbC8aIXiPvcMJImc=
 
 Name: chrome/locale/it/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: P32acVhvZ7b0SusWGU1Fhg==
-SHA1-Digest: uvoGze8OJsG1yU4oJUbjmlt9lN8=
+MD5-Digest: Nbcp5D0oURgCwgq4Dfue2g==
+SHA1-Digest: Lyb6WRe7+Nt0uf1RC9grcJJIaks=
 
 Name: chrome/locale/it/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -817,8 +817,8 @@ SHA1-Digest: sta5MoQ0XEGJhUl65YPJ5hdtt1A=
 
 Name: chrome/locale/ja-JP/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: WKKWR9wBZKitpauf/m4cwQ==
-SHA1-Digest: t8JFmvjzV2XTM9WvH3LYaYuVFzQ=
+MD5-Digest: dDOKwN91WLztqJwHDRlmjw==
+SHA1-Digest: GAGXyAO5SBYITQpL0hIMzsMctrc=
 
 Name: chrome/locale/ja-JP/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -832,8 +832,8 @@ SHA1-Digest: BmojPYZwczyr7siGSTqMj6PRlG8=
 
 Name: chrome/locale/kk-KZ/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: Tae+HjcngHXw7/2MYHLcJA==
-SHA1-Digest: dhQ5ufSR57kk1Wetr5tIYB0vjS8=
+MD5-Digest: pkhfOWxp6bHrN1USZWjO6Q==
+SHA1-Digest: xZO7gmp7nFZJr77ZdaglJ4uTcnA=
 
 Name: chrome/locale/kk-KZ/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -847,8 +847,8 @@ SHA1-Digest: mWY8HPNe6NqhGrPI3JdngLbbah4=
 
 Name: chrome/locale/km-KH/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: FWVviabpaLXhFUrbXkMH8w==
-SHA1-Digest: vSTNWF36KvCBucK3KPOMYA4a+Zw=
+MD5-Digest: S6sKeRh7dpVLOx78dT8Kgw==
+SHA1-Digest: ENCCC4dJrkmEStiKQJ99POUfI7k=
 
 Name: chrome/locale/km-KH/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -862,8 +862,8 @@ SHA1-Digest: 44MXu+9gzxhh8ayl4eczJepe1W4=
 
 Name: chrome/locale/ko-KR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: SJjy01vMdYy5BQIcAzThPg==
-SHA1-Digest: OzBy4kN0s1MqGUKWeEBdSMnlf2s=
+MD5-Digest: bXK4EPR81PxnZibHE2ayBg==
+SHA1-Digest: bim4mo24XfUlURJenh7wS9TVmIA=
 
 Name: chrome/locale/ko-KR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -877,8 +877,8 @@ SHA1-Digest: OXJotNTKa+qW3KH2xglglsfyXps=
 
 Name: chrome/locale/lt/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: +717h0LY89eT1XPotPam7A==
-SHA1-Digest: CuzvuS2RTrB3mlrJbOuudZwgNS4=
+MD5-Digest: 4S5iZRMZytgKlOL99W9xwA==
+SHA1-Digest: LJqJv8iKluPTWEwH+ZG7e2W+Q0I=
 
 Name: chrome/locale/lt/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -892,8 +892,8 @@ SHA1-Digest: FK2I4LKVCMG61glufAEd4Xu3AHo=
 
 Name: chrome/locale/mk-MK/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: PzcF31+wAB6KCLoVMZq72Q==
-SHA1-Digest: wKPztQhCRztUrONBocBG6+6BdMw=
+MD5-Digest: G6U1hclqf402qqhbDP1Tew==
+SHA1-Digest: EhJszTYcXsEiFeA3Ra3odSAWl2Y=
 
 Name: chrome/locale/mk-MK/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -907,8 +907,8 @@ SHA1-Digest: cfSmI7vUD8EMK3m2vZPKZpYFDPU=
 
 Name: chrome/locale/ms-MY/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: fEnC5edvQ4/S11YorD6wAw==
-SHA1-Digest: T6k7VYHp1iF5X8NVZieF1R1v32Y=
+MD5-Digest: ttqywQgX07BqryZ4FjdHxQ==
+SHA1-Digest: QitmpSEcVImBtPvkPPtRw+5srEQ=
 
 Name: chrome/locale/ms-MY/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -922,8 +922,8 @@ SHA1-Digest: wVO4Zccxj/r0+ZVVvg8Y4t2tE90=
 
 Name: chrome/locale/nb-NO/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: fv/eQ///2rG+8Rvq/cr2+g==
-SHA1-Digest: GQWvp3+/HGyjmdl5ZxjlTtD2vuE=
+MD5-Digest: 1WrigTlMXa6AOqQt4sI8AQ==
+SHA1-Digest: vU1Ngrkv/C7W6Tn4apqbbmXg1OU=
 
 Name: chrome/locale/nb-NO/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -937,8 +937,8 @@ SHA1-Digest: ocnQh9+4tavoFD6kFCm1NX/oBRY=
 
 Name: chrome/locale/nl/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: GwAVAyX/jLNN32CUCpFfCA==
-SHA1-Digest: ZZ7Y9WIxgE8xGw2dbvYiha9X6W0=
+MD5-Digest: L5klYbdBgUuLU/m3nkgXmg==
+SHA1-Digest: Dvji1yImamIuibaE6pom+D3q+q0=
 
 Name: chrome/locale/nl/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -952,8 +952,8 @@ SHA1-Digest: I1Att5q7dUDdAIbhroTZi1FZ0os=
 
 Name: chrome/locale/pl/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: mCGPeYKT2a/MzrC1A87Fug==
-SHA1-Digest: 2q0+6MCvqPEHO2KFgIqo3jh2hqg=
+MD5-Digest: CedPKyNfIY2beXT0P85sAA==
+SHA1-Digest: F3yclTo+ZFRwD6YTKpjl+CFGDv0=
 
 Name: chrome/locale/pl/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -967,8 +967,8 @@ SHA1-Digest: P9ocXE7IK6wNPXiIr51c2D+MoXs=
 
 Name: chrome/locale/pt-BR/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: wjAk+Ci8G3DgdikP7xyp+g==
-SHA1-Digest: 2OIP22NQTyTiGSbwykVeVzm1BBA=
+MD5-Digest: OCcuUne+0sVe1LfzzAjyzw==
+SHA1-Digest: qarQm76ed6EuMU6UsyMyLGDqP9w=
 
 Name: chrome/locale/pt-BR/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -982,8 +982,8 @@ SHA1-Digest: F5Gzudwcvj9tdqcBsxGr0efxB6Y=
 
 Name: chrome/locale/pt-PT/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 7a2Y/nrc5pn49Gn22R76EA==
-SHA1-Digest: YPNUgJkpXpc79UmVG7zKRzk7dsw=
+MD5-Digest: 56mVqxtw9wWDJE/nNpsujw==
+SHA1-Digest: vFX218GKeNIt0ddQ4iVq7kueqnc=
 
 Name: chrome/locale/pt-PT/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -997,8 +997,8 @@ SHA1-Digest: 2lcDUg+dqYSX7FOY4prf39S61Uk=
 
 Name: chrome/locale/ro/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: huZZ5PAHjqwD4lTQrQckBg==
-SHA1-Digest: 83d0XL1NuDAkuk3Gu0PpgKcZ/6Q=
+MD5-Digest: 2/gRtR6TA83+GytCkh6HMg==
+SHA1-Digest: 6oFFTVSZyirVX9tEICfUbhVPV9I=
 
 Name: chrome/locale/ro/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1027,8 +1027,8 @@ SHA1-Digest: l4ysX3tnwlN4hCoasmYaODXXcoA=
 
 Name: chrome/locale/sk-SK/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 92bGhl4oSID+T805l3zB+g==
-SHA1-Digest: KXHgA+7ev5C+w5cSe4DmicJO0I8=
+MD5-Digest: t3VnTcuZixe8tAAGjKII4g==
+SHA1-Digest: 9+Np6AIjULFebWbJUD6qqytey+M=
 
 Name: chrome/locale/sk-SK/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1042,8 +1042,8 @@ SHA1-Digest: vyVw61FTz5MIKLbhdN0RhokcOFQ=
 
 Name: chrome/locale/sl-SI/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: o4Z+Ta0UP2hDgoWi2thZJg==
-SHA1-Digest: 0AdwvRqXO/F2grJTRt+Dk2hdX5Y=
+MD5-Digest: kMsJByxRpA1cvvBMCNF9zQ==
+SHA1-Digest: 5/rq3tjs3NzB9/V6fiMDNm3HaoY=
 
 Name: chrome/locale/sl-SI/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1057,8 +1057,8 @@ SHA1-Digest: pzRQpOrfox3yFbjBJA7q9RxkUCI=
 
 Name: chrome/locale/sr-RS/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: XZ7b8QTBrb1SfRvQ6XxGSQ==
-SHA1-Digest: jKPFxYR/gPxLjsh5l+N3QChTJNA=
+MD5-Digest: ej+0wAPPMN6HZwX22a82Rw==
+SHA1-Digest: CcJ6a82OQGQQ98a116WJZnRGgGE=
 
 Name: chrome/locale/sr-RS/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1087,8 +1087,8 @@ SHA1-Digest: DZdGzRyvtAVDdd+ieOShWPb/K/w=
 
 Name: chrome/locale/sv-SE/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: tGrp6bCGtCHddMmtRsT9Ng==
-SHA1-Digest: NjQQ5JCgPdTjTyDj8DXJUdfV7oc=
+MD5-Digest: IAXOOEDgH4JJ1tiqZuXJjA==
+SHA1-Digest: 1XIsnIszs5mxBXD5biLiMfAqJ+U=
 
 Name: chrome/locale/sv-SE/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1102,8 +1102,8 @@ SHA1-Digest: wPgAT8TTe+fOk2o/kzl27p7hiEA=
 
 Name: chrome/locale/te-IN/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: cvJnXT67YZXdPscc6/ASKg==
-SHA1-Digest: DtoZWsxm/kIuEmStExz2RhJWoGY=
+MD5-Digest: X29VG6cCrYg6DS3eBej+hA==
+SHA1-Digest: Z5frOsxZvwfccVbIw2D2Wypevdc=
 
 Name: chrome/locale/te-IN/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1117,8 +1117,8 @@ SHA1-Digest: E9iNrmms3GPVPG83auLwHZhc3Yk=
 
 Name: chrome/locale/th/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 1eqpgVJg0cV8wl2ZwzMNfQ==
-SHA1-Digest: Lvl4oVzrRy6/U7PTyCeBH1uPu5E=
+MD5-Digest: CTDXB8jVUr2KtE81wkZgkA==
+SHA1-Digest: KXaa7WKZpmhRnDsfG7S7zTMo+dA=
 
 Name: chrome/locale/th/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1132,8 +1132,8 @@ SHA1-Digest: fyquCmWmcvO+XAQZEpRKesve1qE=
 
 Name: chrome/locale/tr/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: wfgBQ9PLZAubX1+tIzqfgA==
-SHA1-Digest: B8jkeQBWlTIGudjJjLaWOeQpmhs=
+MD5-Digest: FrmkGnOqBnjqb68/EEIOcA==
+SHA1-Digest: dlbmC2rtzvADOpQYP7jGCsG71PU=
 
 Name: chrome/locale/tr/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1162,8 +1162,8 @@ SHA1-Digest: jJ2uCXM0ppagHEC8Zga3rBAHiKY=
 
 Name: chrome/locale/vi/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: pmqwwGNXO9HX+3A9cmVq3A==
-SHA1-Digest: uDjCqUOykAwGth7L3m5pbRjpjPc=
+MD5-Digest: +BKVGnaU74DSl8S5Z6UXBg==
+SHA1-Digest: gDp45qCo9THeHyqjeSnLqIRNOl0=
 
 Name: chrome/locale/vi/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1177,8 +1177,8 @@ SHA1-Digest: sjSFXUWhoyS0AL/uEOcWbEWXZiA=
 
 Name: chrome/locale/zh-CN/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: S6j9TWLogjNowtqRqI0rPA==
-SHA1-Digest: BmFykAqvPeajVmFFF8IuOuyZvW0=
+MD5-Digest: 70mGpMpKhaEykUVO0QYjsg==
+SHA1-Digest: xqQoWCdqCF66K/FtaEfd3qSi/h4=
 
 Name: chrome/locale/zh-CN/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1192,8 +1192,8 @@ SHA1-Digest: 0ezRfaXTFlZHSTxEUFVH9gh3mvU=
 
 Name: chrome/locale/zh-TW/noscript/noscript.dtd
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: tHNf8eUzjaC8+yi1CHNDmg==
-SHA1-Digest: Le9mRYgMc9NEGLrDUzYWVj35mW4=
+MD5-Digest: /NdnoESYR4vWGJ657bif4w==
+SHA1-Digest: 6pLhol88jpynsM/i4erE1/88EAM=
 
 Name: chrome/locale/zh-TW/noscript/noscript.properties
 Digest-Algorithms: MD5 SHA1
@@ -1500,38 +1500,13 @@ Digest-Algorithms: MD5 SHA1
 MD5-Digest: 8SSJMT09enBBkVofRsGmNA==
 SHA1-Digest: XFkBenfJx+pBTOgYSMpCvT2NGh4=
 
-Name: webextension/background.html
-Digest-Algorithms: MD5 SHA1
-MD5-Digest: rcv4U05os99N6ckCs2opDg==
-SHA1-Digest: JBcekwfoEoqK8XvDXxsQzGUeoGI=
-
 Name: webextension/legacy.js
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: 8j4VygesnFQ+XbF8hZL6cA==
-SHA1-Digest: p1DTu1E3zQ7rgR7U70GGYNCGaDY=
+MD5-Digest: o805XUj35LTfFs9yGeX5OQ==
+SHA1-Digest: ebwP0IzjCllGfmG9i6AAB4dXTXk=
 
 Name: webextension/manifest.json
 Digest-Algorithms: MD5 SHA1
-MD5-Digest: FyrA155ucp2TMfWEUd7elw==
-SHA1-Digest: q7Vw0SgCC+7IHYPcP+GovkSZOkM=
-
-Name: webextension/noscript.js
-Digest-Algorithms: MD5 SHA1
-MD5-Digest: Fyq4MH4L7NbYjNAK0ZvEAw==
-SHA1-Digest: eJQV4nneiZcT3BEILmWkbBIjSLA=
-
-Name: webextension/Policy.js
-Digest-Algorithms: MD5 SHA1
-MD5-Digest: 1R0QYhT2L+afl0qM9mLSuw==
-SHA1-Digest: Aoyq//RKyeHBYQFW+uYZYIDKo08=
-
-Name: webextension/WebRequest.js
-Digest-Algorithms: MD5 SHA1
-MD5-Digest: FAB+DraIG6d+DqhS5AFwFw==
-SHA1-Digest: YC3niw8+JJeK/n6KRNRNO2VYGxE=
-
-Name: webextension/lib/tld.js
-Digest-Algorithms: MD5 SHA1
-MD5-Digest: k9d5DIy26dP8VrA+T/mVqQ==
-SHA1-Digest: 9EAXt4yk01hS7a6oMc4QBwwm4Y8=
+MD5-Digest: vptFQQI2f/Z7n2n0uG+8ZQ==
+SHA1-Digest: e9HjmPmlzAmqTjEpwIEvCzpktrw=
 
diff --git a/META-INF/mozilla.rsa b/META-INF/mozilla.rsa
index 687dc03..e4ca56c 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 2e1f516..b4e35c8 100644
--- a/META-INF/mozilla.sf
+++ b/META-INF/mozilla.sf
@@ -1,4 +1,4 @@
 Signature-Version: 1.0
-MD5-Digest-Manifest: EKqagp0KRQzKiHelKbcsoQ==
-SHA1-Digest-Manifest: 11vcCjoldGvfOtiwraQviaknNNk=
+MD5-Digest-Manifest: IIHa/o/pUdiD/0KijC9ukg==
+SHA1-Digest-Manifest: 1aP2nE99qsh3YocLGYLvH/fcANs=
 
diff --git a/chrome/content/noscript/Main.js b/chrome/content/noscript/Main.js
index 410a90f..85a8f17 100644
--- a/chrome/content/noscript/Main.js
+++ b/chrome/content/noscript/Main.js
@@ -109,7 +109,7 @@ this.__defineGetter__("ABE", function() {
 });
 
 const ns = {
-  VERSION: "5.1.4rc1",
+  VERSION: "5.1.5",
   classDescription: CLASS_NAME,
 	classID: Components.ID(SERVICE_ID),
 	contractID: SERVICE_CTRID,
@@ -142,7 +142,7 @@ const ns = {
       switch (topic) {
 
         case "xpcom-shutdown":
-          this.shutdown();
+          this.shutdown(true);
           break;
 
         case "profile-before-change":
@@ -211,9 +211,17 @@ const ns = {
       OS.addObserver(observer, topic, observer instanceof Ci.nsISupportsWeakReference);
     }
   },
-  shutdown: function() {
+  shutdown: function(exiting = false) {
     if (!this._started) return;
     this._started = false;
+
+
+    if (exiting) {
+      this.resetJSCaps();
+      this.savePrefs();
+      return;
+    }
+
     this.dump("NoScript shutting down");
 
     if (!this.childProcess) {
diff --git a/chrome/content/noscript/UISync.jsm b/chrome/content/noscript/UISync.jsm
index 683c801..f1feadb 100644
--- a/chrome/content/noscript/UISync.jsm
+++ b/chrome/content/noscript/UISync.jsm
@@ -11,6 +11,7 @@ const messages = ["NoScript:reload", "NoScript:reloadAllowedObjects",
 
 function UISync(ctx) {
   this.ctx = ctx;
+  this.listeners = [];
   this.wire();
   this.scheduleSync();
 }
@@ -21,7 +22,6 @@ UISync.prototype = {
     delKey: false,
   },
 
-  listeners: [],
   addListener(type, handler, ...opts) {
     this.ctx.addEventListener(type, handler, ...opts);
     this.listeners.push({type, handler, opts});
diff --git a/chrome/content/noscript/WebExt.js b/chrome/content/noscript/WebExt.js
index 8895cf3..dec3747 100644
--- a/chrome/content/noscript/WebExt.js
+++ b/chrome/content/noscript/WebExt.js
@@ -6,11 +6,8 @@ var WebExt = {
   saveData(json = ns.conf2JSON(true)) {
     this.tell("saveData", json);
   },
-  start(policy = null) {
-    this.tell("start", policy);
-  },
-  stop() {
-    this.tell("stop");
+  dumpData() {
+    this.tell("dumpData");
   },
   tell(type, data) {
     if (this.port) try {
@@ -42,7 +39,6 @@ var WebExt = {
         ns.dump(`Webext connected`);
         WebExt.port = port;
         WebExt.saveData();
-        WebExt.stop();
       });
     }).catch(err => {
       Components.utils.reportError(
diff --git a/chrome/content/noscript/about.xul b/chrome/content/noscript/about.xul
index 7d0a54f..f6a6bd3 100644
--- a/chrome/content/noscript/about.xul
+++ b/chrome/content/noscript/about.xul
@@ -48,7 +48,7 @@ function about_onload() {
   
   var str = getString("aboutTitle",["NoScript"]);
   if(str) document.title = str;
-  str = getString("version", ["5.1.4rc1"]);
+  str = getString("version", ["5.1.5"]);
   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 5.1.4rc1" id="extensionVersion" crop="right"/>
+<label value="Version 5.1.5" 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#5.1.4rc1')">Changelog</label>
+<label id="changelog" class="text-link" align="center" tooltiptext="See Changelog" onclick="about_open('https://noscript.net/changelog#5.1.5')">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/content/noscript/iaUI.js b/chrome/content/noscript/iaUI.js
index 46c3075..a3db58f 100644
--- a/chrome/content/noscript/iaUI.js
+++ b/chrome/content/noscript/iaUI.js
@@ -136,12 +136,15 @@ SoundChooser.prototype = {
       
       fp.init(window, this.title, ci.nsIFilePicker.modeOpen);
       fp.appendFilter(this.serv.getString("audio.samples"),"*.wav");
-      fp.filterIndex=0;
-      const ret = fp.show();
-      if (ret == ci.nsIFilePicker.returnOK || ret==ci.nsIFilePicker.returnReplace) {
-        this.setSample(fp.fileURL.spec);
-        this.play();
-      }
+      fp.filterIndex = 0;
+      let done = ret => {
+        if (ret == ci.nsIFilePicker.returnOK || ret == ci.nsIFilePicker.returnReplace) {
+          this.setSample(fp.fileURL.spec);
+          this.play();
+        }
+      };
+      if (fp.show) done(fp.show);
+      else fp.open({done});
     } catch(ex) {
       Components.utils.import("resource://gre/modules/Services.jsm");
       Services.prompt.alert(window, this.title, ex.toString());
diff --git a/chrome/content/noscript/noscriptBM.js b/chrome/content/noscript/noscriptBM.js
index cb4ab53..3ba480c 100644
--- a/chrome/content/noscript/noscriptBM.js
+++ b/chrome/content/noscript/noscriptBM.js
@@ -17,7 +17,7 @@ window.noscriptBM = {
       let isShortcut = ("originalShortcut" in gURLBar) && gURLBar.originalShortcut !== shortcut;
       if (allowJS || isShortcut || !/\bhandleCommand@/.test(new Error().stack)) {
         window.setTimeout(function() { // if we don't defer, errors are not logged in the console...
-          if (!ns.executeJSURL(shortcut, callback, !isShortcut))
+          if (!ns.executeJSURL(url, callback, !isShortcut))
             callback();
         }, 0);
       } else {
diff --git a/chrome/content/noscript/noscriptOptions.js b/chrome/content/noscript/noscriptOptions.js
index d3a28fc..f9b3ca4 100644
--- a/chrome/content/noscript/noscriptOptions.js
+++ b/chrome/content/noscript/noscriptOptions.js
@@ -425,31 +425,27 @@ var nsopt = {
 
 
   chooseFile: function(title, mode, callback) {
-    try {
-      const IFP = Ci.nsIFilePicker;
-      const fp = Cc["@mozilla.org/filepicker;1"].createInstance(IFP);
+    const IFP = Ci.nsIFilePicker;
+    const fp = Cc["@mozilla.org/filepicker;1"].createInstance(IFP);
 
-      fp.init(window, title, IFP["mode" + mode]);
+    fp.init(window, title, IFP["mode" + mode]);
 
-      try {
-        fp.displayDirectory = ns.prefs.getComplexValue("exportDir", Ci.nsILocalFile);
-      } catch (e) {
-        fp.displayDirectory = Cc["@mozilla.org/file/directory_service;1"]
-                              .getService(Ci.nsIDirectoryServiceProvider)
-                              .getFile("Home", {});
-      }
-      fp.defaultExtension = "txt";
-      const ret = fp.show();
-      if(ret == IFP.returnOK ||
-          ret == IFP.returnReplace) {
-        callback.call(nsopt, fp.file);
-      }
-      try {
-        ns.prefs.setComplexValue("exportDir", Ci.nsILocalFile, fp.displayDirectory);
-      } catch (e) {}
-    } catch(ex) {
-      ns.prompter.alert(window, title, ex.toString());
+    try {
+      fp.displayDirectory = ns.prefs.getComplexValue("exportDir", Ci.nsILocalFile);
+    } catch (e) {
+      fp.displayDirectory = Cc["@mozilla.org/file/directory_service;1"]
+        .getService(Ci.nsIDirectoryServiceProvider)
+        .getFile("Home", {});
     }
+    fp.defaultExtension = "txt";
+    let done = ret => {
+        if(ret == IFP.returnOK ||
+           ret == IFP.returnReplace) {
+          callback.call(nsopt, fp.file);
+        }
+      };
+    if (fp.show) done(fp.show());
+    else  fp.open({done});
   },
 
 
diff --git a/chrome/locale/bg-BG/noscript/noscript.dtd b/chrome/locale/bg-BG/noscript/noscript.dtd
index e1334e9..26b7a1b 100644
--- a/chrome/locale/bg-BG/noscript/noscript.dtd
+++ b/chrome/locale/bg-BG/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Настройки…">
 <!ENTITY noscriptOptions.accesskey "Н">
 <!ENTITY noscriptOptionsLong "Настройки на NoScript">
-<!ENTITY noscriptAbout "За NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "За NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "Можете да зададете в кои уеб-сайтове е позволено да се използват скриптовете. Напишете адреса или домейна (например "http://www.site.com" или "site.com") на сайта, който искате да разрешите и натиснете Разреши.">
 <!ENTITY noscriptWebAddress "Адрес на уеб-сайта:">
 <!ENTITY noscriptAllow "Разреши">
diff --git a/chrome/locale/ca-AD/noscript/noscript.dtd b/chrome/locale/ca-AD/noscript/noscript.dtd
index 6f5b027..ba16f76 100644
--- a/chrome/locale/ca-AD/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Quant a NoScript 5.1.5">
 <!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/locale/cs-CZ/noscript/noscript.dtd b/chrome/locale/cs-CZ/noscript/noscript.dtd
index 34cc980..d7abbf5 100644
--- a/chrome/locale/cs-CZ/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "O rozšíření NoScript 5.1.5">
 <!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/locale/cy-GB/noscript/noscript.dtd b/chrome/locale/cy-GB/noscript/noscript.dtd
index 8c4e0a4..c79c8e3 100644
--- a/chrome/locale/cy-GB/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Yngylch NoScript 5.1.5">
 <!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/locale/da/noscript/noscript.dtd b/chrome/locale/da/noscript/noscript.dtd
index ad28761..b71121f 100644
--- a/chrome/locale/da/noscript/noscript.dtd
+++ b/chrome/locale/da/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Indstillinger…">
 <!ENTITY noscriptOptions.accesskey "I">
 <!ENTITY noscriptOptionsLong "NoScript Indstillinger">
-<!ENTITY noscriptAbout "Om NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "Om NoScript 5.1.5">
 <!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/locale/de/noscript/noscript.dtd b/chrome/locale/de/noscript/noscript.dtd
index a572257..82056be 100644
--- a/chrome/locale/de/noscript/noscript.dtd
+++ b/chrome/locale/de/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Einstellungen…">
 <!ENTITY noscriptOptions.accesskey "E">
 <!ENTITY noscriptOptionsLong "NoScript - Einstellungen">
-<!ENTITY noscriptAbout "Über NoScript 5.1.4rc1…">
+<!ENTITY noscriptAbout "Über NoScript 5.1.5…">
 <!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/locale/el/noscript/noscript.dtd b/chrome/locale/el/noscript/noscript.dtd
index 9ede62d..e7bba99 100644
--- a/chrome/locale/el/noscript/noscript.dtd
+++ b/chrome/locale/el/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Επιλογές">
 <!ENTITY noscriptOptions.accesskey "Ε">
 <!ENTITY noscriptOptionsLong "Επιλογές NoScript">
-<!ENTITY noscriptAbout "Περί NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "Περί NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "Μπορείτε να καθορίσετε για ποιους ιστότοπους θα επιτρέπεται η εκτέλεση σεναρίων εντολών. Πληκτρολογήστε τη διεύθυνση τομέα (πχ. "http://www.site.com" or "site.com") του ιστότοπου που θέλετε και μετά κάντε κλικ στο «Να επιτρέπεται»">
 <!ENTITY noscriptWebAddress "Διεύθυνση ιστότοπου">
 <!ENTITY noscriptAllow "Να επιτρέπεται">
diff --git a/chrome/locale/en-GB/noscript/noscript.dtd b/chrome/locale/en-GB/noscript/noscript.dtd
index ef5deef..89c259c 100644
--- a/chrome/locale/en-GB/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.5…">
 <!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/locale/en-US/noscript/noscript.dtd b/chrome/locale/en-US/noscript/noscript.dtd
index 2e9d68a..36ef340 100644
--- a/chrome/locale/en-US/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.5…">
 <!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/locale/eo/noscript/noscript.dtd b/chrome/locale/eo/noscript/noscript.dtd
index 7eade13..a682a8d 100644
--- a/chrome/locale/eo/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "Pri NoScript 5.1.5…">
 <!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/locale/es-AR/noscript/noscript.dtd b/chrome/locale/es-AR/noscript/noscript.dtd
index 08279d2..247da5c 100644
--- a/chrome/locale/es-AR/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Acerca de NoScript 5.1.5">
 <!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/locale/es-CL/noscript/noscript.dtd b/chrome/locale/es-CL/noscript/noscript.dtd
index daacd9d..48f6ae3 100644
--- a/chrome/locale/es-CL/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.5…">
 <!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/locale/es-ES/noscript/noscript.dtd b/chrome/locale/es-ES/noscript/noscript.dtd
index 3712b4a..8e5dc6d 100644
--- a/chrome/locale/es-ES/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Acerca de NoScript 5.1.5">
 <!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/locale/et-EE/noscript/noscript.dtd b/chrome/locale/et-EE/noscript/noscript.dtd
index 7b90659..0eda26f 100644
--- a/chrome/locale/et-EE/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "Täpsemalt lisast NoScript 5.1.5…">
 <!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/locale/eu/noscript/noscript.dtd b/chrome/locale/eu/noscript/noscript.dtd
index d3ece56..2c0d3af 100644
--- a/chrome/locale/eu/noscript/noscript.dtd
+++ b/chrome/locale/eu/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Aukerak:">
 <!ENTITY noscriptOptions.accesskey "A">
 <!ENTITY noscriptOptionsLong "NoScript aukerak">
-<!ENTITY noscriptAbout "NoScript 5.1.4rc1-eri buruz:">
+<!ENTITY noscriptAbout "NoScript 5.1.5-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/locale/fa-IR/noscript/noscript.dtd b/chrome/locale/fa-IR/noscript/noscript.dtd
index 413b99c..77bde14 100644
--- a/chrome/locale/fa-IR/noscript/noscript.dtd
+++ b/chrome/locale/fa-IR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "تنظیمات...">
 <!ENTITY noscriptOptions.accesskey "ت">
 <!ENTITY noscriptOptionsLong "تنظیمات NoScript">
-<!ENTITY noscriptAbout "درباره NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "درباره NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "شما می توانید سایت هایی را که اجازه اجرای اسکریپت دارند را مشخص کنید.آدرس سایت یا نام دامنه را وارد کنید.(به عنوان مثال "http://www.site.com" یا "site.com")">
 <!ENTITY noscriptWebAddress "آدرس وب سایت :">
 <!ENTITY noscriptAllow "اجازه دادن">
diff --git a/chrome/locale/fi/noscript/noscript.dtd b/chrome/locale/fi/noscript/noscript.dtd
index 1013886..c8a2832 100644
--- a/chrome/locale/fi/noscript/noscript.dtd
+++ b/chrome/locale/fi/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Asetukset…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript asetukset">
-<!ENTITY noscriptAbout "Tietoja NoScript 5.1.4rc1istä…">
+<!ENTITY noscriptAbout "Tietoja NoScript 5.1.5istä…">
 <!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/locale/fr/noscript/noscript.dtd b/chrome/locale/fr/noscript/noscript.dtd
index c3449ee..f969d45 100644
--- a/chrome/locale/fr/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "À propos de NoScript 5.1.5…">
 <!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/locale/gl-ES/noscript/noscript.dtd b/chrome/locale/gl-ES/noscript/noscript.dtd
index d04bbec..839197b 100644
--- a/chrome/locale/gl-ES/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Acerca de NoScript 5.1.5">
 <!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/locale/he-IL/noscript/noscript.dtd b/chrome/locale/he-IL/noscript/noscript.dtd
index 533442b..e5e07c5 100644
--- a/chrome/locale/he-IL/noscript/noscript.dtd
+++ b/chrome/locale/he-IL/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "הגדרות...">
 <!ENTITY noscriptOptions.accesskey "">
 <!ENTITY noscriptOptionsLong "NoScript הגדרות של">
-<!ENTITY noscriptAbout "אודות NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "אודות NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "ציין אילו אתרים יכולים לקבל היתר להפעלת קבצי Script. הקלד את כתובת האתר או את שם התחום (כגון: "http://www.site.com" או "site.com") ולאחר מכן לחץ על התר.">
 <!ENTITY noscriptWebAddress "כתובת/תחום:">
 <!ENTITY noscriptAllow "התר">
diff --git a/chrome/locale/hr-HR/noscript/noscript.dtd b/chrome/locale/hr-HR/noscript/noscript.dtd
index 6fae166..c1dcc29 100644
--- a/chrome/locale/hr-HR/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "O NoScript 5.1.5">
 <!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/locale/hsb/noscript/noscript.dtd b/chrome/locale/hsb/noscript/noscript.dtd
index 4cece06..cf9e9e0 100644
--- a/chrome/locale/hsb/noscript/noscript.dtd
+++ b/chrome/locale/hsb/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opcije…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "Opcije NoScript">
-<!ENTITY noscriptAbout "Wo NoScript 5.1.4rc1…">
+<!ENTITY noscriptAbout "Wo NoScript 5.1.5…">
 <!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/locale/hu-HU/noscript/noscript.dtd b/chrome/locale/hu-HU/noscript/noscript.dtd
index d41ab6f..ff2ca70 100644
--- a/chrome/locale/hu-HU/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1 névjegye">
+<!ENTITY noscriptAbout "A NoScript 5.1.5 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/locale/id-ID/noscript/noscript.dtd b/chrome/locale/id-ID/noscript/noscript.dtd
index 7ee0dd8..7712861 100644
--- a/chrome/locale/id-ID/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Tentang NoScript 5.1.5">
 <!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/locale/it/noscript/noscript.dtd b/chrome/locale/it/noscript/noscript.dtd
index d86cdff..80913a6 100644
--- a/chrome/locale/it/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "Informazioni su NoScript 5.1.5…">
 <!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/locale/ja-JP/noscript/noscript.dtd b/chrome/locale/ja-JP/noscript/noscript.dtd
index ac55d70..d00aa9a 100644
--- a/chrome/locale/ja-JP/noscript/noscript.dtd
+++ b/chrome/locale/ja-JP/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "オプション...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript オプション">
-<!ENTITY noscriptAbout "NoScript 5.1.4rc1について...">
+<!ENTITY noscriptAbout "NoScript 5.1.5について...">
 <!ENTITY noscriptPermissionsText "JavaScriptを許可するサイトを指定する事ができます。許可したいサイトのアドレスかドメインを入力して、ボタンを押してください。(例: "http://www.site.com" または "site.com")">
 <!ENTITY noscriptWebAddress "ウェブサイトのアドレス:">
 <!ENTITY noscriptAllow "許可する">
diff --git a/chrome/locale/kk-KZ/noscript/noscript.dtd b/chrome/locale/kk-KZ/noscript/noscript.dtd
index bbab115..c08715c 100644
--- a/chrome/locale/kk-KZ/noscript/noscript.dtd
+++ b/chrome/locale/kk-KZ/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Баптаулары">
 <!ENTITY noscriptOptions.accesskey "Б">
 <!ENTITY noscriptOptionsLong "NoScript баптаулары">
-<!ENTITY noscriptAbout "NoScript 5.1.4rc1 туралы...">
+<!ENTITY noscriptAbout "NoScript 5.1.5 туралы...">
 <!ENTITY noscriptPermissionsText "Қай сайттарға JavaScript орындауға рұқсат екенін көрсете аласыз. Рұқсат етілетін сайттың домен адресін енгізіңіз (мысалы, "http://www.site.com" немесе "site.com"), содан кейін Рұқсат ету басыңыз.">
 <!ENTITY noscriptWebAddress "Веб-сайт адресі:">
 <!ENTITY noscriptAllow "Рұқсат ету">
diff --git a/chrome/locale/km-KH/noscript/noscript.dtd b/chrome/locale/km-KH/noscript/noscript.dtd
index fae291e..ad3a2a6 100644
--- a/chrome/locale/km-KH/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "About NoScript 5.1.5">
 <!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/locale/ko-KR/noscript/noscript.dtd b/chrome/locale/ko-KR/noscript/noscript.dtd
index 4ad073d..1d90aca 100644
--- a/chrome/locale/ko-KR/noscript/noscript.dtd
+++ b/chrome/locale/ko-KR/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "옵션...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 옵션">
-<!ENTITY noscriptAbout "NoScript 5.1.4rc1 정보...">
+<!ENTITY noscriptAbout "NoScript 5.1.5 정보...">
 <!ENTITY noscriptPermissionsText "스크립트 실행을 허용할 웹 사이트를 지정할 수 있습니다. 스크립트를 허용할 사이트의 주소나 도메인 (예를 들면, "http://www.site.com" 또는 "site.com")을 입력한 후 [허용] 버튼을 클릭합니다.">
 <!ENTITY noscriptWebAddress "웹 사이트 주소">
 <!ENTITY noscriptAllow "허용">
diff --git a/chrome/locale/lt/noscript/noscript.dtd b/chrome/locale/lt/noscript/noscript.dtd
index 1127ce9..5d38fd1 100644
--- a/chrome/locale/lt/noscript/noscript.dtd
+++ b/chrome/locale/lt/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Nuostatos...">
 <!ENTITY noscriptOptions.accesskey "N">
 <!ENTITY noscriptOptionsLong "NoScript nuostatos">
-<!ENTITY noscriptAbout "Apie NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "Apie NoScript 5.1.5">
 <!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/locale/mk-MK/noscript/noscript.dtd b/chrome/locale/mk-MK/noscript/noscript.dtd
index 4adade3..430b6c0 100644
--- a/chrome/locale/mk-MK/noscript/noscript.dtd
+++ b/chrome/locale/mk-MK/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Опции...">
 <!ENTITY noscriptOptions.accesskey "О">
 <!ENTITY noscriptOptionsLong "NoScript Опции">
-<!ENTITY noscriptAbout "За NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "За NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "Можете да ги назначите страните, на кои што скриптите ќе бидат дозволени. Напишете ја дозволената адреса (на пример http://www.site.com или site.com) и кликнете „Дозволи“">
 <!ENTITY noscriptWebAddress "Адреса на дозволената веб страна:">
 <!ENTITY noscriptAllow "Дозволи">
diff --git a/chrome/locale/ms-MY/noscript/noscript.dtd b/chrome/locale/ms-MY/noscript/noscript.dtd
index baa2ea0..10fd2d7 100644
--- a/chrome/locale/ms-MY/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Tentang NoScript 5.1.5">
 <!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/locale/nb-NO/noscript/noscript.dtd b/chrome/locale/nb-NO/noscript/noscript.dtd
index c067243..7fbaa68 100644
--- a/chrome/locale/nb-NO/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Om NoScript 5.1.5">
 <!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/locale/nl/noscript/noscript.dtd b/chrome/locale/nl/noscript/noscript.dtd
index d8cb768..bffbdd5 100644
--- a/chrome/locale/nl/noscript/noscript.dtd
+++ b/chrome/locale/nl/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Opties…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript-opties">
-<!ENTITY noscriptAbout "Over NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "Over NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "U kunt opgeven welke websites scripts mogen gebruiken. Typ het adres of domein (bv. ‘http://www.website.com’ of ‘website.com’) van de website die u wilt toestaan, en klik daarna op Toestaan.">
 <!ENTITY noscriptWebAddress "Adres van website:">
 <!ENTITY noscriptAllow "Toestaan">
diff --git a/chrome/locale/pl/noscript/noscript.dtd b/chrome/locale/pl/noscript/noscript.dtd
index 3d916b4..10cc4ba 100644
--- a/chrome/locale/pl/noscript/noscript.dtd
+++ b/chrome/locale/pl/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Ustawienia">
 <!ENTITY noscriptOptions.accesskey "U">
 <!ENTITY noscriptOptionsLong "NoScript – ustawienia">
-<!ENTITY noscriptAbout "NoScript 5.1.4rc1 – informacje">
+<!ENTITY noscriptAbout "NoScript 5.1.5 – 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/locale/pt-BR/noscript/noscript.dtd b/chrome/locale/pt-BR/noscript/noscript.dtd
index 8cbd995..b0b6b1f 100644
--- a/chrome/locale/pt-BR/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "Sobre o NoScript 5.1.5…">
 <!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/locale/pt-PT/noscript/noscript.dtd b/chrome/locale/pt-PT/noscript/noscript.dtd
index 2be9acb..3e00ead 100644
--- a/chrome/locale/pt-PT/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Sobre o NoScript 5.1.5">
 <!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/locale/ro/noscript/noscript.dtd b/chrome/locale/ro/noscript/noscript.dtd
index b7a2eee..6edc148 100644
--- a/chrome/locale/ro/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Despre NoScript 5.1.5">
 <!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/locale/sk-SK/noscript/noscript.dtd b/chrome/locale/sk-SK/noscript/noscript.dtd
index a657223..b0e5048 100644
--- a/chrome/locale/sk-SK/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "O rozšírení NoScript 5.1.5">
 <!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/locale/sl-SI/noscript/noscript.dtd b/chrome/locale/sl-SI/noscript/noscript.dtd
index 71b9d1d..baa71f8 100644
--- a/chrome/locale/sl-SI/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1 programu...">
+<!ENTITY noscriptAbout "O NoScript 5.1.5 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/locale/sr-RS/noscript/noscript.dtd b/chrome/locale/sr-RS/noscript/noscript.dtd
index c80e225..50b51c5 100644
--- a/chrome/locale/sr-RS/noscript/noscript.dtd
+++ b/chrome/locale/sr-RS/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "Подешавања...">
 <!ENTITY noscriptOptions.accesskey "П">
 <!ENTITY noscriptOptionsLong "NoScript подешавања">
-<!ENTITY noscriptAbout "О NoScript 5.1.4rc1-у">
+<!ENTITY noscriptAbout "О NoScript 5.1.5-у">
 <!ENTITY noscriptPermissionsText "Можете да наведете којим веб странама је дозвољено да извршавају скриптове. Унесите адресу или домен (нпр. "http://www.site.com" или "site.com") стране којој желите да дате дозволу и онда кликните Дозволи.">
 <!ENTITY noscriptWebAddress "Адреса веб стране:">
 <!ENTITY noscriptAllow "Дозволи">
diff --git a/chrome/locale/sv-SE/noscript/noscript.dtd b/chrome/locale/sv-SE/noscript/noscript.dtd
index bbcf197..e2f61f5 100644
--- a/chrome/locale/sv-SE/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Om NoScript 5.1.5">
 <!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/locale/te-IN/noscript/noscript.dtd b/chrome/locale/te-IN/noscript/noscript.dtd
index f91be0a..3499ead 100644
--- a/chrome/locale/te-IN/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1…">
+<!ENTITY noscriptAbout "About NoScript 5.1.5…">
 <!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/locale/th/noscript/noscript.dtd b/chrome/locale/th/noscript/noscript.dtd
index 72b4f47..df041de 100644
--- a/chrome/locale/th/noscript/noscript.dtd
+++ b/chrome/locale/th/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "ตัวเลือก...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "ตัวเลือก NoScript">
-<!ENTITY noscriptAbout "เกี่ยวกับ NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "เกี่ยวกับ NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "คุณสามารถกำหนดเว็บไซต์ที่จะอนุญาตดำเนินการสคริปต์ พิมพ์ที่อยู่หรือโดเมน (เช่น "http://www.site.com" หรือ "site.com") ของไซต์ที่คุณต้องการอนุญาตและคลิกอนุญาต">
 <!ENTITY noscriptWebAddress "ที่อยู่เว็บไซต์:">
 <!ENTITY noscriptAllow "อนุญาต">
diff --git a/chrome/locale/tr/noscript/noscript.dtd b/chrome/locale/tr/noscript/noscript.dtd
index adee6ac..968c51e 100644
--- a/chrome/locale/tr/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1 @VERSION@ Hakkında">
+<!ENTITY noscriptAbout "NoScript 5.1.5 @VERSION@ Hakkında">
 <!ENTITY noscriptPermissionsText "Hangi web sayfalarında JavaScript'e izni vereceğinizi kolayca seçebilirsiniz. Lütfen adresi tam olarak girin (örn. "http://www.site.com" veya "site.com") 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/locale/vi/noscript/noscript.dtd b/chrome/locale/vi/noscript/noscript.dtd
index 7acf140..1c507fc 100644
--- a/chrome/locale/vi/noscript/noscript.dtd
+++ b/chrome/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 5.1.4rc1">
+<!ENTITY noscriptAbout "Thông tin về NoScript 5.1.5">
 <!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/locale/zh-CN/noscript/noscript.dtd b/chrome/locale/zh-CN/noscript/noscript.dtd
index 19c04c3..8a13fb9 100644
--- a/chrome/locale/zh-CN/noscript/noscript.dtd
+++ b/chrome/locale/zh-CN/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "选项...">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 选项">
-<!ENTITY noscriptAbout "关于 NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "关于 NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "您可以指定允许执行脚本的网站。请输入您想要允许的网站地址或域名(例如: “http://www.site.com”或者“site.com”)然后单击“允许”。">
 <!ENTITY noscriptWebAddress "网站地址:">
 <!ENTITY noscriptAllow "允许">
diff --git a/chrome/locale/zh-TW/noscript/noscript.dtd b/chrome/locale/zh-TW/noscript/noscript.dtd
index e4837da..769d1b4 100644
--- a/chrome/locale/zh-TW/noscript/noscript.dtd
+++ b/chrome/locale/zh-TW/noscript/noscript.dtd
@@ -1,7 +1,7 @@
 <!ENTITY noscriptOptions "選項…">
 <!ENTITY noscriptOptions.accesskey "O">
 <!ENTITY noscriptOptionsLong "NoScript 選項">
-<!ENTITY noscriptAbout "關於 NoScript 5.1.4rc1">
+<!ENTITY noscriptAbout "關於 NoScript 5.1.5">
 <!ENTITY noscriptPermissionsText "您可以指定允許執行 JavaScript 的網站。輸入您要允許的網址或網域(例如 "http://www.site.com" 或 "site.com"),然後按下允許.">
 <!ENTITY noscriptWebAddress "網址:">
 <!ENTITY noscriptAllow "允許">
diff --git a/install.rdf b/install.rdf
index ae814b4..1f8d12f 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>5.1.4rc1</em:version>
+   <em:version>5.1.5</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>
diff --git a/webextension/Policy.js b/webextension/Policy.js
deleted file mode 100644
index 7fbb985..0000000
--- a/webextension/Policy.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-
-class Policy {
-  constructor(settings = {}) {
-    this.settings = settings;
-  }
-
-  getPermissionsFor(url) {
-  }
-
-  isAllowed(url, type) {
-    if (!(policy && policy.enforced)) {
-        return true;
-      }
-      let url = new URL(urlString);
-      return url.origin in policy.origins && policy.origins[url.origin].js;
-  }
-}
-
diff --git a/webextension/WebRequest.js b/webextension/WebRequest.js
deleted file mode 100644
index 9320d65..0000000
--- a/webextension/WebRequest.js
+++ /dev/null
@@ -1,59 +0,0 @@
-{
-  let CSP = {
-    name: "Content-Security-Policy",
-    value: "x-NoScript-start; script-src 'none'; x-NoScript-stop;",
-  };
-
-  var WebRequest = {
-    start() {
-      let wr = browser.webRequest;
-      let listeners = this.listeners;
-      wr.onBeforeRequest.addListener(listeners.onBeforeRequest,
-        {urls: ["<all_urls>"]},
-        ["blocking"]
-      );
-      wr.onHeadersReceived.addListener(listeners.onHeadersReceived,
-        {urls: ["<all_urls>"]},
-        ["blocking", "responseHeaders"]
-      );
-
-    },
-
-    stop() {
-      let wr = browser.webRequest;
-      for (let [name, listener] of Object.entries(this.listeners)) {
-        wr[name].removeListener(listener);
-      }
-    },
-    listeners: {
-      async onBeforeRequest(e) {
-        // suspend every request until we've got a policy
-        let policy = await ns.retrievePolicy();
-        return policy.isAllowed(e.url, e.type);
-      },
-      onHeadersReceived(e) {
-        let header;
-        let responseHeaders = e.responseHeaders;
-        for (let h of responseHeaders) {
-          if (h.name === CSP.name) {
-            while(h.value.includes(CSP.value)) {
-              h.value = h.value.replace(CSP.value, '');
-              if (/^\s*$/.test(h.value)) {
-                header = h;
-                h.value = "";
-              }
-            }
-          }
-        }
-        if (!ns.isJSEnabled(e.url)) {
-          if (header) {
-            header.value = CSP.value;
-          } else {
-            responseHeaders.push(header = CSP);
-          }
-        }
-        return header ? {responseHeaders} : null;
-      },
-    }
-  };
-}
diff --git a/webextension/background.html b/webextension/background.html
deleted file mode 100644
index 375c94d..0000000
--- a/webextension/background.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>NoScript</title>
-<script src="legacy.js"></script>
-<script src="WebRequest.js"></script>
-<script src="lib/tld.js"></script>
-<script src="noscript.js"></script>
-</head>
-</html>
diff --git a/webextension/legacy.js b/webextension/legacy.js
index edf06e8..80ed81d 100644
--- a/webextension/legacy.js
+++ b/webextension/legacy.js
@@ -4,15 +4,6 @@ try {
   legacyPort = browser.runtime.connect({name: "legacy"});
   legacyPort.onMessage.addListener(msg => {
     switch(msg.type) {
-
-      case "start":
-        ns.start(msg.data);
-      break;
-
-      case "stop":
-        ns.stop();
-      break;
-
       case "saveData":
         let backup = msg.data;
         browser.storage.local.set({legacyBackup: backup}).then(() => {
@@ -33,11 +24,13 @@ try {
       break;
 
       case "dumpData":
-        browser.storage.local.get(null, items => console.log(items));
+        browser.storage.local.get(null, items => console.log(JSON.stringify(items)));
       break;
     }
   });
+  browser.runtime.sendMessage("Hybrid WebExtension NoScript Ready");
 } catch(e) {
   legacyPort = null;
+  console.error(e);
 }
 
diff --git a/webextension/lib/tld.js b/webextension/lib/tld.js
deleted file mode 100644
index 394ada3..0000000
--- a/webextension/lib/tld.js
+++ /dev/null
@@ -1,31 +0,0 @@
-var tld = {
-  normalize(d) { return d; },
-
-  getDomain(domain) {
-    domain = this.normalize(domain);
-    var pos = domain.search(this._tldEx);
-    if(pos < 0) {
-      pos = domain.search(this._tldRx);
-      if(pos >= 0) pos = domain.lastIndexOf(".", pos - 1) + 1;
-    } else if(domain[pos] == ".") {
-      ++pos;
-    }
-    return pos < 0 ? domain : domain.substring(pos);
-  },
-
-  getPublicSuffix(domain) {
-    domain = this.normalize(domain);
-    var pos = domain.search(this._tldEx);
-    if(pos < 0) {
-      pos = domain.search(this._tldRx);
-      if(pos >= 0 && domain[pos] == ".") pos++;
-    } else {
-      pos = domain.indexOf(".", pos + 1) + 1;
-    }
-    return pos < 0 ? "" : domain.substring(pos);
-  },
-  
-  _tldRx: /(?:\.|^)(?:s(?:h(?:i(?:(?:m(?:o(?:(?:go\.fukushim|fusa\.chib|ji\.okinaw|ichi\.nar)a|k(?:awa\.hokkaido|itayama\.nara)|n(?:oseki\.yamaguchi|ita\.gunma)|tsu(?:ke\.tochig|ma\.ibarak)i|da(?:te\.ibaraki|\.shizuoka)|suwa\.nagano)|a(?:m(?:aki\.hokkaido|oto\.osaka)|(?:(?:ne\.shima)?n|\.mi)e|bara\.nagasaki|da\.shizuoka)|izu\.(?:hokkaido|shizuoka))|n(?:(?:a(?:nomachi\.nagan|gawa\.toky)|onsen\.hyog)o|g(?:u\.(?:(?:wakayam|fukuok)a|hyogo)|o\.aomori)|j(?:o\.(?:yamagat|okayam|nar)a|uku\.tokyo [...]
-  ,
-  _tldEx: /(?:\.|^)(?:city\.(?:k(?:itakyushu|awasaki|obe)|(?:yokoham|nagoy)a|s(?:apporo|endai))\.jp|www\.ck)$/
-}
diff --git a/webextension/manifest.json b/webextension/manifest.json
index 4678285..c03347b 100644
--- a/webextension/manifest.json
+++ b/webextension/manifest.json
@@ -23,6 +23,6 @@
   ],
 
   "background": {
-    "page": "background.html"
+    "scripts": ["legacy.js"]
   }
 }
diff --git a/webextension/noscript.js b/webextension/noscript.js
deleted file mode 100644
index ca921db..0000000
--- a/webextension/noscript.js
+++ /dev/null
@@ -1,52 +0,0 @@
-"use strict";
-
-{
-  let policy = null;
-
-  var ns = {
-    running: false,
-
-    start(settings = null) {
-      if (this.running) return;
-      this.running = true;
-      if (settings) policy = new Policy(settings);
-      this.notify("STARTED");
-    },
-
-    stop() {
-      if (!this.running) return;
-      this.running= false;
-      WebRequest.stop();
-      this.notify("STOPPED");
-    },
-
-    async retrievePolicy() {
-      return this.policy || (this.policy = new Policy(await browser.storage.get("policy")));
-    },
-
-    isJSEnabled(urlString) {
-      return this.retrievePolicy().isAllowed(urlString, "script");
-    },
-
-    notify(msg) {
-      if (window.legacyPort) {
-        browser.runtime.sendMessage(msg);
-      }
-    },
-
-    log(msg) {
-      console.log(msg);
-    },
-  };
-}
-
-if (window.legacyPort) {
-  ns.log("HYBRID WebExtension");
-  ns.notify("READY");
-} else {
-  ns.log("PURE WebExtension");
-  browser.storage.local.get("legacyBackup", items => console.log(`NoScript legacy imported data backup: ${JSON.stringify(items)}`));
-  ns.start();
-}
-ns.log("NoScript WebExt Ready");
-

-- 
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