forked from mirrors/gecko-dev
--HG-- rename : addon-sdk/source/test/fixtures/test-page-worker.html => addon-sdk/source/test/addons/e10s-content/data/test-page-worker.html rename : addon-sdk/source/test/fixtures/test-page-worker.js => addon-sdk/source/test/addons/e10s-content/data/test-page-worker.js rename : addon-sdk/source/test/addons/places/favicon-helpers.js => addon-sdk/source/test/addons/places/lib/favicon-helpers.js rename : addon-sdk/source/test/addons/places/httpd.js => addon-sdk/source/test/addons/places/lib/httpd.js rename : addon-sdk/source/test/addons/places/places-helper.js => addon-sdk/source/test/addons/places/lib/places-helper.js rename : addon-sdk/source/test/addons/places/tests/test-places-utils.js => addon-sdk/source/test/addons/places/lib/test-places-utils.js rename : addon-sdk/source/test/fixtures/test-page-worker.html => addon-sdk/source/test/fixtures/addon-sdk/data/test-page-worker.html rename : addon-sdk/source/test/fixtures/test-page-worker.js => addon-sdk/source/test/fixtures/addon-sdk/data/test-page-worker.js
32 lines
1.1 KiB
JavaScript
32 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 shared = require("toolkit/require");
|
|
const { Item, Separator, Menu, Contexts, Readers } = shared.require("sdk/context-menu/core");
|
|
const { setupDisposable, disposeDisposable, Disposable } = require("sdk/core/disposable")
|
|
const { Class } = require("sdk/core/heritage")
|
|
|
|
const makeDisposable = Type => Class({
|
|
extends: Type,
|
|
implements: [Disposable],
|
|
initialize: Type.prototype.initialize,
|
|
setup(...params) {
|
|
Type.prototype.setup.call(this, ...params);
|
|
setupDisposable(this);
|
|
},
|
|
dispose(...params) {
|
|
disposeDisposable(this);
|
|
Type.prototype.dispose.call(this, ...params);
|
|
}
|
|
});
|
|
|
|
exports.Separator = Separator;
|
|
exports.Contexts = Contexts;
|
|
exports.Readers = Readers;
|
|
|
|
// Subclass Item & Menu shared classes so their items
|
|
// will be unloaded when add-on is unloaded.
|
|
exports.Item = makeDisposable(Item);
|
|
exports.Menu = makeDisposable(Menu);
|