example.js revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Called by the common.js module. 6function domContentLoaded(name, tc, config, width, height) { 7 window.webkitStorageInfo.requestQuota(window.PERSISTENT, 1024*1024, 8 function(bytes) { 9 common.updateStatus( 10 'Allocated '+bytes+' bytes of persistant storage.'); 11 common.createNaClModule(name, tc, config, width, height); 12 common.attachDefaultListeners(); 13 }, 14 function(e) { alert('Failed to allocate space') }); 15} 16 17// Called by the common.js module. 18function attachListeners() { 19 document.getElementById('saveButton').addEventListener('click', saveFile); 20 document.getElementById('loadButton').addEventListener('click', loadFile); 21 document.getElementById('deleteButton').addEventListener('click', deleteFile); 22} 23 24function loadFile() { 25 if (common.naclModule) { 26 var fileName = document.getElementById('fileName').value; 27 28 // Package a message using a simple protocol containing: 29 // instruction file_name_length file_name 30 var msg = "ld " + fileName.length + " " + fileName; 31 common.naclModule.postMessage(msg); 32 } 33} 34 35function saveFile() { 36 if (common.naclModule) { 37 var fileName = document.getElementById('fileName').value; 38 var fileText = document.getElementById('fileEditor').value; 39 40 // Package a message using a simple protocol containing: 41 // instruction file_name_length file_name file_contents 42 var msg = "sv " + fileName.length + " " + fileName + " " + fileText; 43 common.naclModule.postMessage(msg); 44 } 45} 46 47function deleteFile() { 48 if (common.naclModule) { 49 var fileName = document.getElementById('fileName').value; 50 51 // Package a message using a simple protocol containing: 52 // instruction file_name_length file_name 53 var msg = "de " + fileName.length + " " + fileName; 54 common.naclModule.postMessage(msg); 55 } 56} 57 58// Called by the common.js module. 59function handleMessage(message_event) { 60 var messageParts = message_event.data.split("|", 3); 61 62 if (messageParts[0] == "ERR") { 63 common.updateStatus(messageParts[1]); 64 document.getElementById('statusField').style.color = "red"; 65 } 66 else if(messageParts[0] == "STAT") { 67 common.updateStatus(messageParts[1]); 68 } 69 else if (messageParts[0] == "DISP") { 70 // Display the message in the file edit box 71 document.getElementById('fileEditor').value = messageParts[1]; 72 } 73 else if (messageParts[0] == "READY") { 74 var statusField = document.getElementById('statusField'); 75 common.updateStatus(statusField.innerHTML + ' Ready!'); 76 } 77} 78