Skip to content

Commit ca0622f

Browse files
committed
Fix a bug where if you add a mapping, save, and then remove it -- it won't get actually unmapped.
1 parent fbbba41 commit ca0622f

File tree

3 files changed

+52
-43
lines changed

3 files changed

+52
-43
lines changed

background_page.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,8 @@
496496
}
497497

498498
function init() {
499+
clearKeyMappingsAndSetDefaults();
500+
499501
if (localStorage["keyMappings"])
500502
parseCustomKeyMappings(localStorage["keyMappings"]);
501503

commands.js

Lines changed: 46 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,52 @@ function parseCustomKeyMappings(customKeyMappings) {
5151
}
5252
}
5353

54+
function clearKeyMappingsAndSetDefaults() {
55+
keyToCommandRegistry = {};
56+
57+
mapKeyToCommand('?', 'showHelp');
58+
mapKeyToCommand('j', 'scrollDown');
59+
mapKeyToCommand('k', 'scrollUp');
60+
mapKeyToCommand('h', 'scrollLeft');
61+
mapKeyToCommand('l', 'scrollRight');
62+
mapKeyToCommand('gg', 'scrollToTop');
63+
mapKeyToCommand('G', 'scrollToBottom');
64+
mapKeyToCommand('<c-e>', 'scrollDown');
65+
mapKeyToCommand('<c-y>', 'scrollUp');
66+
mapKeyToCommand('<c-d>', 'scrollPageDown');
67+
mapKeyToCommand('<c-u>', 'scrollPageUp');
68+
mapKeyToCommand('<c-f>', 'scrollFullPageDown');
69+
mapKeyToCommand('<c-b>', 'scrollFullPageUp');
70+
mapKeyToCommand('r', 'reload');
71+
mapKeyToCommand('gf', 'toggleViewSource');
72+
73+
mapKeyToCommand('i', 'enterInsertMode');
74+
75+
mapKeyToCommand('H', 'goBack');
76+
mapKeyToCommand('L', 'goForward');
77+
78+
mapKeyToCommand('zi', 'zoomIn');
79+
mapKeyToCommand('zo', 'zoomOut');
80+
81+
mapKeyToCommand('f', 'activateLinkHintsMode');
82+
mapKeyToCommand('F', 'activateLinkHintsModeToOpenInNewTab');
83+
84+
mapKeyToCommand('/', 'enterFindMode');
85+
mapKeyToCommand('n', 'performFind');
86+
mapKeyToCommand('N', 'performBackwardsFind');
87+
88+
mapKeyToCommand('yy', 'copyCurrentUrl');
89+
90+
mapKeyToCommand('K', 'nextTab');
91+
mapKeyToCommand('J', 'previousTab');
92+
mapKeyToCommand('gt', 'nextTab');
93+
mapKeyToCommand('gT', 'previousTab');
94+
95+
mapKeyToCommand('t', 'createTab');
96+
mapKeyToCommand('d', 'removeTab');
97+
mapKeyToCommand('u', 'restoreTab');
98+
}
99+
54100
// Navigating the current page:
55101
addCommand('showHelp', 'Show help', true);
56102
addCommand('scrollDown', 'Scroll down');
@@ -105,45 +151,3 @@ var commandGroups = {
105151
tabManipulation:
106152
["nextTab", "previousTab", "createTab", "removeTab", "restoreTab"]
107153
};
108-
109-
mapKeyToCommand('?', 'showHelp');
110-
mapKeyToCommand('j', 'scrollDown');
111-
mapKeyToCommand('k', 'scrollUp');
112-
mapKeyToCommand('h', 'scrollLeft');
113-
mapKeyToCommand('l', 'scrollRight');
114-
mapKeyToCommand('gg', 'scrollToTop');
115-
mapKeyToCommand('G', 'scrollToBottom');
116-
mapKeyToCommand('<c-e>', 'scrollDown');
117-
mapKeyToCommand('<c-y>', 'scrollUp');
118-
mapKeyToCommand('<c-d>', 'scrollPageDown');
119-
mapKeyToCommand('<c-u>', 'scrollPageUp');
120-
mapKeyToCommand('<c-f>', 'scrollFullPageDown');
121-
mapKeyToCommand('<c-b>', 'scrollFullPageUp');
122-
mapKeyToCommand('r', 'reload');
123-
mapKeyToCommand('gf', 'toggleViewSource');
124-
125-
mapKeyToCommand('i', 'enterInsertMode');
126-
127-
mapKeyToCommand('H', 'goBack');
128-
mapKeyToCommand('L', 'goForward');
129-
130-
mapKeyToCommand('zi', 'zoomIn');
131-
mapKeyToCommand('zo', 'zoomOut');
132-
133-
mapKeyToCommand('f', 'activateLinkHintsMode');
134-
mapKeyToCommand('F', 'activateLinkHintsModeToOpenInNewTab');
135-
136-
mapKeyToCommand('/', 'enterFindMode');
137-
mapKeyToCommand('n', 'performFind');
138-
mapKeyToCommand('N', 'performBackwardsFind');
139-
140-
mapKeyToCommand('yy', 'copyCurrentUrl');
141-
142-
mapKeyToCommand('K', 'nextTab');
143-
mapKeyToCommand('J', 'previousTab');
144-
mapKeyToCommand('gt', 'nextTab');
145-
mapKeyToCommand('gT', 'previousTab');
146-
147-
mapKeyToCommand('t', 'createTab');
148-
mapKeyToCommand('d', 'removeTab');
149-
mapKeyToCommand('u', 'restoreTab');

options.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@
7575

7676
var postSaveHooks = {
7777
"keyMappings": function (value) {
78-
chrome.extension.getBackgroundPage().parseCustomKeyMappings(value); }
78+
backgroundPage = chrome.extension.getBackgroundPage();
79+
backgroundPage.clearKeyMappingsAndSetDefaults();
80+
backgroundPage.parseCustomKeyMappings(value);
81+
}
7982
};
8083

8184
function initializeOptions() {

0 commit comments

Comments
 (0)