- Be more resiliant to changes in what the server sends back via ajax
M dist/netbeans/build.xml
M dist/netbeans/webclient.properties
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
Added copyProxySettingsIfNecessary() to copy the proxy settings from
the java system properties into the firefox properties format
documented at
http://developer.mozilla.org/en/docs/Mozilla_Embedding_FAQ:How_do_I...#How_do_I_set_the_network_proxy.3F
M dist/netbeans/build.xml
- support for building a mac os x universal binary distribution
M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- re-enable cardemo test. The right way to disable this is to
do it in the build file.
M dist/mcp-test/src/test/java/jsf_jmaki/JsfjMakiTest.java
- use getAnchors() to get the right link.
M dist/netbeans/nbproject/project.properties
- add junit to classpath
dist/build.xml dist/mcp-test/src/test/java/cardemo/CarDemoTest.java dist/mcp-test/src/test/java/jsf_jmaki/JsfjMakiTest.java dist/netbeans/build.xml dist/netbeans/nbproject/project.properties
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeBrowserControlCanvas.java
- The base class for all native browser controls
M build.xml
- rm -rf dist/classes on clean
M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- disable, due to https://bugzilla.mozilla.org/show_bug.cgi?id=366619
not being fixed on FIREFOX_2_0_0_3_RELEASE branch.
M dom/jni/nativeDOMProxyListener.cpp
- Need extra void ** cast for first argument to AttachCurrentThread
M dom/jni/org_mozilla_dom_ElementImpl.cpp
- modify handleInterceptableAttr to adjust screenX,screenY per cross
platform fudge factors.
M dom/src/nsJavaDOMImpl.cpp
- use %p instead of %x when printing out pointers
- Need extra void ** cast for first argument to AttachCurrentThread
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- remove fudge factor, moved into DOM layer.
M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
- add logging
- push some code down to NativeBrowserControlCanvas
M webclient/classes_spec/org/mozilla/webclient/NewWindowEvent.java
- change the contract of how a new window event is handled.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaAppKitThreadDelegatingNativeEventThread.java
- correctly case where exception is thrown on the AppKit thread when
doing a ReturnRunnable.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaBrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java
- make this extend NativeBrowserControlCanvas
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- new contract for NewWindowListener
M webclient/src_moz/NativeEventThread.cpp
- fix compiler warning.
M webclient/src_moz/WindowCreator.cpp
- add logging
M webclient/test/automated/src/classes/org/mozilla/webclient/DOMTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/MouseListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/WindowCreatorTest.java
- use dom to get the screen coordinates of elements on which to click,
instead of using hard coded screen coordinates, which are not cross
platform friendly.
M webclient/test/automated/src/test/WindowCreatorTest0.html
- add ids to some elements for use in testcases.
- added a target to ease iterative development
M dist/netbeans/logging.properties
- turn on logging for all mozilla java classes
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- make the logger package private
A webclient/classes_spec/org/mozilla/mcp/RandomHTMLInputStream.java
R webclient/classes_spec/org/mozilla/webclient/test/RandomHTMLInputStream.java
R webclient/test/automated/src/classes/org/mozilla/webclient/RandomHTMLInputStream.java
- rewrote and copied this here so THTTPD could use it.
M webclient/classes_spec/org/mozilla/mcp/THTTPD.java
- use RandomHtmlInputStream for the NavigationTest.stopTest().
M webclient/classes_spec/org/mozilla/webclient/test/EMWindow.java
M webclient/test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
- use THTTPD to create RandomHTMLInputStream instances.
- Correctly exclude Gtk test on Mac
M dist/netbeans/logging.properties
- turn on all webclient logging
M dist/netbeans/webclient.properties
- Use correct extension for jnilib on mac os x
M webclient/src_moz/EmbedWindow.cpp
M webclient/src_moz/NativeBrowserControl.cpp
- extra logging
M webclient/src_moz/WindowControlImpl.cpp
- correct ifdef logic to exclude some Gtk specific code.
PowerBook G4, so the only binary I can produce is for the PowerPC.
Perhaps someone lucky enough to own a MacBookPro can produce a binary
for me on that processor architecture.
Many thanks to the generous folks on #developers, in particular, timeless,
cbarrett, sdwilsh, and jhpedemonte.
Here are the changes.
SECTION: Changes
M dist/build.xml
- propogate clean on mac os x
- On mac os x, there is .jnilib and also .dylib
M dom/build.xml
- propogate make on mac os x
M webclient/build.xml
- new file for javah on mac
- propogate clobber_all on mac
M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
- get the tree lock before calling to native code to get the native window
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaAppKitThreadDelegatingNativeEventThread.java
- Allows running arbitrary code on the AppKit thread. Prevents Thread
Safety assertions.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaBrowserControlCanvas.java
- adhere to informal protocol to create NativeEventThread
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java
- use NativeEventThread.instance.isNativeEventThread()
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
- implement isNativeEventThread()
M webclient/src_moz/Makefile.in
- turn on objc-exceptions on mac os x
M webclient/src_moz/NativeBrowserControl.cpp
M webclient/src_moz/NativeBrowserControl.h
- work with cocoa
M webclient/src_moz/NativeEventThread.cpp
M webclient/src_moz/cocoa/CocoaBrowserControlCanvas.h
M webclient/src_moz/cocoa/CocoaBrowserControlCanvasImpl.cpp
- two methods to run arbitrary code on the AppKit thread
M webclient/src_moz/cocoa/CocoaBrowserControlCanvas.mm
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
M dist/build.xml
M dom/build.xml
M webclient/build.xml
M dist/netbeans/build.xml
M dist/netbeans/webclient.properties
M dom/jni/Makefile.in
M dom/src/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_moz/EmbedWindow.cpp
M webclient/src_moz/EmbedWindow.h
- Fix for Mac OS X
- do Alpha 8 release
- Copy artifacts to local www for dist via CVS.
A dist/webclient-pom.xml
- Create Maven POM for error free artifact resolution
M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- Update clientIds
- Use new package for WebclientTestCase
M dist/mcp-test/src/test/java/jsf_jmaki/JsfjMakiTest.java
- Use new timeout mechanism.
- Use new package for WebclientTestCase
M dist/netbeans/build.xml
M dist/netbeans/nbproject/project.properties
- alpha 8
M webclient/build-tests.xml
- remove cardemo from automated test run
M webclient/classes_spec/org/mozilla/mcp/MCP.java
A webclient/classes_spec/org/mozilla/mcp/TimeoutHandler.java
- Generalized timeout mechanism
A webclient/classes_spec/org/mozilla/mcp/CompareFiles.java
A webclient/classes_spec/org/mozilla/mcp/THTTPD.java
A webclient/classes_spec/org/mozilla/mcp/junit/TestLogStrings.properties
A webclient/classes_spec/org/mozilla/mcp/junit/WebclientTestCase.java
A webclient/classes_spec/org/mozilla/mcp/junit/package.html
R webclient/test/automated/src/classes/org/mozilla/util/THTTPD.java
R webclient/test/automated/src/classes/org/mozilla/webclient/CompareFiles.java
R webclient/test/automated/src/classes/org/mozilla/webclient/TestLogStrings.properties
R webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
M webclient/test/automated/src/classes/org/mozilla/webclient/BookmarksTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/BrowserControlFactoryTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/DOMTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/HistoryTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/MouseListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/PreferencesTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/ProfileManagerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/WindowCreatorTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/impl/WebclientFactoryImplTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/TestGtkBrowserControlCanvas.java
M webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java
- New package for mcp JUnit support
If you don't know what those two things are, check out
<http://developers.sun.com/web/swdp/>.
Anyhow, it was a real pain to keep these two things working together as
jMaki rapidly evolved. Now at least we can have an automated test to
catch regressions.
SECTION: Changes
A dist/mcp-test/src/main/java/jsf_jmaki/JsfjMaki.java
A dist/mcp-test/src/test/java/jsf_jmaki/JsfjMakiTest.java
- The automated test and the netbeans empty main class.
M dom/classes/org/mozilla/dom/util/DOMTreeDumper.java
- Introduce preorder traversal callback facility
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- add methods
+ public List<Element> getAnchors(String id) {
+ public List<Element> getAnchors() {
+ public List<Element> getChildElementsWithTagName(Element root,
+ final String tagName) {
+ public List<Element> getChildElementsWithTagName(String id,
+ final String tagName) {
+ public void clickElement(String id) {
+ public void blockingClickElement(Element element) {
- package description for MCP
M dist/build.xml
- copy ancilliary files for javadoc
A dist/javadoc.css
- Stylesheet for code samples within Javadocs
M dist/netbeans/build.xml
- Use releasenotes for test browesr start page
M dom/jni/Makefile.in
M dom/src/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_share/Makefile.in
- FORCE_PR_LOG
M dom/jni/javaDOMEventsGlobals.cpp
M dom/jni/nativeDOMProxyListener.cpp
M dom/jni/org_mozilla_dom_events_MouseEventImpl.cpp
- use nsCOMPtr and correct QI-ing.
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- Javadocs
- Make private things private
A webclient/classes_spec/org/mozilla/mcp/mcp.jpg
- Master Control Program
M webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java
- javadocs
M dist/netbeans/build.xml
M dist/netbeans/nbproject/project.properties
- prepare for alpha 6 release
M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/AjaxListener.h
M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h
- the AjaxListener no longer keeps the jobject EventRegistrationImpl as
an ivar. Instead, it lazily uses an accessor on EmbedProgress
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- Take a url from commandline.
- this automated test is now a complete example for how to test an ajax
web application in an automated fashion.
M dom/classes/org/mozilla/dom/NodeImpl.java
M dom/jni/org_mozilla_dom_NodeImpl.cpp
- implement getTextContent() from DOM level 3.
M webclient/build-tests.xml
- add cardemoTest to unit test list as a place-holder until I can write
a testcase that doesn't require the public Internet.
A webclient/classes_spec/org/mozilla/mcp/AjaxListener.java
- New class. Docs forthcoming.
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- new methods to support complete ajax automated testing.
M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/AjaxListener.h
- add mIsObserving flag. From our dtor, make sure to remove ourselves
from the EmbedProgress.
M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h
- We need to add ourselves as an observer both from SetCapturePageInfo
and SetEventRegistration.
M webclient/src_moz/NativeBrowserControl.cpp
- Unit testing found a bug! We can't call mWindow->ReleaseChildren()
until after we remove ourself as a listener.
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.