summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/file_manager/js/util.js
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/resources/file_manager/js/util.js')
-rw-r--r--chrome/browser/resources/file_manager/js/util.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/resources/file_manager/js/util.js b/chrome/browser/resources/file_manager/js/util.js
index bd3b08a..ec14e95 100644
--- a/chrome/browser/resources/file_manager/js/util.js
+++ b/chrome/browser/resources/file_manager/js/util.js
@@ -166,4 +166,20 @@ var util = {
return fmt(this.scale_[i], this.units_[i]);
},
+ /**
+ * Utility function to read specified range of bytes from file
+ * @param file {File} file to read
+ * @param begin {int} starting byte(included)
+ * @param end {int} last byte(excluded)
+ * @param callback {function(File, Uint8Array)} callback to invoke
+ * @param onError {function(err)} error handler
+ */
+ readFileBytes: function(file, begin, end, callback, onError) {
+ var fileReader = new FileReader();
+ fileReader.onerror = onError;
+ fileReader.onloadend = function() {
+ callback(file, new ByteReader(fileReader.result))
+ };
+ fileReader.readAsArrayBuffer(file.webkitSlice(begin, end));
+ }
};