Skip to content

Commit 20e2577

Browse files
committed
v0.46.53
1 parent b982664 commit 20e2577

File tree

7 files changed

+177
-155
lines changed

7 files changed

+177
-155
lines changed

changelog.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
v0.46.52 - Wednesday, May 4, 2016
1+
v0.46.53 - Thursday, May 5, 2016
2+
- updated core DP cloaking functions so that DP Option setting changes and the Paranoid Hotkey toggle take effect immediately (without temporarily uncloaking and recloaking open tabs)
3+
- optimized number of calls when cloaking a page (from 3 to 1)
4+
- tweaked page favicon cloaking to be instant
5+
- all DP cloaking identifiers now unique on every page load to avoid conflicts/being overwritten
6+
- more reliable "tab stickiness" (if enabled)
7+
8+
v0.46.52.2 - Wednesday, May 4, 2016
29
- added new Paranoid Hotkey toggle (default: ALT+P) which toggles between Paranoid mode (all images/media hidden) and the Cloaking Level you chose. Like the cloaking toggle, you have full control over what the hotkeys are (the .1 in the version number v0.46.52.1 = a fix so that any change to the Paranoid Hotkey combo is actually saved; .2 = tweaked Paranoid behaviour)
310
- toolbar icon action now respects DP enabled state
411
- tweaked hotkey visual display and fixed potential issue

