11"use strict" ;
22
3- var backgroundPage = chrome . extension . getBackgroundPage ( ) ;
4- var stableRules = null ;
5- var unstableRules = null ;
6- var hostReg = / .* \/ \/ [ ^ $ / ] * \/ / ;
7- var storage = backgroundPage . storage ;
3+ const backgroundPage = chrome . extension . getBackgroundPage ( ) ;
4+ let stableRules = null ;
5+ let unstableRules = null ;
6+ const hostReg = / .* \/ \/ [ ^ $ / ] * \/ / ;
7+ const storage = backgroundPage . storage ;
88
99function e ( id ) {
1010 return document . getElementById ( id ) ;
@@ -18,7 +18,7 @@ function e(id) {
1818function toggleRuleLine ( checkbox , ruleset ) {
1919 ruleset . active = checkbox . checked ;
2020
21- if ( ruleset . active != ruleset . default_state ) {
21+ if ( ruleset . active !== ruleset . default_state ) {
2222 localStorage [ ruleset . name ] = ruleset . active ;
2323 } else {
2424 delete localStorage [ ruleset . name ] ;
@@ -37,54 +37,54 @@ function toggleRuleLine(checkbox, ruleset) {
3737function appendRuleLineToListDiv ( ruleset , list_div ) {
3838
3939 // parent block for line
40- var line = document . createElement ( "div" ) ;
40+ const line = document . createElement ( "div" ) ;
4141 line . className = "rule checkbox" ;
4242
4343 // label "container"
44- var label = document . createElement ( "label" ) ;
44+ const label = document . createElement ( "label" ) ;
4545
4646 // checkbox
47- var checkbox = document . createElement ( "input" ) ;
47+ const checkbox = document . createElement ( "input" ) ;
4848 checkbox . type = "checkbox" ;
4949 if ( ruleset . active ) {
5050 checkbox . setAttribute ( "checked" , "" ) ;
5151 }
52- checkbox . onchange = function ( ev ) {
52+ checkbox . onchange = ev => {
5353 toggleRuleLine ( checkbox , ruleset ) ;
5454 } ;
5555 label . appendChild ( checkbox ) ;
5656
5757 // favicon (from chrome's cache)
58- var favicon = document . createElement ( "img" ) ;
58+ const favicon = document . createElement ( "img" ) ;
5959 favicon . className = "favicon" ;
6060 favicon . src = "chrome://favicon/" ;
61- for ( let rule of ruleset . rules ) {
62- var host = hostReg . exec ( rule . to ) ;
61+ for ( const rule of ruleset . rules ) {
62+ const host = hostReg . exec ( rule . to ) ;
6363 if ( host ) {
6464 favicon . src += host [ 0 ] ;
6565 break ;
6666 }
6767 }
68- var xhr = new XMLHttpRequest ( ) ;
68+ const xhr = new XMLHttpRequest ( ) ;
6969 try {
7070 xhr . open ( "GET" , favicon . src , true ) ;
7171 label . appendChild ( favicon ) ;
7272 } catch ( e ) { }
7373
7474 // label text
75- var text = document . createElement ( "span" ) ;
75+ const text = document . createElement ( "span" ) ;
7676 text . innerText = ruleset . name ;
7777 if ( ruleset . note . length ) {
7878 text . title = ruleset . note ;
7979 }
8080
81- if ( ruleset . note == "user rule" ) {
82- var remove = document . createElement ( "img" ) ;
81+ if ( ruleset . note === "user rule" ) {
82+ const remove = document . createElement ( "img" ) ;
8383 remove . src = chrome . extension . getURL ( "remove.png" ) ;
8484 remove . className = "remove" ;
8585 line . appendChild ( remove ) ;
8686
87- remove . addEventListener ( "click" , function ( ) {
87+ remove . addEventListener ( "click" , ( ) => {
8888 backgroundPage . removeRule ( ruleset ) ;
8989 list_div . removeChild ( line ) ;
9090 } ) ;
@@ -129,11 +129,11 @@ function toggleEnabledDisabled() {
129129 * @param tabArray
130130 */
131131function gotTab ( tabArray ) {
132- var activeTab = tabArray [ 0 ] ;
133- var rulesets = backgroundPage . activeRulesets . getRulesets ( activeTab . id ) ;
132+ const activeTab = tabArray [ 0 ] ;
133+ const rulesets = backgroundPage . activeRulesets . getRulesets ( activeTab . id ) ;
134134
135- for ( var r in rulesets ) {
136- var listDiv = stableRules ;
135+ for ( const r in rulesets ) {
136+ const listDiv = stableRules ;
137137 if ( ! rulesets [ r ] . default_state ) {
138138 listDiv = unstableRules ;
139139 }
@@ -160,24 +160,24 @@ document.addEventListener("DOMContentLoaded", function () {
160160 document . getElementById ( 'onoffswitch' ) . addEventListener ( 'click' , toggleEnabledDisabled ) ;
161161
162162 // Print the extension's current version.
163- var the_manifest = chrome . runtime . getManifest ( ) ;
164- var version_info = document . getElementById ( 'current-version' ) ;
163+ const the_manifest = chrome . runtime . getManifest ( ) ;
164+ const version_info = document . getElementById ( 'current-version' ) ;
165165 version_info . innerText = the_manifest . version ;
166166
167167 // Set up toggle checkbox for HTTP nowhere mode
168- getOption_ ( 'httpNowhere' , false , function ( item ) {
169- var httpNowhereCheckbox = document . getElementById ( 'http-nowhere-checkbox' ) ;
168+ getOption_ ( 'httpNowhere' , false , item => {
169+ const httpNowhereCheckbox = document . getElementById ( 'http-nowhere-checkbox' ) ;
170170 httpNowhereCheckbox . addEventListener ( 'click' , toggleHttpNowhere , false ) ;
171- var httpNowhereEnabled = item . httpNowhere ;
171+ const httpNowhereEnabled = item . httpNowhere ;
172172 if ( httpNowhereEnabled ) {
173173 httpNowhereCheckbox . setAttribute ( 'checked' , '' ) ;
174174 }
175175 } ) ;
176176
177177 // auto-translate all elements with i18n attributes
178- var elem = document . querySelectorAll ( "[i18n]" ) ;
179- for ( let el of elem ) {
180- el . innerHTML = chrome . i18n . getMessage ( el . getAttribute ( "i18n" ) ) ;
178+ const elements = document . querySelectorAll ( "[i18n]" ) ;
179+ for ( const element of elements ) {
180+ elements . innerHTML = chrome . i18n . getMessage ( elements . getAttribute ( "i18n" ) ) ;
181181 }
182182
183183 // other translations
@@ -186,7 +186,7 @@ document.addEventListener("DOMContentLoaded", function () {
186186} ) ;
187187
188188
189- var escapeForRegex = function ( value ) {
189+ function escapeForRegex ( value ) {
190190 return value . replace ( / [ \- \[ \] { } ( ) * + ? . , \\ \^ $ | # \s ] / g, "\\$&" ) ;
191191} ;
192192
@@ -202,61 +202,61 @@ function show(elem) {
202202 * Handles the manual addition of rules
203203 */
204204function addManualRule ( ) {
205- chrome . tabs . query ( { active : true , currentWindow : true } , function ( tab ) {
205+ chrome . tabs . query ( { active : true , currentWindow : true } , tab => {
206206 hide ( e ( "add-rule-link" ) ) ;
207207 show ( e ( "add-new-rule-div" ) ) ;
208- var newUrl = document . createElement ( 'a' ) ;
208+ const newUrl = document . createElement ( 'a' ) ;
209209 newUrl . href = tab [ 0 ] . url ;
210210 newUrl . protocol = "https:" ;
211211 e ( "new-rule-host" ) . value = newUrl . host ;
212- var oldUrl = document . createElement ( 'a' ) ;
212+ const oldUrl = document . createElement ( 'a' ) ;
213213 oldUrl . href = tab [ 0 ] . url ;
214214 oldUrl . protocol = "http:" ;
215- var oldMatcher = "^" + escapeForRegex ( oldUrl . protocol + "//" + oldUrl . host + "/" ) ;
215+ const oldMatcher = "^" + escapeForRegex ( oldUrl . protocol + "//" + oldUrl . host + "/" ) ;
216216 e ( "new-rule-regex" ) . value = oldMatcher ;
217- var redirectPath = newUrl . protocol + "//" + newUrl . host + "/" ;
217+ const redirectPath = newUrl . protocol + "//" + newUrl . host + "/" ;
218218 e ( "new-rule-redirect" ) . value = redirectPath ;
219219 e ( "new-rule-name" ) . value = "Manual rule for " + oldUrl . host ;
220- e ( "add-new-rule-button" ) . addEventListener ( "click" , function ( ) {
221- var params = {
220+ e ( "add-new-rule-button" ) . addEventListener ( "click" , ( ) => {
221+ const params = {
222222 host : e ( "new-rule-host" ) . value ,
223223 redirectTo : e ( "new-rule-redirect" ) . value ,
224224 urlMatcher : e ( "new-rule-regex" ) . value
225225 } ;
226- backgroundPage . addNewRule ( params , function ( ) {
226+ backgroundPage . addNewRule ( params , ( ) => {
227227 location . reload ( ) ;
228228 } ) ;
229229 } ) ;
230230
231- e ( "cancel-new-rule" ) . addEventListener ( "click" , function ( ) {
231+ e ( "cancel-new-rule" ) . addEventListener ( "click" , ( ) => {
232232 show ( e ( "add-rule-link" ) ) ;
233233 hide ( e ( "add-new-rule-div" ) ) ;
234234 } ) ;
235- e ( "new-rule-show-advanced-link" ) . addEventListener ( "click" , function ( ) {
235+ e ( "new-rule-show-advanced-link" ) . addEventListener ( "click" , ( ) => {
236236 show ( e ( "new-rule-advanced" ) ) ;
237237 hide ( e ( "new-rule-regular-text" ) ) ;
238238 } ) ;
239- e ( "new-rule-hide-advanced-link" ) . addEventListener ( "click" , function ( ) {
239+ e ( "new-rule-hide-advanced-link" ) . addEventListener ( "click" , ( ) => {
240240 hide ( e ( "new-rule-advanced" ) ) ;
241241 show ( e ( "new-rule-regular-text" ) ) ;
242242 } ) ;
243243 } ) ;
244244}
245245
246246function toggleHttpNowhere ( ) {
247- getOption_ ( 'httpNowhere' , false , function ( item ) {
247+ getOption_ ( 'httpNowhere' , false , item => {
248248 setOption_ ( 'httpNowhere' , ! item . httpNowhere ) ;
249249 } ) ;
250250}
251251
252252function getOption_ ( opt , defaultOpt , callback ) {
253- var details = { } ;
253+ const details = { } ;
254254 details [ opt ] = defaultOpt ;
255255 return storage . get ( details , callback ) ;
256256}
257257
258258function setOption_ ( opt , value ) {
259- var details = { } ;
259+ const details = { } ;
260260 details [ opt ] = value ;
261261 return storage . set ( details ) ;
262262}
0 commit comments