summaryrefslogtreecommitdiffstats
path: root/browser/actors/AboutNewInstallChild.jsm
blob: fe1a9bc24695ecdd851372283916d52ff1d92fab (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
35
36
37
38
39
40
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* 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 EXPORTED_SYMBOLS = ["AboutNewInstallChild"];

const { RemotePageChild } = ChromeUtils.import(
  "resource://gre/actors/RemotePageChild.jsm"
);

ChromeUtils.defineModuleGetter(
  this,
  "UpdateUtils",
  "resource://gre/modules/UpdateUtils.jsm"
);

class AboutNewInstallChild extends RemotePageChild {
  actorCreated() {
    super.actorCreated();

    this.exportFunctions(["RPMGetUpdateChannel", "RPMGetFxAccountsEndpoint"]);
  }

  RPMGetUpdateChannel() {
    return UpdateUtils.UpdateChannel;
  }

  RPMGetFxAccountsEndpoint(aEntrypoint) {
    return this.wrapPromise(
      new Promise(resolve => {
        this.sendQuery("FxAccountsEndpoint", { entrypoint: aEntrypoint }).then(
          result => {
            resolve(Cu.cloneInto(result, this.contentWindow));
          }
        );
      })
    );
  }
}