summaryrefslogtreecommitdiffstats
path: root/browser/components/syncedtabs/sidebar.js
blob: bf65bd96d56c33572628d2e06f922e93b109a0bf (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
41
/* 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/. */

"use strict";

const { SyncedTabs } = ChromeUtils.importESModule(
  "resource://services-sync/SyncedTabs.sys.mjs"
);
const { SyncedTabsDeckComponent } = ChromeUtils.importESModule(
  "resource:///modules/syncedtabs/SyncedTabsDeckComponent.sys.mjs"
);

var syncedTabsDeckComponent = new SyncedTabsDeckComponent({
  window,
  SyncedTabs,
});

let onLoaded = () => {
  window.top.MozXULElement.insertFTLIfNeeded("browser/syncedTabs.ftl");
  window.top.document
    .getElementById("SyncedTabsSidebarContext")
    .querySelectorAll("[data-lazy-l10n-id]")
    .forEach(el => {
      el.setAttribute("data-l10n-id", el.getAttribute("data-lazy-l10n-id"));
      el.removeAttribute("data-lazy-l10n-id");
    });
  syncedTabsDeckComponent.init();
  document
    .getElementById("template-container")
    .appendChild(syncedTabsDeckComponent.container);
};

let onUnloaded = () => {
  removeEventListener("DOMContentLoaded", onLoaded);
  removeEventListener("unload", onUnloaded);
  syncedTabsDeckComponent.uninit();
};

addEventListener("DOMContentLoaded", onLoaded);
addEventListener("unload", onUnloaded);