summaryrefslogtreecommitdiffstats
path: root/browser/extensions/webcompat/about-compat/aboutPageProcessScript.js
blob: 24d44e53fa0d2722b7c9045c4db64ec050fe27fe (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/. */

/* eslint-env mozilla/process-script */

"use strict";

// Note: This script is used only when a static registration for our
// component is not already present in the libxul binary.

const Cm = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);

const classID = Components.ID("{97bf9550-2a7b-11e9-b56e-0800200c9a66}");

if (!Cm.isCIDRegistered(classID)) {
  const { ComponentUtils } = ChromeUtils.importESModule(
    "resource://gre/modules/ComponentUtils.sys.mjs"
  );

  const factory = ComponentUtils.generateSingletonFactory(function () {
    const { AboutCompat } = ChromeUtils.importESModule(
      "resource://webcompat/AboutCompat.sys.mjs"
    );
    return new AboutCompat();
  });

  Cm.registerFactory(
    classID,
    "about:compat",
    "@mozilla.org/network/protocol/about;1?what=compat",
    factory
  );
}