mirror of
https://github.com/zen-browser/components.git
synced 2025-07-10 09:15:30 +02:00
Refactor ZenKeyboardShortcuts to improve initialization and keyset handling
This commit is contained in:
parent
bfb5e8fc94
commit
e9fb3b5c75
1 changed files with 11 additions and 5 deletions
|
@ -765,7 +765,7 @@ var gZenKeyboardShortcutsManager = {
|
|||
// Create the main keyset before calling the async init function,
|
||||
// This is because other browser-sets needs this element and the JS event
|
||||
// handled wont wait for the async function to finish.
|
||||
void(this.zenKeyset);
|
||||
void(this.getZenKeyset());
|
||||
},
|
||||
|
||||
async init() {
|
||||
|
@ -805,12 +805,18 @@ var gZenKeyboardShortcutsManager = {
|
|||
return loadedShortcuts;
|
||||
},
|
||||
|
||||
get zenKeyset() {
|
||||
getZenKeyset(browser = window) {
|
||||
if (!this._zenKeyset) {
|
||||
this._zenKeyset = document.createXULElement('keyset');
|
||||
const existingKeyset = browser.document.getElementById(ZEN_KEYSET_ID);
|
||||
if (existingKeyset) {
|
||||
this._zenKeyset = existingKeyset;
|
||||
return this._zenKeyset;
|
||||
}
|
||||
|
||||
this._zenKeyset = browser.document.createXULElement('keyset');
|
||||
this._zenKeyset.id = ZEN_KEYSET_ID;
|
||||
|
||||
const mainKeyset = document.getElementById(ZEN_MAIN_KEYSET_ID);
|
||||
const mainKeyset = browser.document.getElementById(ZEN_MAIN_KEYSET_ID);
|
||||
mainKeyset.after(this._zenKeyset);
|
||||
}
|
||||
return this._zenKeyset;
|
||||
|
@ -835,7 +841,7 @@ var gZenKeyboardShortcutsManager = {
|
|||
let parent = mainKeyset.parentElement;
|
||||
this.clearMainKeyset(mainKeyset);
|
||||
|
||||
const keyset = this.zenKeyset;
|
||||
const keyset = this.getZenKeyset(browser);
|
||||
this.clearMainKeyset(keyset);
|
||||
|
||||
// We dont check this anymore since we are skiping internal keys
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue