@@ -129,20 +129,20 @@ function setDefaultOptions() {
129129chrome . 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} } ) ;
134134chrome . 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} } ) ;
139139chrome . 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