diff --git a/src/js/contentscript-end.js b/src/js/contentscript-end.js index 5cd7613..7166e2c 100644 --- a/src/js/contentscript-end.js +++ b/src/js/contentscript-end.js @@ -154,7 +154,6 @@ var collapser = (function() { var pendingRequests = {}; var pendingRequestCount = 0; var srcProps = { - 'iframe': 'src', 'img': 'src' }; @@ -194,23 +193,35 @@ var collapser = (function() { entry = pendingRequests[request.id]; delete pendingRequests[request.id]; pendingRequestCount -= 1; + + // Not blocked if ( !request.blocked ) { continue; } + target = entry.target; + + // No placeholders if ( collapse ) { target.style.setProperty('display', 'none', 'important'); continue; } + tagName = target.localName; - target.setAttribute( - srcProps[tagName], - placeholders[tagName].replace('{{url}}', request.url) - ); - if ( tagName !== 'iframe' ) { - target.style.setProperty('border', placeholders.border, 'important'); - target.style.setProperty('background', placeholders.background, 'important'); + + // Special case: iframe + if ( tagName === 'iframe' ) { + target.setAttribute( + 'src', + 'data:text/html,' + encodeURIComponent(placeholders.iframe.replace('{{url}}', request.url)) + ); + continue; } + + // Everything else + target.setAttribute(srcProps[tagName], placeholders[tagName]); + target.style.setProperty('border', placeholders.border, 'important'); + target.style.setProperty('background', placeholders.background, 'important'); } // Renew map: I believe that even if all properties are deleted, an diff --git a/src/js/messaging.js b/src/js/messaging.js index 96944dc..33d3565 100644 --- a/src/js/messaging.js +++ b/src/js/messaging.js @@ -479,7 +479,7 @@ var evaluateURLs = function(tabId, requests) { placeholders = { background: bg, border: vAPI.localStorage.getItem('placeholderBorder'), - iframe: vAPI.localStorage.getItem('placeholderDocument').replace('{{bg}}', encodeURIComponent(bg)), + iframe: vAPI.localStorage.getItem('placeholderDocument').replace('{{bg}}', bg), img: vAPI.localStorage.getItem('placeholderImage') }; } diff --git a/src/js/start.js b/src/js/start.js index 5e9f4b9..611d122 100644 --- a/src/js/start.js +++ b/src/js/start.js @@ -82,14 +82,18 @@ var defaultLocalUserSettings = { ].join(''), placeholderBorder: '1px solid rgba(0, 0, 0, 0.05)', placeholderDocument: [ - 'data:text/html,', - encodeURIComponent('
'), + '', '{{url}}', - encodeURIComponent('') + '' ].join(''), placeholderImage: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' };