Bug 471229 - can't type an apostrophe or parenthesis in text fields. r=dougt

This commit is contained in:
Antonio Gomes (tonikitoo)
2009-06-30 16:35:53 -04:00
parent d5749689c4
commit c8d1dbc8ee

View File

@@ -86,15 +86,15 @@ const kNone = "none";
function _onInputKeyPress (event, callback) {
// If it isn't enabled, bail.
if (!PrefObserver['enabled'])
return;
// Use whatever key value is available (either keyCode or charCode).
// It might be useful for addons or whoever wants to set different
// key to be used here (e.g. "a", "F1", "arrowUp", ...).
var key = event.which || event.keyCode;
// If it isn't enabled, bail.
if (!PrefObserver['enabled'])
return;
if (key != PrefObserver['keyCodeDown'] &&
key != PrefObserver['keyCodeRight'] &&
key != PrefObserver['keyCodeUp'] &&
@@ -111,6 +111,13 @@ function _onInputKeyPress (event, callback) {
if (!event.crtlKey && PrefObserver['modifierCtrl'])
return;
// In some special cases where charCode is equal to one of the default arrow keyCodes we
// should bail.
if (!event.keyCode &&
(key == Ci.nsIDOMKeyEvent.DOM_VK_LEFT || key == Ci.nsIDOMKeyEvent.DOM_VK_DOWN ||
key == Ci.nsIDOMKeyEvent.DOM_VK_RIGHT || key == Ci.nsIDOMKeyEvent.DOM_VK_UP))
return;
var target = event.target;
var doc = target.ownerDocument;