mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 14:22:01 +00:00
1e41ffb99f
be WindowControl, and now it's BrowserControl. I'm hoping this allows us to operate Webclient in a "headless" fashion. For example, you can imagine a web-crawler app that leverages DOM. A test/automated/src/test/NavigationTest.txt - fodder for testcase M build-tests.xml - reformat - add NavigationTest (fails) M classes_spec/org/mozilla/webclient/ImplObject.java - Refactoring: remove public ivars. Make them private, provide accessor. M classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java - Refactoring: remove public ivars. Make them private, provide accessor. - Remove dependence on WindowControl - leverage new method on WrapperFactory: getNativeBrowserControl(). M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Make BrowserControlImpl the owner of the nativeWebShell pointer. I'd like to see if it's possible for webclient to operate "headless" for certain applications, therefore, you may not have a WindowControl instance, which used to own the nativeWebShell pointer. M classes_spec/org/mozilla/webclient/impl/WrapperFactory.java - reformatting - Software Practice: avoid downcasting to implementation class. Since BrowserControlImpl is the owner of the nativeWebShell, but there is no mention of that in the public API, we modify the WrapperFactory contract to maintain a data structure of BrowserControl to nativeWebShell mappings. - add native{Create,Destroy}BrowserControl(), which is called from ImplObjectNative. M classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java M classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java M classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java - refactoring for removing public ivars. M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - refactoring for removing public ivars. - comment out nativeCreateInitContext temporarily M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - implement new methods: - add native{Create,Destroy}BrowserControl(), which is called from ImplObjectNative. M classes_spec/org/mozilla/webclient/wrapper_nonnative/WrapperFactoryImpl.java - remove vertigo test M src_moz/ProfileManagerImpl.cpp - shutdown the current profile M src_moz/WrapperFactoryImpl.cpp - Spinup and Spindown the Appshell A test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - new test M test/automated/src/test/BrowserControlFactoryTest_correct - new test content |
||
---|---|---|
.. | ||
build | ||
config | ||
dom | ||
external | ||
pluggable-jvm | ||
plugins | ||
util | ||
webclient | ||
xpcom | ||
.cvsignore | ||
build.properties.sample | ||
build.xml | ||
changelo | ||
makefiles | ||
README | ||
README.commercial |
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