1
0
Fork 0
mirror of https://github.com/Oreolek/TrackMeNot-Chrome.git synced 2024-05-16 16:08:19 +03:00

jshint error fixes

This commit is contained in:
Alexander Yakovlev 2016-12-03 13:41:10 +07:00
parent b4754e437f
commit b03e76e328
2 changed files with 664 additions and 713 deletions

View file

@ -10,6 +10,7 @@ insert_final_newline = true
charset = utf-8 charset = utf-8
indent_style = space indent_style = space
indent_size = 2 indent_size = 2
trim_trailing_whitespace = true
# Tab indentation (no size specified) # Tab indentation (no size specified)
[Makefile] [Makefile]

View file

@ -29,7 +29,7 @@ TRACKMENOT.TMNInjected = function() {
function getYahooId() { function getYahooId() {
var id = "A0geu"; var id = "A0geu";
while (id.length < 24) { while (id.length < 24) {
var lower = Math.random() < .5; var lower = Math.random() < 0.5;
var num = parseInt(Math.random() * 38); var num = parseInt(Math.random() * 38);
if (num === 37) { if (num === 37) {
id += '_'; id += '_';
@ -50,72 +50,82 @@ TRACKMENOT.TMNInjected = function() {
return id; return id;
} }
var testAd_google = function(anchorClass,anchorlink) { var testAd_google = function(anchorClass,anchorlink) {
return ( anchorlink return (
&& (anchorClass=='l' || anchorClass=='l vst') anchorlink &&
&& anchorlink.indexOf('http')==0 (
&& anchorlink.indexOf('https')!=0); anchorClass=='l' ||
} anchorClass=='l vst'
) &&
anchorlink.indexOf('http') === 0 &&
anchorlink.indexOf('https') !== 0
);
};
var testAd_yahoo= function(anchorClass,anchorlink) { var testAd_yahoo= function(anchorClass,anchorlink) {
return ( anchorClass=='\"yschttl spt\"' || anchorClass=='yschttl spt'); return ( anchorClass=='\"yschttl spt\"' || anchorClass=='yschttl spt');
} };
var testAd_aol = function(anchorClass,anchorlink) { var testAd_aol = function(anchorClass,anchorlink) {
return (anchorClass=='\"find\"' || anchorClass=='find' return (
&& anchorlink.indexOf('https')!=0 && anchorlink.indexOf('aol')<0 ); anchorClass=='\"find\"' ||
} anchorClass=='find' &&
anchorlink.indexOf('https') !== 0 &&
anchorlink.indexOf('aol')<0
);
};
var testAd_bing = function(anchorClass,anchorlink) { var testAd_bing = function(anchorClass,anchorlink) {
return ( anchorlink return (
&& anchorlink.indexOf('http')==0 anchorlink &&
&& anchorlink.indexOf('https')!=0 anchorlink.indexOf('http') === 0 &&
&& anchorlink.indexOf('msn')<0 anchorlink.indexOf('https') !== 0 &&
&& anchorlink.indexOf('live')<0 anchorlink.indexOf('msn')<0 &&
&& anchorlink.indexOf('bing')<0 anchorlink.indexOf('live')<0 &&
&& anchorlink.indexOf('microsoft')<0 anchorlink.indexOf('bing')<0 &&
&& anchorlink.indexOf('WindowsLiveTranslator')<0 ) } anchorlink.indexOf('microsoft')<0 &&
anchorlink.indexOf('WindowsLiveTranslator')<0
);
};
var testAd_baidu = function(anchorClass,anchorlink) { var testAd_baidu = function(anchorClass,anchorlink) {
return ( anchorlink return (
&& anchorlink.indexOf('baidu')<0 anchorlink &&
&& anchorlink.indexOf('https')!=0 ); anchorlink.indexOf('baidu') < 0 &&
} anchorlink.indexOf('https') !== 0
);
};
var getButton_google =" var getButton = function( ) {var button = getElementsByAttrValue(document,'button', 'name', 'btnG' ); if ( !button ) button = getElementsByAttrValue(document,'button', 'name', 'btnK' );return button;}";
var getButton_yahoo= " var getButton = function( ) {return getElementsByAttrValue(document,'input', 'class', 'sbb' ); } ";
var getButton_bing= " var getButton = function( ) {return document.getElementById('sb_form_go');} ";
var getButton_aol = " var getButton = function ( ) {return document.getElementById('csbbtn1'); }";
var getButton_baidu = " var getButton = function ( ){ return getElementsByAttrValue(document,'input', 'value', '????' ); }";
var getButton_google =" var getButton = function( ) {var button = getElementsByAttrValue(document,'button', 'name', 'btnG' ); if ( !button ) button = getElementsByAttrValue(document,'button', 'name', 'btnK' );return button;}" SearchBox_google = "var searchbox = function( ) { return getElementsByAttrValue(document,'input', 'name', 'q' ); } ";
var getButton_yahoo= " var getButton = function( ) {return getElementsByAttrValue(document,'input', 'class', 'sbb' ); } " SearchBox_yahoo = "var searchbox = function( ) { return document.getElementById('yschsp');}";
var getButton_bing= " var getButton = function( ) {return document.getElementById('sb_form_go');} " SearchBox_bing= "var searchbox = function( ) {return document.getElementById('sb_form_q'); } ";
var getButton_aol = " var getButton = function ( ) {return document.getElementById('csbbtn1'); }" SearchBox_aol= "var searchbox = function( ) {return document.getElementById('csbquery1'); }";
var getButton_baidu = " var getButton = function ( ){ return getElementsByAttrValue(document,'input', 'value', '????' ); }" SearchBox_baidu= "var searchbox = function( ) {return document.getElementById('kw');}";
SearchBox_google = "var searchbox = function( ) { return getElementsByAttrValue(document,'input', 'name', 'q' ); } "
SearchBox_yahoo = "var searchbox = function( ) { return document.getElementById('yschsp');}"
SearchBox_bing= "var searchbox = function( ) {return document.getElementById('sb_form_q'); } "
SearchBox_aol= "var searchbox = function( ) {return document.getElementById('csbquery1'); }"
SearchBox_baidu= "var searchbox = function( ) {return document.getElementById('kw');}"
var suggest_google = ['gsr' , 'td', function ( elt ) { var suggest_google = ['gsr' , 'td', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'gac_c' ) return (elt.hasAttribute('class') && elt.getAttribute('class') == 'gac_c' );
}] }];
var suggest_yahoo = ['atgl' , 'a', function ( elt ) { var suggest_yahoo = ['atgl' , 'a', function ( elt ) {
return elt.hasAttribute('gossiptext') return elt.hasAttribute('gossiptext');
}] }];
var suggest_bing = ['sa_drw' , 'li', function ( elt ) { var suggest_bing = ['sa_drw' , 'li', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'sa_sg' ) return (elt.hasAttribute('class') && elt.getAttribute('class') == 'sa_sg' );
}] }];
var suggest_baidu = ['st' , 'tr', function ( elt ) { var suggest_baidu = ['st' , 'tr', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'ml' ) return (elt.hasAttribute('class') && elt.getAttribute('class') == 'ml' );
}] }];
var suggest_aol = ['ACC' , 'a', function ( elt ) { var suggest_aol = ['ACC' , 'a', function ( elt ) {
return (elt.hasAttribute('class') && elt.getAttribute('class') == 'acs') return (elt.hasAttribute('class') && elt.getAttribute('class') == 'acs');
}] }];
var engines = [ var engines = [
{'id':'google','name':'Google Search', 'urlmap':"https://www.google.com/search?hl=en&q=|", 'regexmap':"^(https?:\/\/[a-z]+\.google\.(co\\.|com\\.)?[a-z]{2,3}\/(search){1}[\?]?.*?[&\?]{1}q=)([^&]*)(.*)$", "host":"(www\.google\.(co\.|com\.)?[a-z]{2,3})$","testad":"var testad = function(ac,al) {return ( al&& (ac=='l' || ac=='l vst')&& al.indexOf('http')==0 && al.indexOf('https')!=0);}",'box':SearchBox_google,'button':getButton_google} , {'id':'google','name':'Google Search', 'urlmap':"https://www.google.com/search?hl=en&q=|", 'regexmap':"^(https?:\/\/[a-z]+\.google\.(co\\.|com\\.)?[a-z]{2,3}\/(search){1}[\?]?.*?[&\?]{1}q=)([^&]*)(.*)$", "host":"(www\.google\.(co\.|com\.)?[a-z]{2,3})$","testad":"var testad = function(ac,al) {return ( al&& (ac=='l' || ac=='l vst')&& al.indexOf('http')==0 && al.indexOf('https')!=0);}",'box':SearchBox_google,'button':getButton_google} ,
@ -123,7 +133,7 @@ TRACKMENOT.TMNInjected = function() {
{'id':'bing','name':'Bing Search', 'urlmap':"http://www.bing.com/search?q=|", 'regexmap':"^(https?:\/\/www\.bing\.com\/search\?[^&]*q=)([^&]*)(.*)$", "host":"(www\.bing\.com)$","testad":"var testad = function(ac,al) {return ( al&& al.indexOf('http')==0&& al.indexOf('https')!=0 && al.indexOf('msn')<0 && al.indexOf('live')<0 && al.indexOf('bing')<0&& al.indexOf('microsoft')<0 && al.indexOf('WindowsLiveTranslator')<0 ) }",'box':SearchBox_bing,'button':getButton_bing}, {'id':'bing','name':'Bing Search', 'urlmap':"http://www.bing.com/search?q=|", 'regexmap':"^(https?:\/\/www\.bing\.com\/search\?[^&]*q=)([^&]*)(.*)$", "host":"(www\.bing\.com)$","testad":"var testad = function(ac,al) {return ( al&& al.indexOf('http')==0&& al.indexOf('https')!=0 && al.indexOf('msn')<0 && al.indexOf('live')<0 && al.indexOf('bing')<0&& al.indexOf('microsoft')<0 && al.indexOf('WindowsLiveTranslator')<0 ) }",'box':SearchBox_bing,'button':getButton_bing},
{'id':'baidu','name':'Baidu Search', 'urlmap':"http://www.baidu.com/s?wd=|", 'regexmap':"^(https?:\/\/www\.baidu\.com\/s\?.*?wd=)([^&]*)(.*)$", "host":"(www\.baidu\.com)$","testad":"var testad = function(ac,al) {return ( al&& al.indexOf('baidu')<0 && al.indexOf('https')!=0 );}",'box':SearchBox_baidu,'button':getButton_baidu}, {'id':'baidu','name':'Baidu Search', 'urlmap':"http://www.baidu.com/s?wd=|", 'regexmap':"^(https?:\/\/www\.baidu\.com\/s\?.*?wd=)([^&]*)(.*)$", "host":"(www\.baidu\.com)$","testad":"var testad = function(ac,al) {return ( al&& al.indexOf('baidu')<0 && al.indexOf('https')!=0 );}",'box':SearchBox_baidu,'button':getButton_baidu},
{'id':'aol','name':'Aol Search', 'urlmap':"http://search.aol.com/aol/search?q=|", 'regexmap':"^(https?:\/\/[a-z0-9.]*?search\.aol\.com\/aol\/search\?.*?q=)([^&]*)(.*)$", "host":"([a-z0-9.]*?search\.aol\.com)$","testad":"var testad = function(ac,al){return(ac=='\"find\"'||ac=='find'&& al.indexOf('https')!=0 && al.indexOf('aol')<0 );}",'box':SearchBox_aol,'button':getButton_aol} {'id':'aol','name':'Aol Search', 'urlmap':"http://search.aol.com/aol/search?q=|", 'regexmap':"^(https?:\/\/[a-z0-9.]*?search\.aol\.com\/aol\/search\?.*?q=)([^&]*)(.*)$", "host":"([a-z0-9.]*?search\.aol\.com)$","testad":"var testad = function(ac,al){return(ac=='\"find\"'||ac=='find'&& al.indexOf('https')!=0 && al.indexOf('aol')<0 );}",'box':SearchBox_aol,'button':getButton_aol}
] ];
function roll(min,max){ function roll(min,max){
return Math.floor(Math.random()*(max+1))+min; return Math.floor(Math.random()*(max+1))+min;
@ -140,7 +150,11 @@ TRACKMENOT.TMNInjected = function() {
} }
function getEngineById( id) { function getEngineById( id) {
return engines.filter(function(a) {return a.id ==id})[0] return engines.filter(
function(a) {
return a.id === id;
}
)[0];
} }
function stripPhrases(htmlStr) { function stripPhrases(htmlStr) {
@ -153,39 +167,33 @@ TRACKMENOT.TMNInjected = function() {
return htmlStr.replace(/(<([^>]+)>)/ig,""); return htmlStr.replace(/(<([^>]+)>)/ig,"");
} }
function pressEnter(elt) { function pressEnter(elt) {
var timers = getTimingArray(); var timers = getTimingArray();
var evtDown = new KeyboardEvent("keydown", {"keyCode":13} ); var evtDown = new KeyboardEvent("keydown", {"keyCode":13} );
window.setTimeout(function(){ window.setTimeout(function(){
elt.dispatchEvent(evtDown); elt.dispatchEvent(evtDown);
},timers[0]) },timers[0]);
var evtPress = new KeyboardEvent("keypress", {"keyCode":13} ); var evtPress = new KeyboardEvent("keypress", {"keyCode":13} );
window.setTimeout(function(){ window.setTimeout(function(){
elt.dispatchEvent(evtPress); elt.dispatchEvent(evtPress);
},timers[1]) },timers[1]);
var evtUp = new KeyboardEvent("keyup", {"keyCode":13} ); var evtUp = new KeyboardEvent("keyup", {"keyCode":13} );
window.setTimeout(function(){ window.setTimeout(function(){
elt.dispatchEvent(evtUp); elt.dispatchEvent(evtUp);
},timers[2]) },timers[2]);
window.setTimeout(sendPageLoaded,timers[3]) window.setTimeout(sendPageLoaded,timers[3]);
} }
function downKey(chara, searchBox) { function downKey(chara, searchBox) {
var charCode = chara[chara.length-1].charCodeAt(0) var charCode = chara[chara.length-1].charCodeAt(0);
var evtDown = new KeyboardEvent("keydown", {"charCode":charCode} ); var evtDown = new KeyboardEvent("keydown", {"charCode":charCode} );
searchBox.dispatchEvent(evtDown) searchBox.dispatchEvent(evtDown);
} }
function pressKey(chara, searchBox) { function pressKey(chara, searchBox) {
var charCode = chara[chara.length-1].charCodeAt(0) var charCode = chara[chara.length-1].charCodeAt(0);
var evtPress = new KeyboardEvent("keypress", {"charCode":charCode} ); var evtPress = new KeyboardEvent("keypress", {"charCode":charCode} );
searchBox.dispatchEvent(evtPress) searchBox.dispatchEvent(evtPress);
} }
function inputChar(chara, searchBox) { function inputChar(chara, searchBox) {
@ -217,9 +225,9 @@ TRACKMENOT.TMNInjected = function() {
anchorLink = pageLinks[i].getAttribute("href"); anchorLink = pageLinks[i].getAttribute("href");
anchorClass = pageLinks[i].getAttribute("class"); anchorClass = pageLinks[i].getAttribute("class");
var link = stripTags(pageLinks[i].innerHTML); var link = stripTags(pageLinks[i].innerHTML);
eval (engine.testad) eval (engine.testad);
if ( testad!="undefined" && testad(anchorClass,anchorLink) ) { if ( testad!="undefined" && testad(anchorClass,anchorLink) ) {
j++ j++;
if ( j == clickIndex ) { if ( j == clickIndex ) {
var logEntry = JSON.stringify({ var logEntry = JSON.stringify({
'type' : 'click', 'type' : 'click',
@ -227,10 +235,10 @@ TRACKMENOT.TMNInjected = function() {
'query' : link, 'query' : link,
'id':tmn_id 'id':tmn_id
}); });
log(logEntry) log(logEntry);
try { try {
clickElt(pageLinks[i]) clickElt(pageLinks[i]);
debug("link clicked") debug("link clicked");
} catch (e) { } catch (e) {
alert("error opening click-through request for " + e); alert("error opening click-through request for " + e);
} }
@ -240,37 +248,33 @@ TRACKMENOT.TMNInjected = function() {
} }
} }
function clickButton() { function clickButton() {
eval(engine.button) eval(engine.button);
var button = getButton(document) var button = getButton(document);
clickElt(button); clickElt(button);
debug("send page loaded") debug("send page loaded");
} }
function clickElt(elt) { function clickElt(elt) {
var win = document.defaultView; var win = document.defaultView;
if ( !elt) return; if ( !elt)
return;
var timers = getTimingArray(); var timers = getTimingArray();
var evtDown = document.createEvent("MouseEvents"); var evtDown = document.createEvent("MouseEvents");
evtDown.initMouseEvent("mousedown",true,true,win,0, 0, 0, 0, 0, false, false, false, false, 0, null); evtDown.initMouseEvent("mousedown",true,true,win,0, 0, 0, 0, 0, false, false, false, false, 0, null);
window.setTimeout(function(){ window.setTimeout(function(){
elt.dispatchEvent(evtDown); elt.dispatchEvent(evtDown);
},timers[0]) },timers[0]);
var evtUp = document.createEvent("MouseEvents"); var evtUp = document.createEvent("MouseEvents");
evtUp.initMouseEvent("mouseup",true, true,win,0,0,0,0,0, false, false, false, false, 0, null); evtUp.initMouseEvent("mouseup",true, true,win,0,0,0,0,0, false, false, false, false, 0, null);
window.setTimeout(function(){ window.setTimeout(function(){
elt.dispatchEvent(evtUp); elt.dispatchEvent(evtUp);
},timers[1]) },timers[1]);
var evtCl = document.createEvent("MouseEvents"); var evtCl = document.createEvent("MouseEvents");
evtCl.initMouseEvent("click",true, true,win,0,0,0,0, 0, false, false, false, false, 0, null); evtCl.initMouseEvent("click",true, true,win,0,0,0,0, 0, false, false, false, false, 0, null);
window.setTimeout(function(){ window.setTimeout(function(){
elt.dispatchEvent(evtCl); elt.dispatchEvent(evtCl);
},timers[2]) },timers[2]);
} }
@ -305,9 +309,9 @@ TRACKMENOT.TMNInjected = function() {
suggestElts.push(line); suggestElts.push(line);
} }
var suggestions = suggestElts.map(function(x) { var suggestions = suggestElts.map(function(x) {
return stripTags(x.innerHTML) return stripTags(x.innerHTML);
}); });
debug( 'TMN: ' +suggestions) debug( 'TMN: ' +suggestions);
return suggestElts.slice(); return suggestElts.slice();
} }
@ -316,22 +320,24 @@ TRACKMENOT.TMNInjected = function() {
var searched = searchValue.split(' '); var searched = searchValue.split(' ');
var tosearch = nextQuery.split(' '); var tosearch = nextQuery.split(' ');
var result = []; var result = [];
result = result.concat(searched.filter(function(x) { result = result.concat(
return (tosearch.indexOf(x)>=0) searched.filter(
})); function(x) {
return (tosearch.indexOf(x) >= 0);
}
)
);
return result; return result;
} }
function getTimingArray() { function getTimingArray() {
var timers = []; var timers = [];
for (var i=0; i<5; i++) { for (var i=0; i<5; i++) {
timers.push(Math.floor(Math.random()*30)) timers.push(Math.floor(Math.random()*30));
} }
return timers.sort(); return timers.sort();
} }
function typeQuery( queryToSend, currIndex, searchBox, chara,isIncr ) { function typeQuery( queryToSend, currIndex, searchBox, chara,isIncr ) {
var nextPress ; var nextPress ;
tmnCurrentQuery = queryToSend; tmnCurrentQuery = queryToSend;
@ -349,56 +355,62 @@ TRACKMENOT.TMNInjected = function() {
return; return;
} else { } else {
var newWord = queryToSend.substring(currIndex).split(" ")[0]; var newWord = queryToSend.substring(currIndex).split(" ")[0];
if ( newWord.length>1 && ( currIndex == 0 || queryToSend[currIndex-1]==" ") ) { if (
cout("Checking if "+newWord + " appears in "+searchBox.value) newWord.length>1 &&
if (! (searchBox.value.indexOf(newWord+" ")<0) ) { (
cout("It\s in") currIndex === 0 ||
queryToSend[currIndex-1] === " "
)
) {
cout("Checking if "+newWord + " appears in "+searchBox.value);
if ( searchBox.value.indexOf(newWord+" ") >= 0 ) {
cout("It's in");
if( searchBox.value.indexOf(newWord, currIndex)>=0 ) { if( searchBox.value.indexOf(newWord, currIndex)>=0 ) {
cout("We\re movine of "+ newWord.length+1 ) cout("We're moving of "+ newWord.length+1 );
searchBox.selectionEnd+= newWord.length+1; searchBox.selectionEnd+= newWord.length+1;
searchBox.selectionStart =searchBox.selectionEnd; searchBox.selectionStart =searchBox.selectionEnd;
} }
currIndex+= newWord.length; currIndex+= newWord.length;
updateStatus(searchBox.value); updateStatus(searchBox.value);
nextPress = roll(50,250); nextPress = roll(50,250);
window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice() ,false ) window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice() ,false );
return; return;
} }
} }
chara.push(queryToSend[currIndex]) chara.push(queryToSend[currIndex]);
var timers = getTimingArray(); var timers = getTimingArray();
var textvalue = queryToSend[currIndex]; var textvalue = queryToSend[currIndex];
window.setTimeout( function(){ window.setTimeout( function(){
return downKey(chara, searchBox) return downKey(chara, searchBox);
}, timers[0]); }, timers[0]);
window.setTimeout( function(){ window.setTimeout( function(){
return pressKey(chara, searchBox) return pressKey(chara, searchBox);
}, timers[1]); }, timers[1]);
window.setTimeout( function(){ window.setTimeout( function(){
return inputChar(chara, searchBox) return inputChar(chara, searchBox);
}, timers[2]); }, timers[2]);
window.setTimeout( function(){ window.setTimeout( function(){
searchBox.value += textvalue searchBox.value += textvalue;
}, timers[3]); }, timers[3]);
window.setTimeout( function(){ window.setTimeout( function(){
return releaseKey( chara, searchBox) return releaseKey( chara, searchBox);
}, timers[4]); }, timers[4]);
updateStatus(searchBox.value); updateStatus(searchBox.value);
currIndex++ currIndex++;
nextPress = roll(50,250); nextPress = roll(50,250);
window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice(),false ) window.setTimeout(typeQuery, nextPress, queryToSend,currIndex,searchBox,chara.slice(),false );
} }
} else { } else {
updateStatus(searchBox.value); updateStatus(searchBox.value);
nextPress = roll(10,30); nextPress = roll(10,30);
if (Math.random() <0.5) window.setTimeout( clickButton, nextPress); if (Math.random() <0.5) window.setTimeout( clickButton, nextPress);
else window.setTimeout(pressEnter, nextPress, searchBox) else window.setTimeout(pressEnter, nextPress, searchBox);
// window.setTimeout( sendCurrentURL, nextpress+1) // window.setTimeout( sendCurrentURL, nextpress+1)
} }
} }
function sendCurrentURL() { function sendCurrentURL() {
debug("The current url is: " +window.location.href) debug("The current url is: " +window.location.href);
var response = { var response = {
url: window.location.href url: window.location.href
}; };
@ -424,8 +436,8 @@ TRACKMENOT.TMNInjected = function() {
} catch (ex) { } catch (ex) {
host = ""; host = "";
} }
var reg = new RegExp(engine.host,'g') var reg = new RegExp(engine.host,'g');
var encodedUrl = queryToURL(url, queryToSend) var encodedUrl = queryToURL(url, queryToSend);
var logEntry = JSON.stringify({ var logEntry = JSON.stringify({
'type' : 'query', 'type' : 'query',
"engine" : engine.id, "engine" : engine.id,
@ -433,9 +445,9 @@ TRACKMENOT.TMNInjected = function() {
'query' : queryToSend, 'query' : queryToSend,
'id' : tmn_id 'id' : tmn_id
}); });
log(logEntry) log(logEntry);
updateStatus(queryToSend); updateStatus(queryToSend);
if ( host =="" || !host.match(reg) ) { if ( host === "" || !host.match(reg) ) {
try { try {
window.location.href = encodedUrl; window.location.href = encodedUrl;
return encodedUrl; return encodedUrl;
@ -448,21 +460,23 @@ TRACKMENOT.TMNInjected = function() {
} }
} else { } else {
if (engine.button) eval(engine.button) if (engine.button)
if (engine.box) eval(engine.box) eval(engine.button);
if (engine.box)
eval(engine.box);
var searchBox = engine.box ? searchbox() : null; var searchBox = engine.box ? searchbox() : null;
var searchButton = engine.button ? getButton() : null; var searchButton = engine.button ? getButton() : null;
if ( searchBox && searchButton && engine!='aol' ) { if ( searchBox && searchButton && engine!='aol' ) {
debug("The searchbox has been found "+searchBox ) debug("The searchbox has been found "+searchBox );
searchBox.value = getCommonWords(searchBox.value,queryToSend).join(' '); searchBox.value = getCommonWords(searchBox.value,queryToSend).join(' ');
searchBox.selectionStart = 0; searchBox.selectionStart = 0;
searchBox.selectionEnd = 0; searchBox.selectionEnd = 0;
var chara = new Array(); var chara = [];
typeQuery( queryToSend, 0, searchBox, chara,false ); typeQuery( queryToSend, 0, searchBox, chara,false );
return null; return null;
} else { } else {
tmnCurrentURL = encodedUrl; tmnCurrentURL = encodedUrl;
debug("The searchbox can not be found " ) debug("The searchbox can not be found " );
try { try {
window.location.href = encodedUrl; window.location.href = encodedUrl;
return encodedUrl; return encodedUrl;
@ -473,95 +487,46 @@ TRACKMENOT.TMNInjected = function() {
}); });
return null; return null;
} }
} }
} }
} }
//function updateURLRegexp( eng, url) {
//var result = checkForSearchUrl(url);
//if (!result) {
//return;
//}
//var pre = result[1];
//var query = result[2];
//var post = result[3];
//var eng = result[4];
//var asearch = pre+'|'+post;
//var regex = regexMap[eng];
//cout(" regex: "+regex+" ->\n "+url);
//result = url.match(regex);
//cout("updateURLRegexp")
//if (!result) {
//cout("Can't find a regexp matching searched url")
//return false;
//}
//if (result.length !=4 ){
//if (result.length ==6 && eng == "google" ) {
//result.splice(2,2);
//result.push(eng);
//}
//cout("REGEX_ERROR: "+url);
//for (var i in result)
//cout(" **** "+i+")"+result[i])
//}
//// -- EXTRACT DATA FROM THE URL
//var pre = result[1];
//var post = result[3];
//var asearch = pre+'|'+post;
//if(eng=="google" && !url.match("^(https?:\/\/[a-z]+\.google\.(co\\.|com\\.)?[a-z^\/]{2,3}\/(search){1}\?.*?[&\?]{1}q=)([^&]*)(.*)$") || url.indexOf("sclient=psy-ab")>0 || url.indexOf("#")>0 )
//return true;
//// -- NEW SEARCH URL: ADD TO USER_MAP
//if (asearch ){
//setCurrentURLMap(eng, asearch);
//}
//return true;
//}
function checkForSearchUrl(url) { function checkForSearchUrl(url) {
var result = null; var result = null;
var id = null;
for (var i=0;i < engines.length; i++) { for (var i=0;i < engines.length; i++) {
var eng = engines[i] var eng = engines[i];
var regex = eng.regexmap; var regex = eng.regexmap;
debug(" regex: "+regex+" ->\n "+url); debug(" regex: "+regex+" ->\n "+url);
result = url.match(regex); result = url.match(regex);
if (result) { if (result) {
cout(regex + " MATCHED! on "+eng.id ); cout(regex + " MATCHED! on "+eng.id );
id = eng.id;
break; break;
} }
} }
if (!result)return null; if (!result)return null;
if (result.length !=4 ){ if (result.length !=4 ){
if (result.length ==6 && eng.id == "google" ) { if (result.length ==6 && id == "google" ) {
result.splice(2,2); result.splice(2,2);
result.push(eng.id); result.push(id);
return result; return result;
} }
cout("REGEX_ERROR: "+url); cout("REGEX_ERROR: "+url);
/* for (var i in result) /* for (var i in result)
cout(" **** "+i+")"+result[i])*/ cout(" **** "+i+")"+result[i])*/
} }
result.push(eng.id); result.push(id);
return result; return result;
} }
function isSafeHost( host ) { function isSafeHost( host ) {
for (var i=0;i< engines.length; i++){ for (var i=0;i< engines.length; i++){
var eng = engines[i] var eng = engines[i];
var regex = eng.hostMap; var regex = eng.hostMap;
cout("regex :" +regex) cout("regex :" +regex);
if (host.match(regex)) { if (host.match(regex)) {
return eng; return eng;
} }
@ -576,20 +541,20 @@ TRACKMENOT.TMNInjected = function() {
var req = { var req = {
"tmn": "pageLoaded", "tmn": "pageLoaded",
"html": document.defaultView.document.body.innerHTML "html": document.defaultView.document.body.innerHTML
} };
chrome.runtime.sendMessage(req); chrome.runtime.sendMessage(req);
}); });
} }
function log(msg) { function log(msg) {
chrome.runtime.sendMessage({tmnLog:msg} ) chrome.runtime.sendMessage({tmnLog:msg} );
} }
function updateStatus(msg) { function updateStatus(msg) {
var req = { var req = {
"updateStatus": msg "updateStatus": msg
} };
chrome.runtime.sendMessage(req); chrome.runtime.sendMessage(req);
} }
@ -597,7 +562,7 @@ TRACKMENOT.TMNInjected = function() {
var Eng_URL = eng + "--" + url; var Eng_URL = eng + "--" + url;
var req = { var req = {
setURLMap: Eng_URL setURLMap: Eng_URL
} };
chrome.runtime.sendMessage(req); chrome.runtime.sendMessage(req);
} }
@ -620,7 +585,7 @@ TRACKMENOT.TMNInjected = function() {
function setTMNCurrentURL(url) { function setTMNCurrentURL(url) {
tmnCurrentURL= url; tmnCurrentURL= url;
debug("Current TMN loc: "+ tmnCurrentURL ) debug("Current TMN loc: "+ tmnCurrentURL );
var message = { var message = {
"url": tmnCurrentURL "url": tmnCurrentURL
}; };
@ -628,20 +593,13 @@ TRACKMENOT.TMNInjected = function() {
sendPageLoaded(); sendPageLoaded();
} }
function clickResult(request) { function clickResult(request) {
cout("Clicking on engine : "+request.tmn_engine ) cout("Clicking on engine : "+request.tmn_engine );
simulateClick(request.tmn_engine); simulateClick(request.tmn_engine);
} }
return { return {
handleRequest : function(request, sender, sendResponse) { handleRequest : function(request, sender, sendResponse) {
//debug("Received: "+ request.tmnQuery + " on engine: "+ request.tmnEngine + " mode: " +request.tmnMode)
if (request.tmnQuery) { if (request.tmnQuery) {
var tmn_query = request.tmnQuery; var tmn_query = request.tmnQuery;
engine = request.tmnEngine; engine = request.tmnEngine;
@ -650,26 +608,23 @@ TRACKMENOT.TMNInjected = function() {
tmn_id = request.tmnID; tmn_id = request.tmnID;
var tmn_URLmap = request.tmnUrlMap; var tmn_URLmap = request.tmnUrlMap;
var encodedurl = sendQuery ( tmn_query, tmn_mode, tmn_URLmap ); var encodedurl = sendQuery ( tmn_query, tmn_mode, tmn_URLmap );
if (encodedurl != null) { if (encodedurl !== null) {
debug("scheduling next set url"); debug("scheduling next set url");
setTMNCurrentURL(encodedurl); setTMNCurrentURL(encodedurl);
} }
} }
if (request.tmn_engine) { if (request.tmn_engine) {
clickResult(request) clickResult(request);
} }
return; // snub them. return; // snub them.
} , } ,
checkIsActiveTab : function() { checkIsActiveTab : function() {
chrome.runtime.sendMessage({ chrome.runtime.sendMessage({
tmn: "isActiveTab" tmn: "isActiveTab"
}, function(resp) { }, function(resp) {
if (!resp) if (!resp)
return return;
if (resp.isActive){ if (resp.isActive){
TRACKMENOT.TMNInjected.hasLoaded(); TRACKMENOT.TMNInjected.hasLoaded();
} else { } else {
@ -679,13 +634,13 @@ TRACKMENOT.TMNInjected = function() {
notifyUserSearch(eng, window.location.href); notifyUserSearch(eng, window.location.href);
} }
} }
} ) });
}, },
hasLoaded :function(){ hasLoaded :function(){
var host = window.location.host; var host = window.location.host;
if (!isSafeHost(host) ) { if (!isSafeHost(host) ) {
cout ("Host "+ host+ " is unsafe") cout ("Host "+ host+ " is unsafe");
window.stop(); window.stop();
//history.go(-1); //history.go(-1);
} }
@ -696,18 +651,13 @@ TRACKMENOT.TMNInjected = function() {
"tmn": "pageLoaded", "tmn": "pageLoaded",
"html": document.defaultView.document.body.innerHTML, "html": document.defaultView.document.body.innerHTML,
"url" : document.location "url" : document.location
} };
chrome.runtime.sendMessage(req); chrome.runtime.sendMessage(req);
}); });
}, },
} };
}(); }();
TRACKMENOT.TMNInjected.checkIsActiveTab(); TRACKMENOT.TMNInjected.checkIsActiveTab();
chrome.runtime.onMessage.addListener( TRACKMENOT.TMNInjected.handleRequest ); chrome.runtime.onMessage.addListener( TRACKMENOT.TMNInjected.handleRequest );
/*self.port.on("TMNTabRequest", TRACKMENOT.TMNInjected.handleRequest );
self.port.on("TMNClickResult", TRACKMENOT.TMNInjected.clickResult );*/