edburns%acm.org a53c25ab6a 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.
2004-12-01 03:21:23 +00:00
..
2004-10-20 02:16:16 +00:00
2002-10-02 22:23:47 +00:00
2002-01-14 18:04:48 +00:00
2004-10-27 01:38:49 +00:00
2003-05-13 20:22:13 +00:00

20040222

This README documents the Java Enhancers to the Mozilla web browser.

Currently, the only active sub-project is the Webclient Java API to the
Mozilla web browser.  This project also leverages the JavaDOM
sub-project.

Requirements:

* J2SDK 1.3.1 or later

* Apache ant 1.4.1 or later.  If running under J2SDK 1.4.2 or later, you
  need ant 1.6.1, due to javah issues.

* Successfully built debug enabled Mozilla 1.6 tree

How To Build:

* cd to the directory above your top level mozilla directory and cvs
  checkout the Webclient module.

* Modify mozilla/allmakefiles.sh and prepend the contents of the file
  "makefiles", in this directory, to add_makefiles section after the
  "Common makfiles used by everyone" comment.

* re-run ./configure to generate the java makefiles

* put the "mozilla/dist/bin" directory in your LD_LIBRARY_PATH on Unix,
  or PATH on Win32.

* set the value of the environment var MOZ_JDKHOME to be your J2SDK
  directory.

* Create a build.properties file in the mozilla/java directory with the
  following contents.

######
build.unix.classes=true
build.win32.classes=false
build.home=/home/edburns/Projects/mozilla/MOZILLA_1_4/mozilla/dist/classes
compile.debug=true
######

  Of course, set the values of the above properties correctly according
  to your system.

* run "ant" in the mozilla/java directory.  This will build webclient
  and all dependent libraries.  

How to run the Junit tests:

* Make sure junit.jar is properly set in your mozilla/java/build.properties

* Make sure junit.jar is installed in your $ANT_HOME/lib directory

* Set the following variables in your environment

NSPR_LOG_MODULES=webclient:4,webclientstub:4
NSPR_LOG_FILE=logfile.txt

* cd to mozilla/java/webclient

* Kill any running mozilla instances.  These will mess up the
  profilemanager code.

* run ant test

How to run the test browser (broken as of this writing):

* cd to mozilla/java/webclient/src_moz and run the "runem" batch file to
  run the test browser.

Problems?

* post to netscape.public.mozilla.java newsgroup