diff --git a/framework/assets/js/file.js b/framework/assets/js/file.js index 789c7d11..4a4c0d6f 100755 --- a/framework/assets/js/file.js +++ b/framework/assets/js/file.js @@ -162,13 +162,26 @@ FileReader.DONE = 2; FileReader.prototype.abort = function() { this.readyState = FileReader.DONE; + // set error + var error = new FileError(); + error.code = error.ABORT_ERR; + this.error = error; + + // If error callback + if (typeof this.onerror == "function") { + var evt = File._createEvent("error", this); + this.onerror(evt); + } // If abort callback if (typeof this.onabort == "function") { var evt = File._createEvent("abort", this); this.onabort(evt); } - - // TODO: Anything else to do? Maybe sent to native? + // If load end callback + if (typeof this.onloadend == "function") { + var evt = File._createEvent("loadend", this); + this.onloadend(evt); + } }; /** @@ -208,15 +221,15 @@ FileReader.prototype.readAsText = function(file, encoding) { // Save result me.result = r; - // DONE state - me.readyState = FileReader.DONE; - // If onload callback if (typeof me.onload == "function") { var evt = File._createEvent("load", me); me.onload(evt); } + // DONE state + me.readyState = FileReader.DONE; + // If onloadend callback if (typeof me.onloadend == "function") { var evt = File._createEvent("loadend", me); @@ -235,15 +248,15 @@ FileReader.prototype.readAsText = function(file, encoding) { // Save error me.error = e; - // DONE state - me.readyState = FileReader.DONE; - // If onerror callback if (typeof me.onerror == "function") { var evt = File._createEvent("error", me); me.onerror(evt); } + // DONE state + me.readyState = FileReader.DONE; + // If onloadend callback if (typeof me.onloadend == "function") { var evt = File._createEvent("loadend", me); @@ -289,15 +302,15 @@ FileReader.prototype.readAsDataURL = function(file) { // Save result me.result = r; - // DONE state - me.readyState = FileReader.DONE; - // If onload callback if (typeof me.onload == "function") { var evt = File._createEvent("load", me); me.onload(evt); } + // DONE state + me.readyState = FileReader.DONE; + // If onloadend callback if (typeof me.onloadend == "function") { var evt = File._createEvent("loadend", me); @@ -316,15 +329,15 @@ FileReader.prototype.readAsDataURL = function(file) { // Save error me.error = e; - // DONE state - me.readyState = FileReader.DONE; - // If onerror callback if (typeof me.onerror == "function") { var evt = File._createEvent("error", me); me.onerror(evt); } + // DONE state + me.readyState = FileReader.DONE; + // If onloadend callback if (typeof me.onloadend == "function") { var evt = File._createEvent("loadend", me); diff --git a/framework/src/com/phonegap/FileUtils.java b/framework/src/com/phonegap/FileUtils.java index dddfd5b2..e316a5a8 100755 --- a/framework/src/com/phonegap/FileUtils.java +++ b/framework/src/com/phonegap/FileUtils.java @@ -175,6 +175,7 @@ public class FileUtils extends Plugin { String line; while ((line = reader.readLine()) != null) { data.append(line); + data.append('\n'); } return data.toString(); } diff --git a/framework/src/com/phonegap/api/PluginResult.java b/framework/src/com/phonegap/api/PluginResult.java index 1a4250cf..1011d9cd 100755 --- a/framework/src/com/phonegap/api/PluginResult.java +++ b/framework/src/com/phonegap/api/PluginResult.java @@ -22,7 +22,7 @@ public class PluginResult { public PluginResult(Status status, String message) { this.status = status.ordinal(); - this.message = "'" + message + "'"; + this.message = JSONObject.quote(message); } public PluginResult(Status status, JSONArray message) {