Fixup 59e0f3f4: explicitly list our functions in self-destruct

Seems simpler and more robust. Otherwise Chrome spams console warnings about its webkit* aliases we touch.
This commit is contained in:
tophf 2017-03-16 15:47:58 +03:00
parent 1d30b19132
commit 71ea723728

View File

@ -321,14 +321,24 @@ function initObserver() {
iframeObserver.disconnect(); iframeObserver.disconnect();
// we can destroy global functions in this context to free up memory // we can destroy global functions in this context to free up memory
var globals = Object.keys(window); [
for (var i = 0, len = globals.length; i < len; i++) { 'addDocumentStylesToAllIFrames',
var key = globals[i]; 'addDocumentStylesToIFrame',
var obj = window[key]; 'addStyleElement',
if (typeof obj == 'function' && !/native code/.test(obj)) { 'addStyleToIFrameSrcDoc',
window[key] = null; 'applyOnMessage',
} 'applySections',
} 'applyStyles',
'disableAll',
'getDynamicIFrames',
'iframeIsDynamic',
'iframeIsLoadingSrcDoc',
'initObserver',
'removeStyle',
'replaceAll',
'requestStyles',
'retireStyle'
].forEach(fn => window[fn] = null);
// we can destroy global variables // we can destroy global variables
g_styleElements = iframeObserver = retiredStyleIds = null; g_styleElements = iframeObserver = retiredStyleIds = null;