Browse Source

code review: easier to maintain

pull/2/head
gorhill 10 years ago
parent
commit
818a3db9e4
  1. 21
      src/js/contentscript-end.js
  2. 2
      src/js/messaging.js
  3. 18
      src/js/start.js

21
src/js/contentscript-end.js

@ -154,7 +154,6 @@ var collapser = (function() {
var pendingRequests = {}; var pendingRequests = {};
var pendingRequestCount = 0; var pendingRequestCount = 0;
var srcProps = { var srcProps = {
'iframe': 'src',
'img': 'src' 'img': 'src'
}; };
@ -194,24 +193,36 @@ var collapser = (function() {
entry = pendingRequests[request.id]; entry = pendingRequests[request.id];
delete pendingRequests[request.id]; delete pendingRequests[request.id];
pendingRequestCount -= 1; pendingRequestCount -= 1;
// Not blocked
if ( !request.blocked ) { if ( !request.blocked ) {
continue; continue;
} }
target = entry.target; target = entry.target;
// No placeholders
if ( collapse ) { if ( collapse ) {
target.style.setProperty('display', 'none', 'important'); target.style.setProperty('display', 'none', 'important');
continue; continue;
} }
tagName = target.localName; tagName = target.localName;
// Special case: iframe
if ( tagName === 'iframe' ) {
target.setAttribute( target.setAttribute(
srcProps[tagName],
placeholders[tagName].replace('{{url}}', request.url)
'src',
'data:text/html,' + encodeURIComponent(placeholders.iframe.replace('{{url}}', request.url))
); );
if ( tagName !== 'iframe' ) {
continue;
}
// Everything else
target.setAttribute(srcProps[tagName], placeholders[tagName]);
target.style.setProperty('border', placeholders.border, 'important'); target.style.setProperty('border', placeholders.border, 'important');
target.style.setProperty('background', placeholders.background, 'important'); target.style.setProperty('background', placeholders.background, 'important');
} }
}
// Renew map: I believe that even if all properties are deleted, an // Renew map: I believe that even if all properties are deleted, an
// object will still use more memory than a brand new one. // object will still use more memory than a brand new one.

2
src/js/messaging.js

@ -479,7 +479,7 @@ var evaluateURLs = function(tabId, requests) {
placeholders = { placeholders = {
background: bg, background: bg,
border: vAPI.localStorage.getItem('placeholderBorder'), 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') img: vAPI.localStorage.getItem('placeholderImage')
}; };
} }

18
src/js/start.js

@ -82,14 +82,18 @@ var defaultLocalUserSettings = {
].join(''), ].join(''),
placeholderBorder: '1px solid rgba(0, 0, 0, 0.05)', placeholderBorder: '1px solid rgba(0, 0, 0, 0.05)',
placeholderDocument: [ placeholderDocument: [
'data:text/html,',
encodeURIComponent('<html><head><style>'),
encodeURIComponent('body { background: '),
'{{bg}}',
encodeURIComponent('; color: gray; font: 12px sans-serif; margin: 0; padding: 2px; white-space: nowrap; }'),
encodeURIComponent('</style></head><body>'),
'<html><head><style>',
'body { ',
'background: {{bg}};',
'color: gray;',
'font: 12px sans-serif;',
'margin: 0;',
'padding: 2px;',
'white-space: nowrap;',
'}',
'</style></head><body>',
'{{url}}', '{{url}}',
encodeURIComponent('</body></html>')
'</body></html>'
].join(''), ].join(''),
placeholderImage: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' placeholderImage: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'
}; };

Loading…
Cancel
Save