@ -23,7 +23,7 @@ const restrictions = {
// Don't remove cookies before page load
// allow_cookies are completed with domains in sites.js (default allow/remove_cookies)
var allow _cookies = [
var allow _cookies _default = [
'abc.es' ,
'aftonbladet.se' ,
'belfasttelegraph.co.uk' ,
@ -95,7 +95,8 @@ var allow_cookies = [
'wp.de' ,
'wr.de' ,
'zeit.de' ,
]
] ;
var allow _cookies = allow _cookies _default . slice ( ) ;
// Removes cookies after page load
// remove_cookies are completed with domains of sites.js (default allow/remove_cookies)
@ -157,8 +158,7 @@ var use_google_bot_default = [
'wsj.com' ,
'zeit.de' ,
] ;
var use _google _bot _custom = [ ] ;
var use _google _bot = use _google _bot _default . concat ( use _google _bot _custom ) ;
var use _google _bot = use _google _bot _default . slice ( ) ;
// Override User-Agent with Bingbot
var use _bing _bot = [
@ -332,6 +332,9 @@ ext_api.storage.local.get({
if ( sites _custom [ key ] [ 'googlebot' ] > 0 && ! use _google _bot . includes ( domainVar ) ) {
use _google _bot . push ( domainVar ) ;
}
if ( sites _custom [ key ] [ 'allow_cookies' ] > 0 && ! allow _cookies . includes ( domainVar ) ) {
allow _cookies . push ( domainVar ) ;
}
if ( sites _custom [ key ] [ 'block_javascript' ] > 0 ) {
block _js _custom . push ( domainVar ) ;
}
@ -399,7 +402,7 @@ ext_api.storage.local.get({
ext _api . storage . onChanged . addListener ( function ( changes , namespace ) {
if ( namespace === 'sync' )
return ;
for ( var key in changes ) {
for ( let key in changes ) {
var storageChange = changes [ key ] ;
if ( key === 'sites' ) {
var sites = storageChange . newValue ;
@ -429,6 +432,12 @@ ext_api.storage.onChanged.addListener(function (changes, namespace) {
enabledSites = enabledSites . concat ( au _prov _news _domains ) ;
else
disabledSites = disabledSites . concat ( au _prov _news _domains ) ;
for ( let domainVar of enabledSites ) {
if ( ! allow _cookies . includes ( domainVar ) && ! remove _cookies . includes ( domainVar ) ) {
allow _cookies . push ( domainVar ) ;
remove _cookies . push ( domainVar ) ;
}
}
// reset disableJavascriptOnListedSites eventListener
ext _api . webRequest . onBeforeRequest . removeListener ( disableJavascriptOnListedSites ) ;
ext _api . webRequest . handlerBehaviorChanged ( ) ;
@ -447,9 +456,9 @@ ext_api.storage.onChanged.addListener(function (changes, namespace) {
sites : { }
} , function ( items ) {
var sites = items . sites ;
for ( var key of sites _custom _added )
for ( let key of sites _custom _added )
sites [ key ] = sites _custom [ key ] . domain ;
for ( var key of sites _custom _removed )
for ( let key of sites _custom _removed )
delete sites [ key ] ;
ext _api . storage . local . set ( {
@ -459,6 +468,17 @@ ext_api.storage.onChanged.addListener(function (changes, namespace) {
} ) ;
} ) ;
// restore cookie-settings for removed custom (& also default) domain
var sites _custom _default _domain _removed = Object . values ( sites _custom _old ) . map ( function ( site _old ) {
return site _old . domain ;
} ) . filter ( x => ! Object . values ( sites _custom ) . map ( function ( site _new ) {
return site _new . domain ;
} ) . includes ( x ) && defaultSites _domains . includes ( x ) ) ;
for ( let domain of sites _custom _default _domain _removed ) {
if ( ! allow _cookies _default . includes ( domain ) && ! remove _cookies . includes ( domain ) )
remove _cookies . push ( domain ) ;
}
use _google _bot = use _google _bot _default . slice ( ) ;
block _js _custom = [ ] ;
block _js _custom _ext = [ ] ;
@ -467,6 +487,14 @@ ext_api.storage.onChanged.addListener(function (changes, namespace) {
if ( sites _custom [ key ] [ 'googlebot' ] > 0 && ! use _google _bot . includes ( domainVar ) ) {
use _google _bot . push ( domainVar ) ;
}
if ( sites _custom [ key ] [ 'allow_cookies' ] > 0 ) {
if ( allow _cookies . includes ( domainVar ) ) {
if ( remove _cookies . includes ( domainVar ) )
remove _cookies . splice ( remove _cookies . indexOf ( domainVar ) , 1 ) ;
} else
allow _cookies . push ( domainVar ) ;
} else if ( ! allow _cookies _default . includes ( domainVar ) && allow _cookies . includes ( domainVar ) && ! remove _cookies . includes ( domainVar ) )
remove _cookies . push ( domainVar ) ;
if ( sites _custom [ key ] [ 'block_javascript' ] > 0 ) {
block _js _custom . push ( domainVar ) ;
}
@ -601,7 +629,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
var requestHeaders = details . requestHeaders ;
var header _referer = '' ;
for ( var n in requestHeaders ) {
for ( let n in requestHeaders ) {
if ( requestHeaders [ n ] . name . toLowerCase ( ) == 'referer' ) {
header _referer = requestHeaders [ n ] . value ;
continue ;
@ -854,9 +882,9 @@ function site_switch() {
sites : { }
} , function ( items ) {
var sites = items . sites ;
for ( var key of added _site )
for ( let key of added _site )
sites [ key ] = domain ;
for ( var key of removed _site )
for ( let key of removed _site )
delete sites [ key ] ;
ext _api . storage . local . set ( {