mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Merge pull request #2352 from MetaMask/i1340-SynchronousInjection
Fix slow web3 injection bug
This commit is contained in:
commit
701887bb19
@ -2,6 +2,8 @@
|
||||
|
||||
## Current Master
|
||||
|
||||
- Fix bug where web3 API was sometimes injected after the page loaded.
|
||||
|
||||
## 3.11.0 2017-10-11
|
||||
|
||||
- Add support for new eth_signTypedData method per EIP 712.
|
||||
|
@ -7,7 +7,9 @@ const ObjectMultiplex = require('obj-multiplex')
|
||||
const extension = require('extensionizer')
|
||||
const PortStream = require('./lib/port-stream.js')
|
||||
|
||||
const inpageText = fs.readFileSync(path.join(__dirname, 'inpage.js')).toString()
|
||||
const inpageContent = fs.readFileSync(path.join(__dirname, '..', '..', 'dist', 'chrome', 'scripts', 'inpage.js')).toString()
|
||||
const inpageSuffix = '//# sourceURL=' + extension.extension.getURL('scripts/inpage.js') + '\n'
|
||||
const inpageBundle = inpageContent + inpageSuffix
|
||||
|
||||
// Eventually this streaming injection could be replaced with:
|
||||
// https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.exportFunction
|
||||
@ -25,8 +27,7 @@ function setupInjection () {
|
||||
try {
|
||||
// inject in-page script
|
||||
var scriptTag = document.createElement('script')
|
||||
scriptTag.src = extension.extension.getURL('scripts/inpage.js')
|
||||
scriptTag.textContent = inpageText
|
||||
scriptTag.textContent = inpageBundle
|
||||
scriptTag.onload = function () { this.parentNode.removeChild(this) }
|
||||
var container = document.head || document.documentElement
|
||||
// append as first child
|
||||
|
@ -186,8 +186,13 @@ jsFiles.forEach((jsFile) => {
|
||||
gulp.task(`build:js:${jsFile}`, bundleTask({ watch: false, label: jsFile, filename: `${jsFile}.js` }))
|
||||
})
|
||||
|
||||
gulp.task('dev:js', gulp.parallel(...jsDevStrings))
|
||||
gulp.task('build:js', gulp.parallel(...jsBuildStrings))
|
||||
// inpage must be built before all other scripts:
|
||||
const firstDevString = jsDevStrings.shift()
|
||||
gulp.task('dev:js', gulp.series(firstDevString, gulp.parallel(...jsDevStrings)))
|
||||
|
||||
// inpage must be built before all other scripts:
|
||||
const firstBuildString = jsBuildStrings.shift()
|
||||
gulp.task('build:js', gulp.series(firstBuildString, gulp.parallel(...jsBuildStrings)))
|
||||
|
||||
// disc bundle analyzer tasks
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user