diff --git a/bootstrap.js b/bootstrap.js
index 5714d42..49818fe 100644
--- a/bootstrap.js
+++ b/bootstrap.js
@@ -14,7 +14,8 @@ let {classes:Cc,interfaces:Ci,utils:Cu,results:Cr} = Components,addon;
Cu.import("resource://gre/modules/Services.jsm");
function rsc(n) 'resource://' + addon.tag + '/' + n;
-function LOG(m) (m = addon.name + ' Message @ '
+function LOG(m) addon.debug &&
+ (m = addon.name + ' Message @ '
+ (new Date()).toISOString() + "\n> "
+ (Array.isArray(m) ? m.join("\n> "):m),
dump(m + "\n"), Services.console.logStringMessage(m));
@@ -55,7 +56,7 @@ let i$ = {
let bro = win.diegocr[addon.tag],
clt = bro.cl(link,base);
- // LOG([link,clt]);
+ LOG([link,clt]);
return (clt != link) ? (bro.blink(win), clt) : null;
},
observe: function(s,t,d) {
@@ -115,9 +116,9 @@ let i$ = {
var w = s.loadGroup.notificationCallbacks.getInterface(Ci.nsIDOMWindow);
} catch(e) {}
- // LOG([w&&w.location,c.originalURI.spec,c.URI.spec,l,
- // c.loadFlags & Ci.nsIChannel.LOAD_REPLACE,
- // c instanceof Ci.nsIWritablePropertyBag]);
+ LOG([w&&w.location,c.originalURI.spec,c.URI.spec,l,
+ c.loadFlags & Ci.nsIChannel.LOAD_REPLACE,
+ c instanceof Ci.nsIWritablePropertyBag]);
if(w && (l = this.getLink(w,l,c.URI))) {
// Check for The page isn't redirecting properly...
@@ -461,7 +462,7 @@ function unloadFromWindow(window) {
}
function setOptions(Reset) {
- for(let [k,v] in Iterator({
+ let Options = {
enabled : !0,
skipwhen : 'ServiceLogin|imgres\\?|watch%3Fv|auth\\?client_id|signup|'
+ 'oauth|openid\\.ns|\\.mcstatic\\.com|sVidLoc|[Ll]ogout|submit\\?url=|magnet:',
@@ -469,7 +470,8 @@ function setOptions(Reset) {
skipdoms : 'accounts.google.com,docs.google.com,translate.google.com,'
+ 'login.live.com,plus.google.com,www.facebook.com,twitter.com,'
+ 'static.ak.facebook.com,www.linkedin.com,www.virustotal.com,'
- + 'account.live.com,admin.brightcove.com,webcache.googleusercontent.com',
+ + 'account.live.com,admin.brightcove.com,www.mywot.com,'
+ + 'webcache.googleusercontent.com',
highlight : !0,
hlstyle : 'background:rgba(252,252,0,0.6); color: #000',
evdm : !0,
@@ -477,7 +479,8 @@ function setOptions(Reset) {
cbc : !0,
gotarget : !1,
repdelay : 3,
- })) {
+ };
+ for(let [k,v] in Iterator(Options)) {
if(!addon.branch.getPrefType(k) || Reset) {
switch(typeof v) {
case 'boolean': addon.branch.setBoolPref (k,v); break;
@@ -486,6 +489,30 @@ function setOptions(Reset) {
}
}
}
+
+ if(!Reset && VersionLTCheck(addon.version)) {
+ LOG('Checking new domains...');
+
+ let src = Options.skipdoms.split(',');
+ let dst = addon.branch.getPrefType('skipdoms')
+ && addon.branch.getCharPref('skipdoms');
+
+ dst = (dst || '').split(',');
+
+ src.forEach(function(d) {
+ if(!~dst.indexOf(d)) {
+ LOG('Adding domain '+d);
+ dst.push(d);
+ }
+ });
+
+ addon.branch.setCharPref('skipdoms', dst.join(","));
+ }
+}
+
+function VersionLTCheck(v) {
+ return !addon.branch.getPrefType('version')
+ || Services.vc.compare(addon.branch.getCharPref('version'),v) < 0;
}
let scope = this;
@@ -506,8 +533,9 @@ function startup(data) {
if("nsIPrefBranch2" in Ci)
addon.branch.QueryInterface(Ci.nsIPrefBranch2);
- let Reset = !addon.branch.getPrefType('version')
- || Services.vc.compare(addon.branch.getCharPref('version'),'2.4') < 0;
+ addon.debug = 'a' === addon.version.replace(/[\d.]/g,'');
+
+ let Reset = VersionLTCheck('2.4');
setOptions(Reset);
diff --git a/install.rdf b/install.rdf
index 1b34868..381a650 100644
--- a/install.rdf
+++ b/install.rdf
@@ -4,7 +4,7 @@
{158d7cb3-7039-4a75-8e0b-3bd0a464edd2}
2
Clean Links
- 2.5a1
+ 2.5a2
Diego Casorran
Simon Chan
Converts obfuscated/nested links to genuine clean links