gecko-dev/java
edburns%acm.org a50968cb0e This checkin makes DocumentLoadListener be fully functional for the
file:/// and LoadFromStream cases.  There were some problems:

1. RandomHTMLInputStream was never returning -1 from available, even
   when there was no more data to be read.

2. the available ivars in InputStreamShim were PRUint32, and needed to
   be PRInt32 to accomodate the -1.

3. InputStreamShim wasn't looking for the -1 from java, and it was
   incorrectly returning NS_ERROR_NOT_AVAILABLE in that case, when it
   should have been returning NS_OK if there was more data for Mozilla.

4. The testcase had a deadlock: it tried to remove the
   DocumentLoadListener from the DocumentLoadListener callback.  I had
   to move this outside of the listener callback.

M src_moz/InputStreamShim.cpp
M src_moz/InputStreamShim.h

- make available be a signed int.

- correctly handle the case when java says, "no more data available".

M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java

- avoid deadlock by moving the call to removeDocumentLoadListener()
   outside of the listener itself.

M test/automated/src/classes/org/mozilla/webclient/RandomHTMLInputStream.java

- make sure to return -1 from available() when we have no more data.
2004-06-14 15:34:42 +00:00
..
build Ant code to generate JavaOne2003 demo. 2003-06-10 17:47:34 +00:00
config
dom M dom/src/Makefile.in 2004-04-16 19:02:21 +00:00
external
pluggable-jvm
plugins
util javadoc: add "interfaceName" to getImplFromServices. 2004-04-15 15:30:00 +00:00
webclient This checkin makes DocumentLoadListener be fully functional for the 2004-06-14 15:34:42 +00:00
xpcom
.cvsignore *** empty log message *** 2003-01-02 01:47:31 +00:00
README This checkin takes us a little closer to the unit tests running. I'm 2004-02-25 05:44:08 +00:00
README.commercial
build.properties.sample Make webclient compile with Mozilla 1.6. Unit tests still don't run. 2004-02-23 06:26:54 +00:00
build.xml javadom 2003-01-12 07:28:28 +00:00
changelo
makefiles r=edburns 2003-05-13 20:22:13 +00:00

README

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