1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 16:23:44 +00:00

move shortcuts to ts

This commit is contained in:
Kyle Spearrin
2018-05-09 14:13:20 -04:00
parent 898fa7a095
commit 5d0c480586
5 changed files with 58 additions and 56 deletions

44
src/content/shortcuts.ts Normal file
View File

@@ -0,0 +1,44 @@
import * as Mousetrap from 'mousetrap';
document.addEventListener('DOMContentLoaded', (event) => {
const isSafari = (typeof safari !== 'undefined') && navigator.userAgent.indexOf(' Safari/') !== -1 &&
navigator.userAgent.indexOf('Chrome') === -1;
const isEdge = !isSafari && navigator.userAgent.indexOf(' Edge/') !== -1;
const isVivaldi = !isSafari && navigator.userAgent.indexOf(' Vivaldi/') !== -1;
if (!isSafari && !isEdge && !isVivaldi) {
return;
}
Mousetrap.prototype.stopCallback = () => {
return false;
};
const autofillCommand = isSafari || isEdge ? 'mod+\\' : 'mod+shift+l';
Mousetrap.bind(autofillCommand, () => {
sendMessage('autofill_login');
});
if (isSafari) {
Mousetrap.bind('mod+shift+y', () => {
sendMessage('open_popup');
});
} else if (!this.isEdge) {
Mousetrap.bind('mod+shift+9', () => {
sendMessage('generate_password');
});
}
function sendMessage(shortcut: string) {
const msg = {
command: 'keyboardShortcutTriggered',
shortcut: shortcut,
};
if (isSafari) {
safari.self.tab.dispatchMessage('bitwarden', msg);
} else {
chrome.runtime.sendMessage(msg);
}
}
});