This checkin enables the KeyListener feature.
A webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
A webclient/test/automated/src/test/KeyListenerTest1.html
M webclient/build-tests.xml
- add new testcase
M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/EventRegistration2.java
- allow KeyListeners to be added and removed.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- Lazily create listener lists.
- Change the contract of queueEvent() to discard null events silently.
- Add createKeyEvent() method.
M webclient/src_moz/EmbedEventListener.cpp
- new mask names and values, DOMDOMKeyListener_maskNames,
DOMKeyListener_maskValues.
- flesh out Key*() events.
- add addKeyEventDataToProperties.
- use eventType to discern how to populate the properties, with either key or
mouse data.
M webclient/src_moz/EmbedEventListener.h
- key event includes and support methods.
M webclient/src_moz/EmbedProgress.cpp
- honor new last argument to util_InitializeEventMaskValuesFromClass().
M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h
- new constants
+jobject CHAR_CODE;
+jobject KEY_CODE;
+jstring KEY_LISTENER_CLASSNAME;
+char *DOMKeyListener_maskNames[] = {
M webclient/src_share/jni_util_export.cpp
M webclient/src_share/jni_util_export.h
- new last argument to
util_InitializeEventMaskValuesFromClass(const char *className,
char *maskNames[],
- jlong maskValues[])
+ jlong maskValuesLong[],
+ jint maskValuesInt[])
Used when the maskValues are ints, otherwise null.
git-svn-id: svn://10.0.0.236/trunk@166003 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -55,6 +55,8 @@ jobject SCREEN_X_KEY;
|
||||
jobject SCREEN_Y_KEY;
|
||||
jobject CLIENT_X_KEY;
|
||||
jobject CLIENT_Y_KEY;
|
||||
jobject CHAR_CODE;
|
||||
jobject KEY_CODE;
|
||||
jobject ALT_KEY;
|
||||
jobject CTRL_KEY;
|
||||
jobject SHIFT_KEY;
|
||||
@@ -85,6 +87,7 @@ jobject BM_IS_FOLDER_VALUE;
|
||||
|
||||
jstring DOCUMENT_LOAD_LISTENER_CLASSNAME;
|
||||
jstring MOUSE_LISTENER_CLASSNAME;
|
||||
jstring KEY_LISTENER_CLASSNAME;
|
||||
jstring NEW_WINDOW_LISTENER_CLASSNAME;
|
||||
|
||||
jlong DocumentLoader_maskValues[] = { -1L };
|
||||
@@ -111,6 +114,14 @@ char *DOMMouseListener_maskNames[] = {
|
||||
nsnull
|
||||
};
|
||||
|
||||
jint DOMKeyListener_maskValues[] = { -1 };
|
||||
char *DOMKeyListener_maskNames[] = {
|
||||
KEY_PRESSED_EVENT_MASK_VALUE,
|
||||
KEY_RELEASED_EVENT_MASK_VALUE,
|
||||
KEY_TYPED_EVENT_MASK_VALUE,
|
||||
nsnull
|
||||
};
|
||||
|
||||
void util_InitializeShareInitContext(JNIEnv *env,
|
||||
void *yourInitContext)
|
||||
{
|
||||
@@ -152,6 +163,16 @@ jboolean util_InitStringConstants()
|
||||
::util_NewStringUTF(env, "ClientY")))) {
|
||||
return JNI_FALSE;
|
||||
}
|
||||
if (nsnull == (CHAR_CODE =
|
||||
::util_NewGlobalRef(env, (jobject)
|
||||
::util_NewStringUTF(env, "KeyCode")))) {
|
||||
return JNI_FALSE;
|
||||
}
|
||||
if (nsnull == (KEY_CODE =
|
||||
::util_NewGlobalRef(env, (jobject)
|
||||
::util_NewStringUTF(env, "KeyChar")))) {
|
||||
return JNI_FALSE;
|
||||
}
|
||||
if (nsnull == (ALT_KEY =
|
||||
::util_NewGlobalRef(env, (jobject)
|
||||
::util_NewStringUTF(env, "Alt")))) {
|
||||
@@ -308,6 +329,12 @@ jboolean util_InitStringConstants()
|
||||
MOUSE_LISTENER_CLASSNAME_VALUE)))) {
|
||||
return JNI_FALSE;
|
||||
}
|
||||
if (nsnull == (KEY_LISTENER_CLASSNAME = (jstring)
|
||||
::util_NewGlobalRef(env, (jobject)
|
||||
::util_NewStringUTF(env,
|
||||
KEY_LISTENER_CLASSNAME_VALUE)))) {
|
||||
return JNI_FALSE;
|
||||
}
|
||||
if (nsnull == (NEW_WINDOW_LISTENER_CLASSNAME = (jstring)
|
||||
::util_NewGlobalRef(env, (jobject)
|
||||
::util_NewStringUTF(env,
|
||||
@@ -537,6 +564,17 @@ jlong util_GetStaticLongField(JNIEnv *env, jclass clazz, jfieldID id)
|
||||
return result;
|
||||
}
|
||||
|
||||
jint util_GetStaticIntField(JNIEnv *env, jclass clazz, jfieldID id)
|
||||
{
|
||||
jint result = -1;
|
||||
#ifdef BAL_INTERFACE
|
||||
#else
|
||||
result = env->GetStaticIntField(clazz, id);
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
jboolean util_IsInstanceOf(JNIEnv *env, jobject obj, jclass clazz)
|
||||
{
|
||||
jboolean result = JNI_FALSE;
|
||||
|
||||
Reference in New Issue
Block a user