commit 7da92bc455cb85117495ac7d4a11fe1e4040d79e
parent 00918d46510559cdfe8dd96358609143f6f9dd72
Author: Lorenz A <me@lorenzackermann.xyz>
Date: Mon, 15 Dec 2025 09:55:35 +0000
Bug 2004271 - [devtools] Turn devtools/client/memory/panel.js into an ES class. r=devtools-reviewers,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D276313
Diffstat:
1 file changed, 23 insertions(+), 24 deletions(-)
diff --git a/devtools/client/memory/panel.js b/devtools/client/memory/panel.js
@@ -7,26 +7,25 @@
const EventEmitter = require("resource://devtools/shared/event-emitter.js");
const HeapAnalysesClient = require("resource://devtools/shared/heapsnapshot/HeapAnalysesClient.js");
-function MemoryPanel(iframeWindow, toolbox, commands) {
- this.panelWin = iframeWindow;
- this._toolbox = toolbox;
- this._commands = commands;
-
- const { BrowserLoader } = ChromeUtils.importESModule(
- "resource://devtools/shared/loader/browser-loader.sys.mjs"
- );
- const browserRequire = BrowserLoader({
- baseURI: "resource://devtools/client/memory/",
- window: this.panelWin,
- }).require;
- this.initializer = browserRequire("devtools/client/memory/initializer");
-
- this._onTargetAvailable = this._onTargetAvailable.bind(this);
-
- EventEmitter.decorate(this);
-}
-
-MemoryPanel.prototype = {
+class MemoryPanel extends EventEmitter {
+ constructor(iframeWindow, toolbox, commands) {
+ super();
+
+ this.panelWin = iframeWindow;
+ this._toolbox = toolbox;
+ this._commands = commands;
+
+ const { BrowserLoader } = ChromeUtils.importESModule(
+ "resource://devtools/shared/loader/browser-loader.sys.mjs"
+ );
+ const browserRequire = BrowserLoader({
+ baseURI: "resource://devtools/client/memory/",
+ window: this.panelWin,
+ }).require;
+ this.initializer = browserRequire("devtools/client/memory/initializer");
+
+ this._onTargetAvailable = this._onTargetAvailable.bind(this);
+ }
async open() {
this.panelWin.gToolbox = this._toolbox;
this.panelWin.gHeapAnalysesClient = new HeapAnalysesClient();
@@ -39,7 +38,7 @@ MemoryPanel.prototype = {
});
return this;
- },
+ }
async _onTargetAvailable({ targetFront }) {
if (targetFront.isTopLevel) {
@@ -47,7 +46,7 @@ MemoryPanel.prototype = {
await front.attach();
this.initializer.updateFront(front);
}
- },
+ }
// DevToolPanel API
@@ -68,7 +67,7 @@ MemoryPanel.prototype = {
this.panelWin.gHeapAnalysesClient.destroy();
this.panelWin = null;
this.emit("destroyed");
- },
-};
+ }
+}
exports.MemoryPanel = MemoryPanel;