diff --git a/css/popup.css b/css/popup.css
index 14ded7b..c69f87b 100644
--- a/css/popup.css
+++ b/css/popup.css
@@ -27,6 +27,7 @@ th { padding-bottom: 5px; }
.wot { float: left; }
.wot a { color: #fff; }
.choices { float: right; }
+hr { border: 0; border-top: 1px solid #eeeeee; }
.box:hover {
cursor: hand;
cursor: pointer;
@@ -281,8 +282,8 @@ span.box {
-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
box-shadow: 0 1px 1px rgba(0,0,0,0.1);
}
-.allowsession, .prevoke { margin-left: 0px; margin-right: 0px; }
-.prevoke {
- clear: both;
+.allowsession, .prevoke, .clearglobaltemp {
+ margin-left: 0px;
+ margin-right: 0px;
margin-bottom: 0px;
}
\ No newline at end of file
diff --git a/js/popup.js b/js/popup.js
index 51aa084..3e73fa1 100644
--- a/js/popup.js
+++ b/js/popup.js
@@ -8,6 +8,7 @@ var port = chrome.extension.connect({name: "popuplifeline"});
var bkg = chrome.extension.getBackgroundPage();
var closepage, mode, taburl, tabid, tabdomain;
var selected = false;
+var intemp = false;
var undesirablecount = 0;
var blocked = [];
var allowed = [];
@@ -118,12 +119,12 @@ function init() {
trustval1 = ' selected';
allowedtype = 4;
} else allowedtype = 1;
- $("#blocked").append('
").replace(/\&/g, "&"))+'" rel="x_'+itemdomainanchor+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
+ $("#blocked").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomainanchor+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
} else {
if (response.blockeditems[i][1] == 'NOSCRIPT' || response.blockeditems[i][1] == 'WEBBUG') {
$("#blocked").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomainanchor+'"><'+response.blockeditems[i][1]+'> (1)
');
} else {
- $("#blocked").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomainanchor+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
+ $("#blocked").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomainanchor+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
$("[rel='x_"+itemdomainanchor+"'] [rel='"+itemdomain+"'] .x_"+itemdomainfriendly).hide();
}
}
@@ -151,6 +152,7 @@ function init() {
}
if (mode == 'allow') {
if (bkg.in_array(itemdomain, response.temp)) {
+ if (!intemp) intemp = true;
$("[rel='x_"+itemdomainanchor+"'] [rel='"+itemdomain+"'] .x_blacklist").removeClass("selected");
$("[rel='x_"+itemdomainanchor+"'] [rel='"+itemdomain+"'] .x_bypass").addClass("selected");
$("[rel='x_"+itemdomainanchor+"'] [rel='"+itemdomain+"'] .x_"+itemdomainfriendly).hide();
@@ -193,10 +195,10 @@ function init() {
trustval1 = ' selected';
allowedtype = 4;
} else allowedtype = 0;
- $("#allowed").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomain+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
+ $("#allowed").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomain+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
$("#allowed .x_"+itemdomainfriendly).bind("click", x_removehandle);
} else {
- $("#allowed").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomain+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
+ $("#allowed").append('").replace(/\&/g, "&"))+'" rel="x_'+itemdomain+'">'+itemdomain+' (1)
ClearAllowTrustDenyDistrustTemp.
');
$("#allowed [rel='"+itemdomain+"'] .x_"+itemdomainfriendly).hide();
}
} else {
@@ -206,6 +208,7 @@ function init() {
if (response.rating == 'true') $("[rel='r_"+itemdomain+"']").html('Rating');
if (mode == 'block') {
if (bkg.in_array(itemdomain, response.temp)) {
+ if (!intemp) intemp = true;
$("#allowed [rel='"+itemdomain+"'] .x_whitelist").removeClass("selected");
$("#allowed [rel='"+itemdomain+"'] .x_bypass").addClass("selected");
$("#allowed [rel='"+itemdomain+"'] .x_"+itemdomainfriendly).hide();
@@ -223,35 +226,38 @@ function init() {
if (responseBlockedCount != 0 && blockedCount == 0) $(".thirds:first").html('None');
if (responseAllowedCount != 0 && allowedCount == 0) $(".allowed").parent().hide();
$(".x_whitelist,.x_blacklist,.x_trust,.x_bypass").bind("click", x_savehandle);
+ var tempSel;
+ if (responseAllowedCount == 0) tempSel = '.thirds';
+ else tempSel = '#allowed';
if (mode == 'block') {
if (($('#blocked .thirditem').length == 1 && $('#blocked .thirditem[rel="x_no.script"]').length == 1) || ($('#blocked .thirditem').length == 1 && $('#blocked .thirditem[rel="x_web.bug"]').length == 1)) {
// empty space
} else {
if (blockedCount != 0 && undesirablecount != blockedCount) {
- if (responseAllowedCount == 0) $(".thirds").append('
Allow All Blocked For Session
');
- else if (responseAllowedCount != 0) $("#allowed").append('
Allow All Blocked For Session
');
+ $(tempSel).append('
Allow All Blocked For Session
');
} else {
- if (responseAllowedCount == 0) $(".thirds").append('
');
- else if (responseAllowedCount != 0) $("#allowed").append('
');
+ $(tempSel).append('
');
}
}
} else {
- if (allowedCount != 0 && responseAllowedCount == 0) $(".thirds").append('
Block All Allowed For Session
');
- else if (allowedCount != 0 && responseAllowedCount != 0) $("#allowed").append('
Block All Allowed For Session
');
+ $(tempSel).append('
Block All Allowed For Session
');
}
$(".allowsession").bind("click", bulkhandle);
+ if (intemp) {
+ $(tempSel).append('Revoke Page Temp. Permissions
');
+ $(".prevoke").bind("click", bulkhandle);
+ }
if (response.temp) {
- if (blockedCount != 0 && responseAllowedCount == 0) $(".thirds").append('Revoke All Temporary Permissions
');
- else if (blockedCount != 0 && responseAllowedCount != 0) $("#allowed").append('Revoke All Temporary Permissions
');
- $(".prevoke").bind("click", revokealltemp);
+ $("#parent").append('
Revoke All Temp.
');
+ $(".clearglobaltemp").bind("click", revokealltemp);
}
}
- $("#parent").prepend('Allow
Trust
Deny
Distrust
Temp.
Clear
').attr("sn_list",response.enable);
+ $("#parent").prepend('Allow
Trust
Deny
Distrust
Temp.
Clear
').attr("sn_list",response.enable);
$(".pallow,.pdeny,.pbypass,.ptrust").bind("click", savehandle);
- var inTemp = bkg.in_array(tabdomain, response.temp);
$(".pclear").bind("click", removehandle).hide();
+ var tabInTemp = bkg.in_array(tabdomain, response.temp);
if (response.enable == '1' || response.enable == '4') {
- if (inTemp) {
+ if (tabInTemp) {
$(".pbypass, #blocked [rel='"+tabdomain+"'] .x_bypass").addClass('selected');
$("#blocked [rel='"+tabdomain+"'] .x_blacklist").removeClass('selected').bind("click", x_savehandle);
$("#blocked .x_"+tabdomain.replace(/\./g,"_")).hide();
@@ -274,7 +280,7 @@ function init() {
$(".pdeny").addClass("selected").attr("title","Blocked (provider of unwanted content)").text("Blocked");
}
} else if (response.enable == '0' || response.enable == '3') {
- if (inTemp) {
+ if (tabInTemp) {
$(".pbypass, #allowed [rel='"+tabdomain+"'] .x_bypass").addClass('selected');
$("#allowed [rel='"+tabdomain+"'] .x_whitelist").removeClass('selected').bind("click", x_savehandle);
$("#allowed .x_"+tabdomain.replace(/\./g,"_")).hide();
@@ -294,22 +300,17 @@ function init() {
});
}
function bulk(el) {
- var urlarray, message;
- if (mode == 'block') {
- urlarray = blocked;
- message = 'allow all blocked';
- } else {
- urlarray = allowed;
- message = 'block all allowed';
- }
- if (el.hasClass("selected")) {
- chrome.extension.sendRequest({reqtype: "remove-temp", url: urlarray, mode: mode, oldlist: el.parent().attr("sn_list")});
- el.removeClass('selected');
+ var urlarray;
+ if (el.hasClass("prevoke")) {
+ if (mode == 'block') urlarray = allowed;
+ else urlarray = blocked;
+ chrome.extension.sendRequest({reqtype: "remove-temp", url: urlarray});
} else {
- chrome.extension.sendRequest({reqtype: "temp", url: urlarray, mode: mode, oldlist: el.parent().attr("sn_list")});
- el.addClass('selected');
- window.close();
+ if (mode == 'block') urlarray = blocked;
+ else urlarray = allowed;
+ chrome.extension.sendRequest({reqtype: "temp", url: urlarray, mode: mode});
}
+ window.close();
}
function remove(url, el, type) {
var val = el.attr("rel");
@@ -355,14 +356,12 @@ function save(url, el, type) {
var val = el.attr("rel");
var selected = el.hasClass("selected");
if (val != 2 && selected) return;
- var trustType = bkg.trustCheck(url);
if (val < 2) {
bkg.domainHandler(url, '2', '1');
chrome.extension.sendRequest({reqtype: "save", url: url, list: val});
} else if (val == 2) {
- if (trustType) url = '**.'+bkg.getDomain(url);
- if (selected) chrome.extension.sendRequest({reqtype: "remove-temp", url: url, mode: mode, oldlist: el.parent().attr("sn_list")});
- else chrome.extension.sendRequest({reqtype: "temp", url: url, mode: mode, oldlist: el.parent().attr("sn_list")});
+ if (selected) chrome.extension.sendRequest({reqtype: "remove-temp", url: url});
+ else chrome.extension.sendRequest({reqtype: "temp", url: url, mode: mode});
} else if (val == 3) {
bkg.topHandler(url, 0);
val = 0;
diff --git a/js/scriptsafe.js b/js/scriptsafe.js
index 95b43cc..231bee0 100644
--- a/js/scriptsafe.js
+++ b/js/scriptsafe.js
@@ -468,6 +468,44 @@ function statuschanger() {
chrome.browserAction.setIcon({path: "../img/Forbidden.png"});
}
}
+function tempHandler(request) {
+ if (typeof request.url == 'object') {
+ for (var i=0;i