a cue from Doron Rosenberg in #developers and looked at the Eclipse ATF
project's XHRObserver.java.
This was my first look at java code that uses the java xpcom bridge, and
I'm very impressed. Once I get webclient 2.0 done, I'll definately
rewrite as much as possible of the mozilla implementation using the java
xpcom bridge. For now, I'm going to continue to crank with my
"on-demand hand coded JNI C++" approach. I think I can get results
pretty quickly with this. For example, just yesterday I learned that
the regular nsIWebProgressListener doesn't get notifications on Ajax
requests, and now I see a way to do it (thanks to Doron).
Here is the work in progress.
A webclient/src_moz/AjaxListener.cpp
A webclient/src_moz/AjaxListener.h
M logging.properties
- set "ALL" for MCP level
M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- Cause an Ajax transaction to happen
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- log messages for outgoing HTTP requests
M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h
- Leverage new AjaxListener class
M webclient/src_moz/Makefile.in
- add xmlextras, to include nsIXMLHttpRequest.
- remove Robot from this class. Moved into MCP
M dom/classes/org/mozilla/dom/DocumentImpl.java
M dom/jni/org_mozilla_dom_DocumentImpl.cpp
- implement getDocumentURI().
M dom/classes/org/mozilla/dom/util/DOMTreeDumper.java
- added findElementWithName().
R webclient/classes_spec/org/mozilla/webclient/test/DOMTreeModel.java
A dom/classes/org/mozilla/dom/util/DOMTreeModel.java
R webclient/test/manual/src/classes/org/mozilla/webclient/test/DOMTreeNotifier.java
A dom/classes/org/mozilla/dom/util/DOMTreeNotifier.java
M webclient/classes_spec/org/mozilla/webclient/test/DOMAccessPanel.java
M webclient/classes_spec/org/mozilla/webclient/test/DOMViewerFrame.java
M webclient/test/manual/src/classes/org/mozilla/webclient/test/DOMViewerFrame.java
- Move these over from test browser package
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- added useful new public methods
findElement
clickElement
blockingClickElement
- absorbed functionality of Robot.
R webclient/classes_spec/org/mozilla/webclient/impl/DOMTreeDumper.java
R webclient/test/manual/src/classes/org/mozilla/webclient/test/DOMTreeDumper.java
- For some reason, there were several copies of this file.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
- Use newly implemented getDocumentURI() for logging.
- Underpinnings for "clickElementWithId"
M dom/jni/Makefile.in
- depend on layout, for nsIBoxObject. Thanks smaug.
M dom/jni/javaDOMGlobals.h
- copy over WC_ITOA macro
M dom/jni/org_mozilla_dom_ElementImpl.cpp
- add support for special attributes screenX, screenY, clientX, clientY
M webclient/build-tests.xml
- compile the CarDemoTest
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- add getElementInCurrentPageById()
M webclient/test/automated/src/classes/org/mozilla/webclient/DOMTest.java
- exercise new features in dom ElementImpl.
- Do not exclude Bookmarks, Prefs, and Profile from core source
M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- sleep for 10 seconds after the initial load
M dist/netbeans/build.xml
- add the ability to compile the core source of the webclient library,
should the user want to modify it.
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- Correctly cause blockingLoad to block until the load completes.
- Added copy.core.src target
M netbeans/build.xml
- added complie.core.src target
M netbeans/nbproject/build-impl.xml
M netbeans/nbproject/genfiles.properties
M netbeans/nbproject/project.properties
- autogenerate changes
M netbeans/nbproject/project.xml
- rename source roots
A mcp-test/src/main/java/cardemo/CarDemo.java
A mcp-test/src/test/java/cardemo/CarDemoTest.java
- include automated test to use MCP to test the Ajax cardemo
- Add ability to debug a singe junit test
M webclient/build.xml
A webclient/classes_spec/org/mozilla/mcp/MCP.java
A webclient/classes_spec/org/mozilla/mcp/MCPLogStrings.properties
- add mcp package
M webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
- add getter for outputFileRoot.
A non-ide/README
A non-ide/build.properties.sample
A non-ide/build.xml
A non-ide/logging.properties
A non-ide/project.properties
- Add non-ide build file.
M dist/build.xml
M dist/netbeans/build.xml
A dist/netbeans/logging.properties
M dist/netbeans/webclient.properties
M webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
Make it so the automated tests run from netbeans.
M build.xml
A netbeans/build.xml
A netbeans/manifest.mf
A netbeans/webclient.properties
A netbeans/nbproject/build-impl.xml
A netbeans/nbproject/build.properties
A netbeans/nbproject/genfiles.properties
A netbeans/nbproject/project.properties
A netbeans/nbproject/project.xml
- the default dist will include a netbeans project that builds the test
browser and runs the unit tests.
haven't been touched since 1998!
A dom/classes/org/mozilla/dom/package.html
A dom/classes/org/mozilla/dom/util/package.html
A util/classes/org/mozilla/util/package.html
A webclient/classes_spec/org/mozilla/webclient/overview.html
A webclient/classes_spec/org/mozilla/webclient/package.html
M dist/build.xml
M util/classes/org/mozilla/util/Debug.java
M util/classes/org/mozilla/util/Log.java
M util/classes/org/mozilla/util/Range.java
M util/classes/org/mozilla/util/Utilities.java
M webclient/classes_spec/org/mozilla/webclient/BrowserControl.java
M webclient/classes_spec/org/mozilla/webclient/BrowserControlFactory.java
M webclient/classes_spec/org/mozilla/webclient/ImplObject.java
M webclient/classes_spec/org/mozilla/webclient/Navigation2.java
M webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java
M dom/classes/org/mozilla/dom/events/MouseEventImpl.java
- Changes to allow generation of javadocs from full tree.
haven't been touched since 1998!
A dom/classes/org/mozilla/dom/package.html
A dom/classes/org/mozilla/dom/util/package.html
A util/classes/org/mozilla/util/package.html
A webclient/classes_spec/org/mozilla/webclient/overview.html
A webclient/classes_spec/org/mozilla/webclient/package.html
M dist/build.xml
M util/classes/org/mozilla/util/Debug.java
M util/classes/org/mozilla/util/Log.java
M util/classes/org/mozilla/util/Range.java
M util/classes/org/mozilla/util/Utilities.java
M webclient/classes_spec/org/mozilla/webclient/BrowserControl.java
M webclient/classes_spec/org/mozilla/webclient/BrowserControlFactory.java
M webclient/classes_spec/org/mozilla/webclient/ImplObject.java
M webclient/classes_spec/org/mozilla/webclient/Navigation2.java
M webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java
- Start refresh of javadocs
M dist/webclient-dist.xml
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
- rollback 2.0 alpha b changes. Thanks to Annie Lau.
distribution of webclient.
Next step is to get mozilla 1.7 building on my machine, then get
webclient to compile with it, then do a 2.0a2 release.
M build.xml
- incorporate re-added dist directory
A dist/build.xml
- create a binary distribution
A dist/webclient-dist.xml
- build.xml file for the test browser in the distribution