diff options
Diffstat (limited to 'editor/libeditor/EditorUtils.js')
-rw-r--r-- | editor/libeditor/EditorUtils.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/editor/libeditor/EditorUtils.js b/editor/libeditor/EditorUtils.js new file mode 100644 index 000000000..2959f67ab --- /dev/null +++ b/editor/libeditor/EditorUtils.js @@ -0,0 +1,34 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +var { classes: Cc, interfaces: Ci, utils: Cu } = Components; + +"use strict"; + +Cu.import("resource://gre/modules/XPCOMUtils.jsm"); +Cu.import("resource://gre/modules/Services.jsm"); + +const EDITORUTILS_CID = Components.ID('{12e63991-86ac-4dff-bb1a-703495d67d17}'); + +function EditorUtils() { +} + +EditorUtils.prototype = { + classID: EDITORUTILS_CID, + QueryInterface: XPCOMUtils.generateQI([ Ci.nsIEditorUtils ]), + + slurpBlob(aBlob, aScope, aListener) { + let reader = new aScope.FileReader(); + reader.addEventListener("load", (event) => { + aListener.onResult(event.target.result); + }); + reader.addEventListener("error", (event) => { + aListener.onError(event.target.error.message); + }); + + reader.readAsBinaryString(aBlob); + }, +}; + +this.NSGetFactory = XPCOMUtils.generateNSGetFactory([EditorUtils]); |