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

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

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

Loading…
Cancel
Save