mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-04 11:26:09 +00:00
4f9e9360fc
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
55 lines
1.1 KiB
JavaScript
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;
|