@@ -405,18 +405,26 @@ class MiniCssExtractPlugin {
405405 this . runtimeOptions . linkType
406406 ) } ;`
407407 : '' ,
408- 'linkTag.onload = resolve;' ,
409- 'linkTag.onerror = function(event) {' ,
408+ 'var onLinkComplete = function (event) {' ,
410409 Template . indent ( [
411- 'var request = event && event.target && event.target.href || fullhref;' ,
412- 'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + request + ")");' ,
413- 'err.code = "CSS_CHUNK_LOAD_FAILED";' ,
414- 'err.request = request;' ,
415- 'delete installedCssChunks[chunkId]' ,
416- 'linkTag.parentNode.removeChild(linkTag)' ,
417- 'reject(err);' ,
410+ '// avoid mem leaks.' ,
411+ 'linkTag.onerror = linkTag.onload = null;' ,
412+ "if (event.type === 'load') {" ,
413+ Template . indent ( [ 'resolve();' ] ) ,
414+ '} else {' ,
415+ Template . indent ( [
416+ 'var request = event && event.target && event.target.href || fullhref;' ,
417+ 'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + request + ")");' ,
418+ 'err.code = "CSS_CHUNK_LOAD_FAILED";' ,
419+ 'err.request = request;' ,
420+ 'delete installedCssChunks[chunkId]' ,
421+ 'linkTag.parentNode.removeChild(linkTag)' ,
422+ 'reject(err);' ,
423+ ] ) ,
424+ '}' ,
418425 ] ) ,
419426 '};' ,
427+ 'linkTag.onerror = linkTag.onload = onLinkComplete;' ,
420428 'linkTag.href = fullhref;' ,
421429 crossOriginLoading
422430 ? Template . asString ( [
0 commit comments