This replaces an old and outdated Promise polyfill that was included with previous versions of html2canvas, and which consistently overwrote native browser implementations when it shouldn't have. It is essentially a (slightly modified) paste of the most current minified version of es6-promise, found here: https://es6-promises.s3.amazonaws.com/es6-promise-2.0.1.min.js The plan is to eventually include this polyfill as a submodule dependency, but the build process for es6-promise is a bit cumbersome/opaque/painful at the moment, so this manual update was an easier interim solution. Please note that I had to manually add the actual call to `ES6Promise.polyfill()` to load the polyfill--this will become unnecessarry in future versions of es6-promise. Note also that I had to manually pass `window` to the polyfill's IIFE, since `this` is an empty object in the current scope. Ref niklasvh/html2canvas#494.