gecko-dev/devtools/client/storage/panel.js
Julian Descottes 4f9e9360fc Bug 1702061 - [devtools] Remove isPanelReady flag and devtools-panel-ready from DevTools panel instances r=nchevobbe
Depends on D110368
Both the flag and the event are not used.
The only thing which matters from the framework perspective is to wait for panel.open to resolve.

Differential Revision: https://phabricator.services.mozilla.com/D110369
2021-03-31 12:41:44 +00:00

55 lines
1.1 KiB
JavaScript

/* 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 EventEmitter = require("devtools/shared/event-emitter");
loader.lazyRequireGetter(this, "StorageUI", "devtools/client/storage/ui", true);
class StoragePanel {
constructor(panelWin, toolbox, commands) {
EventEmitter.decorate(this);
this._toolbox = toolbox;
this._commands = commands;
this._panelWin = panelWin;
this.destroy = this.destroy.bind(this);
}
get panelWindow() {
return this._panelWin;
}
/**
* open is effectively an asynchronous constructor
*/
async open() {
this.UI = new StorageUI(this._panelWin, this._toolbox, this._commands);
await this.UI.init();
return this;
}
/**
* Destroy the storage inspector.
*/
destroy() {
if (this._destroyed) {
return;
}
this._destroyed = true;
this.UI.destroy();
this.UI = null;
this._toolbox = null;
this._panelWin = null;
}
}
exports.StoragePanel = StoragePanel;