Browse Source

code review for deeb211c5d

pull/2/head
Raymond Hill 7 years ago
parent
commit
2d14874d69
No known key found for this signature in database GPG Key ID: 25E1490B761470C2
  1. 3
      src/js/contentscript-start.js
  2. 21
      src/js/messaging.js
  3. 4
      src/js/traffic.js

3
src/js/contentscript-start.js

@ -36,7 +36,8 @@
{ {
what: 'securityPolicyViolation', what: 'securityPolicyViolation',
policy: ev.originalPolicy, policy: ev.originalPolicy,
url: ev.documentURI
blockedURI: ev.blockedURI,
documentURI: ev.documentURI
} }
); );
}); });

21
src/js/messaging.js

@ -514,6 +514,7 @@ var onMessage = function(request, sender, callback) {
var tabId = sender && sender.tab ? sender.tab.id || 0 : 0, var tabId = sender && sender.tab ? sender.tab.id || 0 : 0,
tabContext = µm.tabContextManager.lookup(tabId), tabContext = µm.tabContextManager.lookup(tabId),
rootHostname = tabContext && tabContext.rootHostname,
pageStore = µm.pageStoreFromTabId(tabId); pageStore = µm.pageStoreFromTabId(tabId);
// Sync // Sync
@ -535,8 +536,8 @@ var onMessage = function(request, sender, callback) {
case 'mustRenderNoscriptTags?': case 'mustRenderNoscriptTags?':
if ( tabContext === null ) { break; } if ( tabContext === null ) { break; }
response = response =
µm.tMatrix.mustBlock(tabContext.rootHostname, tabContext.rootHostname, 'script') &&
µm.tMatrix.evaluateSwitchZ('noscript-spoof', tabContext.rootHostname);
µm.tMatrix.mustBlock(rootHostname, rootHostname, 'script') &&
µm.tMatrix.evaluateSwitchZ('noscript-spoof', rootHostname);
if ( pageStore !== null ) { if ( pageStore !== null ) {
pageStore.hasNoscriptTags = true; pageStore.hasNoscriptTags = true;
} }
@ -544,25 +545,21 @@ var onMessage = function(request, sender, callback) {
case 'securityPolicyViolation': case 'securityPolicyViolation':
if ( request.policy !== µm.cspNoWorkerSrc ) { break; } if ( request.policy !== µm.cspNoWorkerSrc ) { break; }
var url = µm.URI.hostnameFromURI(request.blockedURI) !== '' ?
request.blockedURI :
request.documentURI;
if ( pageStore !== null ) { if ( pageStore !== null ) {
pageStore.hasWebWorkers = true; pageStore.hasWebWorkers = true;
pageStore.recordRequest('script', request.url, true);
pageStore.recordRequest('script', url, true);
} }
if ( tabContext !== null ) { if ( tabContext !== null ) {
µm.logger.writeOne(
tabId,
'net',
tabContext.rootHostname,
request.url,
'worker',
true
);
µm.logger.writeOne(tabId, 'net', rootHostname, url, 'worker', true);
} }
break; break;
case 'shutdown?': case 'shutdown?':
if ( tabContext !== null ) { if ( tabContext !== null ) {
response = µm.tMatrix.evaluateSwitchZ('matrix-off', tabContext.rootHostname);
response = µm.tMatrix.evaluateSwitchZ('matrix-off', rootHostname);
} }
break; break;

4
src/js/traffic.js

@ -313,7 +313,7 @@ var onHeadersReceived = function(details) {
if ( µm.cspNoWorkerSrc === undefined ) { if ( µm.cspNoWorkerSrc === undefined ) {
µm.cspNoWorkerSrc = vAPI.webextFlavor.startsWith('Mozilla-') ? µm.cspNoWorkerSrc = vAPI.webextFlavor.startsWith('Mozilla-') ?
"child-src 'none'; frame-src data: blob: *" :
"child-src 'none';frame-src data: blob: *" :
"worker-src 'none'" ; "worker-src 'none'" ;
} }
@ -334,7 +334,7 @@ var onHeadersReceived = function(details) {
// A CSP header is already present: just add our own directive as a // A CSP header is already present: just add our own directive as a
// separate disposition (i.e. use comma). // separate disposition (i.e. use comma).
if ( i !== -1 ) { if ( i !== -1 ) {
headers[i].value += ', ' + cspDirectives;
headers[i].value += ',' + cspDirectives;
} else { } else {
headers.push({ name: 'Content-Security-Policy', value: cspDirectives }); headers.push({ name: 'Content-Security-Policy', value: cspDirectives });
} }

Loading…
Cancel
Save