example.js revision 868fa2fe829687343ffae624259930155e16dbd8
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 document.getElementById('listButton').addEventListener('click', listDir); 23} 24 25function loadFile() { 26 if (common.naclModule) { 27 var fileName = document.getElementById('fileName').value; 28 29 // Package a message using a simple protocol containing: 30 // instruction file_name_length file_name 31 var msg = "ld " + fileName.length + " " + fileName; 32 common.naclModule.postMessage(msg); 33 } 34} 35 36function saveFile() { 37 if (common.naclModule) { 38 var fileName = document.getElementById('fileName').value; 39 var fileText = document.getElementById('fileEditor').value; 40 41 // Package a message using a simple protocol containing: 42 // instruction file_name_length file_name file_contents 43 var msg = "sv " + fileName.length + " " + fileName + " " + fileText; 44 common.naclModule.postMessage(msg); 45 } 46} 47 48function deleteFile() { 49 if (common.naclModule) { 50 var fileName = document.getElementById('fileName').value; 51 52 // Package a message using a simple protocol containing: 53 // instruction file_name_length file_name 54 var msg = "de " + fileName.length + " " + fileName; 55 common.naclModule.postMessage(msg); 56 } 57} 58 59function listDir() { 60 if (common.naclModule) { 61 var dirName = document.getElementById('dirName').value; 62 63 // Package a message using a simple protocol containing: 64 // instruction file_name_length file_name 65 var msg = "ls " + dirName.length + " " + dirName; 66 common.naclModule.postMessage(msg); 67 } 68} 69 70// Called by the common.js module. 71function handleMessage(message_event) { 72 var messageParts = message_event.data.split("|", 3); 73 74 if (messageParts[0] == "ERR") { 75 common.updateStatus(messageParts[1]); 76 document.getElementById('statusField').style.color = "red"; 77 } 78 else if(messageParts[0] == "STAT") { 79 common.updateStatus(messageParts[1]); 80 } 81 else if (messageParts[0] == "DISP") { 82 // Display the message in the file edit box 83 document.getElementById('fileEditor').value = messageParts[1]; 84 } 85 else if (messageParts[0] == "READY") { 86 var statusField = document.getElementById('statusField'); 87 common.updateStatus(statusField.innerHTML + ' Ready!'); 88 } 89} 90