summaryrefslogtreecommitdiffstats
path: root/comm/mailnews/base/content/junkLog.js
blob: 7f2b73edf779205cd2779148248de258db8b6229 (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
42
43
44
45
46
47
48
/* -*- Mode: JavaScript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 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 { MailE10SUtils } = ChromeUtils.import(
  "resource:///modules/MailE10SUtils.jsm"
);

var gLogView;
var gLogFile;

window.addEventListener("DOMContentLoaded", onLoad);

function onLoad() {
  gLogView = document.getElementById("logView");
  gLogView.browsingContext.allowJavascript = false; // for security, disable JS

  gLogView.addEventListener("load", () => {
    addStyling();
  });

  gLogFile = Services.dirsvc.get("ProfD", Ci.nsIFile);
  gLogFile.append("junklog.html");
  if (gLogFile.exists()) {
    MailE10SUtils.loadURI(gLogView, Services.io.newFileURI(gLogFile).spec);
  } else {
    addStyling(); // set style for initial about:blank
  }
}

function clearLog() {
  if (gLogFile.exists()) {
    gLogFile.remove(false);
    gLogView.setAttribute("src", "about:blank"); // we don't have a log file to show
  }
}

function addStyling() {
  let style = gLogView.contentDocument.createElement("style");
  gLogView.contentDocument.head.appendChild(style);
  style.sheet.insertRule(
    `@media (prefers-color-scheme: dark) {
       :root { scrollbar-color: rgba(249, 249, 250, .4) rgba(20, 20, 25, .3);}
       body { color: #f9f9fa; }
     }`
  );
}