mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-07 01:22:05 +00:00
76 lines
1.8 KiB
JavaScript
76 lines
1.8 KiB
JavaScript
/*
|
|
* Copyright (c) 2011 The Native Client Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the NaCl-LICENSE file.
|
|
*/
|
|
|
|
function toArray(list) {
|
|
return Array.prototype.slice.call(list || [], 0);
|
|
}
|
|
|
|
function errorHandler(e) {
|
|
var msg = '';
|
|
|
|
switch (e.code) {
|
|
case FileError.QUOTA_EXCEEDED_ERR:
|
|
msg = 'QUOTA_EXCEEDED_ERR';
|
|
break;
|
|
case FileError.NOT_FOUND_ERR:
|
|
msg = 'NOT_FOUND_ERR';
|
|
break;
|
|
case FileError.SECURITY_ERR:
|
|
msg = 'SECURITY_ERR';
|
|
break;
|
|
case FileError.INVALID_MODIFICATION_ERR:
|
|
msg = 'INVALID_MODIFICATION_ERR';
|
|
break;
|
|
case FileError.INVALID_STATE_ERR:
|
|
msg = 'INVALID_STATE_ERR';
|
|
break;
|
|
default:
|
|
msg = 'Unknown Error';
|
|
break;
|
|
};
|
|
|
|
console.log('Error: ' + msg);
|
|
document.getElementById('wesnoth').postMessage("");
|
|
}
|
|
|
|
function listResults(entries) {
|
|
s = ''
|
|
entries.forEach(function(entry, i) {
|
|
s += entry.name;
|
|
s += '\n';
|
|
});
|
|
console.log('entries: ' + s);
|
|
document.getElementById('wesnoth').postMessage(s);
|
|
}
|
|
|
|
function readDir(dir) {
|
|
var dirReader = dir.createReader();
|
|
var entries = [];
|
|
|
|
// Call the reader.readEntries() until no more results are returned.
|
|
var readEntries = function() {
|
|
dirReader.readEntries (function(results) {
|
|
if (!results.length) {
|
|
listResults(entries.sort());
|
|
} else {
|
|
entries = entries.concat(toArray(results));
|
|
readEntries();
|
|
}
|
|
}, errorHandler);
|
|
};
|
|
|
|
readEntries(); // Start reading dirs.
|
|
}
|
|
|
|
|
|
function HandlePepperMountMessage(data) {
|
|
path = data[1];
|
|
onInitFs = function(fs) {
|
|
fs.root.getDirectory(path, {}, readDir, errorHandler);
|
|
};
|
|
window.webkitRequestFileSystem(window.PERSISTENT, 5*1024*1024 /*5MB*/, onInitFs, errorHandler);
|
|
}
|