зеркало из https://github.com/mozilla/gecko-dev.git
a50968cb0e
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. |
||
---|---|---|
.. | ||
build | ||
config | ||
dom | ||
external | ||
pluggable-jvm | ||
plugins | ||
util | ||
webclient | ||
xpcom | ||
.cvsignore | ||
README | ||
README.commercial | ||
build.properties.sample | ||
build.xml | ||
changelo | ||
makefiles |
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