js/background.js

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -129,20 +129,20 @@ function setDefaultOptions() {
129129
chrome.contextMenus.create({"title": chrome.i18n.getMessage("whitelistdomain"), "contexts": ['browser_action','page_action'], "onclick": function(info, tab){
130130
if (tab.url.substring(0, 4) != 'http') return;
131131
domainHandler(extractDomainFromURL(tab.url), 0);
132-
if (localStorage["enable"] == "true") magician('false', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id, 'true');
132+
if (localStorage["enable"] == "true") magician('false', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id);
133133
}});
134134
chrome.contextMenus.create({"title": chrome.i18n.getMessage("blacklistdomain"), "contexts": ['browser_action','page_action'], "onclick": function(info, tab){
135135
if (tab.url.substring(0, 4) != 'http') return;
136136
domainHandler(extractDomainFromURL(tab.url), 1);
137-
if (localStorage["enable"] == "true") magician('true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id, 'true');
137+
if (localStorage["enable"] == "true") magician('true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id);
138138
}});
139139
chrome.contextMenus.create({"title": chrome.i18n.getMessage("removelist"), "contexts": ['browser_action','page_action'], "onclick": function(info, tab){
140140
if (tab.url.substring(0, 4) != 'http') return;
141141
domainHandler(extractDomainFromURL(tab.url), 2);
142142
if (localStorage["enable"] == "true") {
143143
if (localStorage['newPages'] == 'Cloak' || localStorage['global'] == 'true') flag = 'true';
144144
else flag = 'false';
145-
magician(flag, localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id, 'true');
145+
magician(flag, localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id);
146146
}
147147
}});
148148

@@ -179,18 +179,17 @@ function recursiveCloak(enable, global, showIcon, hideFavicon, hidePageTitle, ti
179179
var dpcloakindex = cloakedTabs.indexOf(windows[i].tabs[x].id);
180180
if (dpcloakindex != -1) cloakedTabs.splice(dpcloakindex, 1);
181181
else cloakedTabs.push(windows[i].tabs[x].id);
182-
magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, windows[i].tabs[x].id, 'false');
182+
magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, windows[i].tabs[x].id);
183183
}
184184
}
185185
}
186186
});
187187
} else {
188-
if (tabId) magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, tabId, 'true');
188+
if (tabId) magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, tabId);
189189
else {
190190
// If no tabId is passed, it means the user changed an option on the Options page and we must go through all of the individual tabs that have cloaking enabled (we're in this section because global is false)
191191
for (var i=cloakedTabs.length-1; i>=0; --i) {
192-
chrome.tabs.executeScript(cloakedTabs[i], {code: "removeCss('productivity')", allFrames: true});
193-
magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, cloakedTabs[i], 'true');
192+
magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, cloakedTabs[i]);
194193
}
195194
}
196195
}
@@ -207,22 +206,22 @@ function setDPIcon() {
207206
}
208207
});
209208
}
210-
function magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, tabId, tabSpecific) {
209+
function magician(enable, showIcon, hideFavicon, hidePageTitle, titleText, tabId) {
211210
if (enable == 'true') {
212-
chrome.tabs.executeScript(tabId, {code: "init()", allFrames: true});
213-
if (hideFavicon == 'true') chrome.tabs.executeScript(tabId, {code: "faviconblank()", allFrames: true});
214-
if (hidePageTitle == 'true') chrome.tabs.executeScript(tabId, {code: 'replaceTitle("'+titleText+'");titleBind("'+titleText+'");', allFrames: true});
211+
if (hideFavicon == 'true' && hidePageTitle == 'true') chrome.tabs.executeScript(tabId, {code: 'init();faviconblank();replaceTitle("'+titleText+'");titleBind("'+titleText+'");', allFrames: true});
212+
else if (hideFavicon == 'true' && hidePageTitle != 'true') chrome.tabs.executeScript(tabId, {code: "init();faviconblank();titleRestore();", allFrames: true});
213+
else if (hideFavicon != 'true' && hidePageTitle == 'true') chrome.tabs.executeScript(tabId, {code: 'init();faviconrestore();replaceTitle("'+titleText+'");titleBind("'+titleText+'");', allFrames: true});
214+
else if (hideFavicon != 'true' && hidePageTitle != 'true') chrome.tabs.executeScript(tabId, {code: 'init();faviconrestore();titleRestore();', allFrames: true});
215215
} else {
216-
chrome.tabs.executeScript(tabId, {code: "removeCss('productivity')", allFrames: true});
216+
chrome.tabs.executeScript(tabId, {code: "removeCss()", allFrames: true});
217217
}
218218
if (showIcon == 'true') {
219219
if (enable == 'true') {
220220
chrome.pageAction.setIcon({path: "img/addressicon/"+dpicon+".png", tabId: tabId});
221-
chrome.pageAction.setTitle({title: dptitle, tabId: tabId});
222221
} else {
223222
chrome.pageAction.setIcon({path: "img/addressicon/"+dpicon+"-disabled.png", tabId: tabId});
224-
chrome.pageAction.setTitle({title: dptitle, tabId: tabId});
225223
}
224+
chrome.pageAction.setTitle({title: dptitle, tabId: tabId});
226225
chrome.pageAction.show(tabId);
227226
} else chrome.pageAction.hide(tabId);
228227
}
@@ -244,11 +243,11 @@ function dpHandle(tab) {
244243
if (dpcloakindex != -1) {
245244
if (dpuncloakindex == -1) uncloakedTabs.push(tab.id);
246245
cloakedTabs.splice(dpcloakindex, 1);
247-
recursiveCloak('false', 'false', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id);
246+
magician('false', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id);
248247
} else {
249248
if (dpcloakindex == -1) cloakedTabs.push(tab.id);
250249
uncloakedTabs.splice(dpuncloakindex, 1);
251-
recursiveCloak('true', 'false', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id);
250+
magician('true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tab.id);
252251
}
253252
}
254253
}
@@ -266,7 +265,7 @@ chrome.tabs.onUpdated.addListener(function(tabid, changeinfo, tab) {
266265
if (dpcloakindex == -1) cloakedTabs.push(tabid);
267266
// Cloak page if it meets the criteria
268267
if (dpcheck) {
269-
magician(enabled(tab.url), localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tabid, 'true');
268+
magician(enabled(tab.url), localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tabid);
270269
if (dpdomaincheck != 1 && localStorage["global"] == "false") localStorage["enable"] = "true";
271270
}
272271
if (localStorage["showIcon"] == "true") {
@@ -283,7 +282,7 @@ chrome.tabs.onUpdated.addListener(function(tabid, changeinfo, tab) {
283282
if (tab.openerTabId) {
284283
if (cloakedTabs.indexOf(tab.openerTabId) != -1 && dpuncloakindex == -1) {
285284
if (dpcloakindex == -1) cloakedTabs.push(tabid);
286-
magician('true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tabid, 'true');
285+
magician('true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], tabid);
287286
}
288287
}
289288
}
@@ -299,8 +298,10 @@ var requestDispatchTable = {
299298
"get-enabled": function(request, sender, sendResponse) {
300299
var enable;
301300
var dpdomaincheck = domainCheck(extractDomainFromURL(sender.tab.url));
302-
if (enabled(sender.tab.url) == "true" && dpdomaincheck != 0 && (localStorage["global"] == "true" || (localStorage["global"] == "false" && (cloakedTabs.indexOf(sender.tab.id) != -1 || localStorage["newPages"] == "Cloak" || dpdomaincheck == 1)))) enable = 'true';
301+
var dpcloakindex = cloakedTabs.indexOf(sender.tab.id);
302+
if (enabled(sender.tab.url) == "true" && dpdomaincheck != 0 && (localStorage["global"] == "true" || (localStorage["global"] == "false" && (dpcloakindex != -1 || localStorage["newPages"] == "Cloak" || dpdomaincheck == 1)))) enable = 'true';
303303
else enable = 'false';
304+
if (enable == 'true' && dpcloakindex == -1) cloakedTabs.push(sender.tab.id);
304305
sendResponse({enable: enable, background: localStorage["s_bg"], favicon: localStorage["disableFavicons"], hidePageTitles: localStorage["hidePageTitles"], pageTitleText: localStorage["pageTitleText"], enableToggle: localStorage["enableToggle"], hotkey: localStorage["hotkey"], paranoidhotkey: localStorage["paranoidhotkey"]});
305306
},
306307
"toggle": function(request, sender, sendResponse) {
@@ -315,24 +316,20 @@ var requestDispatchTable = {
315316
localStorage["savedsfwmode"] = localStorage["sfwmode"];
316317
localStorage["sfwmode"] = "Paranoid";
317318
if (localStorage["global"] == "true") {
318-
if (localStorage["enable"] == "true") recursiveCloak('false', 'true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"]);
319319
recursiveCloak('true', 'true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"]);
320320
localStorage["enable"] = "true";
321321
} else {
322-
var dpcloakindex = cloakedTabs.indexOf(sender.tab.id);
323322
var dpuncloakindex = uncloakedTabs.indexOf(sender.tab.id);
324323
if (dpuncloakindex != -1) uncloakedTabs.splice(dpuncloakindex, 1);
325-
if (dpcloakindex == -1) cloakedTabs.push(sender.tab.id);
326-
else magician('false', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], sender.tab.id);
324+
if (cloakedTabs.indexOf(sender.tab.id) == -1) cloakedTabs.push(sender.tab.id);
327325
magician('true', localStorage["showIcon"], localStorage["disableFavicons"], localStorage["hidePageTitles"], localStorage["pageTitleText"], sender.tab.id);
328326
localStorage["enable"] = "true";
329327
}
330-
return;
331328
} else {
332329
localStorage["sfwmode"] = localStorage["savedsfwmode"];
333330
localStorage["savedsfwmode"] = "";
331+
dpHandle(sender.tab);
334332
}
335-
dpHandle(sender.tab);
336333
},
337334
"get-settings": function(request, sender, sendResponse) {
338335
if (localStorage["font"] == '-Custom-') {

0 commit comments

Comments
 (0)