Source code

Revision control

Copy as Markdown

Other Tools

/* 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/. */
/* global setConsoleEventHandler, retrieveConsoleEvents */
"use strict";
// This file is loaded on the server side for worker debugging.
// Since the server is running in the worker thread, it doesn't
// have access to Services / Components but the listeners defined here
// are imported by webconsole-utils and used for the webconsole actor.
class ConsoleAPIListener {
constructor(window, listener, consoleID) {
this.window = window;
this.listener = listener;
this.consoleID = consoleID;
this.observe = this.observe.bind(this);
}
init() {
setConsoleEventHandler(this.observe);
}
destroy() {
setConsoleEventHandler(null);
}
observe(message) {
this.listener(message.wrappedJSObject);
}
getCachedMessages() {
return retrieveConsoleEvents();
}
}
exports.ConsoleAPIListener = ConsoleAPIListener;