Skip to content

Commit

Permalink
Merge pull request webpack#1868 from waysact/1800/subresource-integrity
Browse files Browse the repository at this point in the history
[WIP] Hooks for subresource integrity
  • Loading branch information
sokra committed Jan 9, 2016
2 parents ee2b47c + d4db20a commit dcc08e7
Showing 1 changed file with 20 additions and 14 deletions.
34 changes: 20 additions & 14 deletions lib/JsonpMainTemplatePlugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,13 @@ JsonpMainTemplatePlugin.prototype.apply = function(mainTemplate) {
}
return source;
});
mainTemplate.plugin("require-ensure", function(_, chunk, hash) {
mainTemplate.plugin("jsonp-script", function(_, chunk, hash) {
var filename = this.outputOptions.filename;
var chunkFilename = this.outputOptions.chunkFilename;
var chunkMaps = chunk.getChunkMaps();
var crossOriginLoading = this.outputOptions.crossOriginLoading;
var chunkLoadTimeout = this.outputOptions.chunkLoadTimeout || 120000;
return this.asString([
"if(installedChunks[chunkId] === 0)",
this.indent([
"return Promise.resolve()"
]),
"",
"// an Promise means \"currently loading\".",
"if(installedChunks[chunkId]) {",
this.indent([
"return installedChunks[chunkId][2];"
]),
"}",
"// start chunk loading",
"var head = document.getElementsByTagName('head')[0];",
"var script = document.createElement('script');",
"script.type = 'text/javascript';",
"script.charset = 'utf-8';",
Expand Down Expand Up @@ -88,6 +75,25 @@ JsonpMainTemplatePlugin.prototype.apply = function(mainTemplate) {
"}"
]),
"};",
]);
});
mainTemplate.plugin("require-ensure", function(_, chunk, hash) {
var chunkFilename = this.outputOptions.chunkFilename;
return this.asString([
"if(installedChunks[chunkId] === 0)",
this.indent([
"return Promise.resolve()"
]),
"",
"// an Promise means \"currently loading\".",
"if(installedChunks[chunkId]) {",
this.indent([
"return installedChunks[chunkId][2];"
]),
"}",
"// start chunk loading",
"var head = document.getElementsByTagName('head')[0];",
this.applyPluginsWaterfall("jsonp-script", "", chunk, hash),
"head.appendChild(script);",
"",
"var promise = new Promise(function(resolve, reject) {",
Expand Down

0 comments on commit dcc08e7

Please sign in to comment.