forked from mirrors/gecko-dev
Depends on D108227 Differential Revision: https://phabricator.services.mozilla.com/D108228
38 lines
1 KiB
JavaScript
38 lines
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";
|
|
|
|
/* global ExtensionAPI, ExtensionCommon, Services */
|
|
|
|
const TOPIC = "report-site-issue";
|
|
|
|
this.helpMenu = class extends ExtensionAPI {
|
|
getAPI(context) {
|
|
const { tabManager } = context.extension;
|
|
let EventManager = ExtensionCommon.EventManager;
|
|
|
|
return {
|
|
helpMenu: {
|
|
onHelpMenuCommand: new EventManager({
|
|
context,
|
|
name: "helpMenu",
|
|
register: fire => {
|
|
let observer = (subject, topic, data) => {
|
|
let nativeTab = subject.wrappedJSObject;
|
|
let tab = tabManager.convert(nativeTab);
|
|
fire.async(tab);
|
|
};
|
|
|
|
Services.obs.addObserver(observer, TOPIC);
|
|
|
|
return () => {
|
|
Services.obs.removeObserver(observer, TOPIC);
|
|
};
|
|
},
|
|
}).api(),
|
|
},
|
|
};
|
|
}
|
|
};
|