Fix for PDT+ bug #25280. r=saari
git-svn-id: svn://10.0.0.236/trunk@60172 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -180,7 +180,8 @@ PRBool
|
||||
nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
{
|
||||
nsAutoString trueString = "true";
|
||||
|
||||
nsAutoString falseString = "false";
|
||||
|
||||
// Get the keycode and charcode of the key event.
|
||||
PRUint32 keyCode, charCode;
|
||||
aKeyEvent->GetKeyCode(&keyCode);
|
||||
@@ -224,6 +225,18 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
#ifdef XP_MAC
|
||||
aKeyEvent->GetMetaKey(&isModifierPresent);
|
||||
#elif XP_UNIX
|
||||
aKeyEvent->GetAltKey(&isModifierPresent);
|
||||
#else
|
||||
aKeyEvent->GetCtrlKey(&isModifierPresent);
|
||||
#endif
|
||||
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for shift.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kShiftAtom, modifier);
|
||||
@@ -232,6 +245,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetShiftKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for ctrl.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kControlAtom, modifier);
|
||||
@@ -240,6 +258,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetCtrlKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for meta.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kMetaAtom, modifier);
|
||||
@@ -248,6 +271,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetMetaKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for alt.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kAltAtom, modifier);
|
||||
@@ -256,6 +284,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetAltKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
@@ -180,7 +180,8 @@ PRBool
|
||||
nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
{
|
||||
nsAutoString trueString = "true";
|
||||
|
||||
nsAutoString falseString = "false";
|
||||
|
||||
// Get the keycode and charcode of the key event.
|
||||
PRUint32 keyCode, charCode;
|
||||
aKeyEvent->GetKeyCode(&keyCode);
|
||||
@@ -224,6 +225,18 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
#ifdef XP_MAC
|
||||
aKeyEvent->GetMetaKey(&isModifierPresent);
|
||||
#elif XP_UNIX
|
||||
aKeyEvent->GetAltKey(&isModifierPresent);
|
||||
#else
|
||||
aKeyEvent->GetCtrlKey(&isModifierPresent);
|
||||
#endif
|
||||
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for shift.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kShiftAtom, modifier);
|
||||
@@ -232,6 +245,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetShiftKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for ctrl.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kControlAtom, modifier);
|
||||
@@ -240,6 +258,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetCtrlKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for meta.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kMetaAtom, modifier);
|
||||
@@ -248,6 +271,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetMetaKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
// Check for alt.
|
||||
mHandlerElement->GetAttribute(kNameSpaceID_None, kAltAtom, modifier);
|
||||
@@ -256,6 +284,11 @@ nsXBLEventHandler::KeyEventMatched(nsIDOMKeyEvent* aKeyEvent)
|
||||
if (!isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
else if (modifier == falseString) {
|
||||
aKeyEvent->GetAltKey(&isModifierPresent);
|
||||
if (isModifierPresent)
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user