Merge pull request #216 from ethereum/compiler-load-events

Cleanup compiler load events
pull/1/head
chriseth 9 years ago committed by GitHub
commit ebe8b2e340
  1. 11
      src/app.js
  2. 3
      src/app/compiler-worker.js
  3. 4
      src/app/compiler.js

@ -444,14 +444,14 @@ var run = function () {
compiler.compile(); compiler.compile();
}); });
compiler.event.register('compilerLoaded', this, function (context) { compiler.event.register('loadingCompiler', this, function (url, usingWorker) {
compiler.compile(); setVersionText(usingWorker ? '(loading using worker)' : '(loading)');
initWithQueryParams();
}); });
compiler.event.register('compilerLoaded', this, function (version) { compiler.event.register('compilerLoaded', this, function (version) {
setVersionText(version); setVersionText(version);
compiler.compile(); compiler.compile();
initWithQueryParams();
}); });
function initWithQueryParams () { function initWithQueryParams () {
@ -475,8 +475,7 @@ var run = function () {
$('#version').text(text); $('#version').text(text);
} }
var loadVersion = function (version) { function loadVersion (version) {
setVersionText('(loading)');
queryParams.update({version: version}); queryParams.update({version: version});
if (window.soljsonReleases !== undefined && window.soljsonReleases[version] !== undefined) { if (window.soljsonReleases !== undefined && window.soljsonReleases[version] !== undefined) {
version = window.soljsonReleases[version]; version = window.soljsonReleases[version];
@ -496,7 +495,7 @@ var run = function () {
} else { } else {
compiler.loadVersion(false, url); compiler.loadVersion(false, url);
} }
}; }
document.querySelector('#optimize').addEventListener('change', function () { document.querySelector('#optimize').addEventListener('change', function () {
queryParams.update({ optimize: document.querySelector('#optimize').checked }); queryParams.update({ optimize: document.querySelector('#optimize').checked });

@ -9,6 +9,9 @@ module.exports = function (self) {
switch (data.cmd) { switch (data.cmd) {
case 'loadVersion': case 'loadVersion':
delete self.Module; delete self.Module;
// NOTE: workaround some browsers?
self.Module = undefined;
compileJSON = null; compileJSON = null;
self.importScripts(data.data); self.importScripts(data.data);

@ -133,6 +133,7 @@ function Compiler (editor, queryParams, handleGithubCall, updateFiles) {
this.loadVersion = function (usingWorker, url) { this.loadVersion = function (usingWorker, url) {
console.log('Loading ' + url + ' ' + (usingWorker ? 'with worker' : 'without worker')); console.log('Loading ' + url + ' ' + (usingWorker ? 'with worker' : 'without worker'));
self.event.trigger('loadingCompiler', [url, usingWorker]);
if (usingWorker) { if (usingWorker) {
loadWorker(url); loadWorker(url);
@ -143,6 +144,9 @@ function Compiler (editor, queryParams, handleGithubCall, updateFiles) {
function loadInternal (url) { function loadInternal (url) {
delete window.Module; delete window.Module;
// NOTE: workaround some browsers?
window.Module = undefined;
// Set a safe fallback until the new one is loaded // Set a safe fallback until the new one is loaded
setCompileJSON(function (source, optimize) { setCompileJSON(function (source, optimize) {
compilationFinished({error: 'Compiler not yet loaded.'}); compilationFinished({error: 'Compiler not yet loaded.'});

Loading…
Cancel
Save