summaryrefslogtreecommitdiffstats
path: root/editor/libeditor/EditorUtils.js
blob: 2959f67abcc6e55ad8e8f4d0e7be33a40ce48ecb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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]);