summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/console_monitor.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /dom/serviceworkers/test/console_monitor.js
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/serviceworkers/test/console_monitor.js')
-rw-r--r--dom/serviceworkers/test/console_monitor.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/dom/serviceworkers/test/console_monitor.js b/dom/serviceworkers/test/console_monitor.js
new file mode 100644
index 0000000000..099feb646d
--- /dev/null
+++ b/dom/serviceworkers/test/console_monitor.js
@@ -0,0 +1,44 @@
+/* eslint-env mozilla/chrome-script */
+
+let consoleListener;
+
+function ConsoleListener() {
+ Services.console.registerListener(this);
+}
+
+ConsoleListener.prototype = {
+ callbacks: [],
+
+ observe: aMsg => {
+ if (!(aMsg instanceof Ci.nsIScriptError)) {
+ return;
+ }
+
+ let msg = {
+ cssSelectors: aMsg.cssSelectors,
+ errorMessage: aMsg.errorMessage,
+ sourceName: aMsg.sourceName,
+ sourceLine: aMsg.sourceLine,
+ lineNumber: aMsg.lineNumber,
+ columnNumber: aMsg.columnNumber,
+ category: aMsg.category,
+ windowID: aMsg.outerWindowID,
+ innerWindowID: aMsg.innerWindowID,
+ isScriptError: true,
+ isWarning: (aMsg.flags & Ci.nsIScriptError.warningFlag) === 1,
+ };
+
+ sendAsyncMessage("monitor", msg);
+ },
+};
+
+addMessageListener("load", function (e) {
+ consoleListener = new ConsoleListener();
+ sendAsyncMessage("ready", {});
+});
+
+addMessageListener("unload", function (e) {
+ Services.console.unregisterListener(consoleListener);
+ consoleListener = null;
+ sendAsyncMessage("unloaded", {});
+});