blob: be2413cc3389fe95470cc4adb27d371f13ae7ae9 [file] [log] [blame]
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
aM = null;
function moduleLoad() {
hideStatus();
init();
animate();
NaClAMBulletInit();
loadJenga20();
}
function moduleLoadError() {
updateStatus('Load failed.');
}
function moduleLoadProgress(event) {
$('progress').style.display = 'block';
var loadPercent = 0.0;
var bar = $('progress-bar');
if (event.lengthComputable && event.total > 0) {
loadPercent = event.loaded / event.total * 100.0;
} else {
// The total length is not yet known.
loadPercent = 10;
}
bar.style.width = loadPercent + "%";
}
function moduleCrash(event) {
if (naclModule.exitStatus == -1) {
updateStatus('CRASHED');
} else {
updateStatus('EXITED [' + naclModule.exitStatus + ']');
}
}
function updateStatus(opt_message) {
var statusField = $('statusField');
if (statusField) {
statusField.style.display = 'block';
statusField.textContent = opt_message;
}
}
function hideStatus() {
$('loading-cover').style.display = 'none';
}
function pageDidLoad() {
updateStatus('Loading...');
console.log('started');
aM = new NaClAM('NaClAM');
aM.enable();
var embedWrap = $('listener');
embedWrap.addEventListener('load', moduleLoad, true);
embedWrap.addEventListener('error', moduleLoadError, true);
embedWrap.addEventListener('progress', moduleLoadProgress, true);
embedWrap.addEventListener('crash', moduleCrash, true);
var revision = 236779;
var url = '//storage.googleapis.com/gonacl/demos/publish/' +
revision + '/bullet/NaClAMBullet.nmf';
var embed = document.createElement('embed');
embed.setAttribute('name', 'NaClAM');
embed.setAttribute('id', 'NaClAM');
embed.setAttribute('width', '0');
embed.setAttribute('height', '0');
embed.setAttribute('type', 'application/x-pnacl');
embed.setAttribute('src', url);
embedWrap.appendChild(embed);
}
window.addEventListener("load", pageDidLoad, false);