mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 08:48:39 +09:00
moebius#219: WebExtensions - add-on throws error on load when suggested_key is null / missing
https://github.com/MoonchildProductions/moebius/pull/219
This commit is contained in:
parent
6074a73015
commit
f1308a5501
1 changed files with 12 additions and 11 deletions
|
|
@ -74,15 +74,14 @@ CommandList.prototype = {
|
|||
// For Windows, chrome.runtime expects 'win' while chrome.commands
|
||||
// expects 'windows'. We can special case this for now.
|
||||
let os = PlatformInfo.os == "win" ? "windows" : PlatformInfo.os;
|
||||
for (let name of Object.keys(manifest.commands)) {
|
||||
let command = manifest.commands[name];
|
||||
let shortcut = command.suggested_key[os] || command.suggested_key.default;
|
||||
if (shortcut) {
|
||||
commands.set(name, {
|
||||
description: command.description,
|
||||
shortcut: shortcut.replace(/\s+/g, ""),
|
||||
});
|
||||
}
|
||||
for (let [name, command] of Object.entries(manifest.commands)) {
|
||||
let suggested_key = command.suggested_key || {};
|
||||
let shortcut = suggested_key[os] || suggested_key.default;
|
||||
shortcut = shortcut ? shortcut.replace(/\s+/g, "") : null;
|
||||
commands.set(name, {
|
||||
description: command.description,
|
||||
shortcut,
|
||||
});
|
||||
}
|
||||
return commands;
|
||||
},
|
||||
|
|
@ -96,8 +95,10 @@ CommandList.prototype = {
|
|||
let keyset = doc.createElementNS(XUL_NS, "keyset");
|
||||
keyset.id = `ext-keyset-id-${this.id}`;
|
||||
this.commands.forEach((command, name) => {
|
||||
let keyElement = this.buildKey(doc, name, command.shortcut);
|
||||
keyset.appendChild(keyElement);
|
||||
if (command.shortcut) {
|
||||
let keyElement = this.buildKey(doc, name, command.shortcut);
|
||||
keyset.appendChild(keyElement);
|
||||
}
|
||||
});
|
||||
doc.documentElement.appendChild(keyset);
|
||||
this.keysetsMap.set(window, keyset);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue