Bug 1629113 - Move caret browsing handler to tabbrowser.js. r=NeilDeakin

We don't use it on GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D72724
This commit is contained in:
Agi Sferro
2020-05-27 22:26:17 +00:00
parent 430f5e595a
commit d58f611927
5 changed files with 87 additions and 95 deletions

View File

@@ -111,80 +111,6 @@
return new LazyModules.PopupBlocker(this);
});
this.addEventListener(
"keypress",
event => {
if (event.keyCode != KeyEvent.DOM_VK_F7) {
return;
}
// shift + F7 is the default DevTools shortcut for the Style Editor.
if (event.shiftKey) {
return;
}
if (event.defaultPrevented || !event.isTrusted) {
return;
}
const kPrefShortcutEnabled =
"accessibility.browsewithcaret_shortcut.enabled";
const kPrefWarnOnEnable = "accessibility.warn_on_browsewithcaret";
const kPrefCaretBrowsingOn = "accessibility.browsewithcaret";
var isEnabled = this.mPrefs.getBoolPref(kPrefShortcutEnabled);
if (!isEnabled) {
return;
}
// Toggle browse with caret mode
var browseWithCaretOn = this.mPrefs.getBoolPref(
kPrefCaretBrowsingOn,
false
);
var warn = this.mPrefs.getBoolPref(kPrefWarnOnEnable, true);
if (warn && !browseWithCaretOn) {
var checkValue = { value: false };
var promptService = Services.prompt;
var buttonPressed = promptService.confirmEx(
window,
this.mStrBundle.GetStringFromName(
"browsewithcaret.checkWindowTitle"
),
this.mStrBundle.GetStringFromName("browsewithcaret.checkLabel"),
// Make "No" the default:
promptService.STD_YES_NO_BUTTONS |
promptService.BUTTON_POS_1_DEFAULT,
null,
null,
null,
this.mStrBundle.GetStringFromName("browsewithcaret.checkMsg"),
checkValue
);
if (buttonPressed != 0) {
if (checkValue.value) {
try {
this.mPrefs.setBoolPref(kPrefShortcutEnabled, false);
} catch (ex) {}
}
return;
}
if (checkValue.value) {
try {
this.mPrefs.setBoolPref(kPrefWarnOnEnable, false);
} catch (ex) {}
}
}
// Toggle the pref
try {
this.mPrefs.setBoolPref(kPrefCaretBrowsingOn, !browseWithCaretOn);
} catch (ex) {}
},
{ mozSystemGroup: true }
);
this.addEventListener(
"dragover",
event => {