177 Commits

Author SHA1 Message Date
edburns%acm.org
8ca3c70a3a This change-bundle allows Webclient to work on Mac OS X Cocoa.
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.


git-svn-id: svn://10.0.0.236/trunk@228340 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-19 20:18:13 +00:00
edburns%acm.org
04e78a3a4d One unit test is still failing: WindowCreator. Oof. Threading problem.
M webclient/build.xml

- separate out "compile.binaries" target

M webclient/classes_spec/org/mozilla/mcp/MCP.java

- account for mac coordinate wierdness.

M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/CBrowserContainer.cpp
M webclient/src_moz/EmbedEventListener.cpp
M webclient/src_moz/ns_util.h

- make sure to initialize the buffer before calling WC_ITOA

M webclient/test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/MouseListenerTest.java

- Make these tests run

M webclient/test/automated/src/test/HistoryTest0.html

- add an ID.

M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java

- print out coordinates


git-svn-id: svn://10.0.0.236/trunk@228024 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-14 02:03:34 +00:00
edburns%acm.org
ef12f97d60 M dist/build.xml
- 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.


git-svn-id: svn://10.0.0.236/trunk@227981 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-13 16:57:17 +00:00
edburns%acm.org
7a43081a8c SECTION: Changes
M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java

- get rid of the wait/notifyAll in favor of using the CountDownLatch()

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaAppKitThreadDelegatingNativeEventThread.java

- When running code on the AppKit thread, log exceptions before rethowing.

M webclient/src_moz/cocoa/CocoaBrowserControlCanvas.mm
M webclient/src_share/jni_util.cpp

- Make exception error messages more descriptive.


git-svn-id: svn://10.0.0.236/trunk@227837 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-12 01:16:09 +00:00
edburns%acm.org
4d80afa4ef At long last, I have webclient running on Mac OSX. I only have a
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


git-svn-id: svn://10.0.0.236/trunk@227737 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-10 16:24:12 +00:00
edburns%acm.org
6fede34317 M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java
- Added some logging

- Added informal protocol: newNativeEventThread.  This will be used
  to allow the Mac OS X Version to provide a special NativeEventThread
  extension that forwards all things normally run on the
  NativeEventThread to run on the AppKit thread instead.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java

- Use new informal protocol to instantiate NativeEventThread

M util/classes/org/mozilla/util/Utilities.java

- Instead of doing Class.forName use the proper ClassLoader pattern.
  This will help when webclient becomes a server-side mashup
  facilitator.


git-svn-id: svn://10.0.0.236/trunk@227732 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-10 03:32:25 +00:00
edburns%acm.org
4b3f15474f M dist/build.xml
- 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


git-svn-id: svn://10.0.0.236/trunk@225589 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-04 17:10:35 +00:00
edburns%acm.org
083c1a8f9b Finally, I have an automated test that exercises DynaFaces and jMaki.
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) {


git-svn-id: svn://10.0.0.236/trunk@224826 18797224-902f-48f8-a5cc-f745e15eee43
2007-04-21 03:25:37 +00:00
edburns%acm.org
9135d48138 remove_j_id_
git-svn-id: svn://10.0.0.236/trunk@221930 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-15 20:12:37 +00:00
edburns%acm.org
d68d310f48 M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
M webclient/classes_spec/org/mozilla/mcp/package.html

- Use DOM to make assertions about response XML


git-svn-id: svn://10.0.0.236/trunk@221905 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-15 00:33:10 +00:00
edburns%acm.org
4b007f23c0 A webclient/classes_spec/org/mozilla/mcp/package.html
- 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


git-svn-id: svn://10.0.0.236/trunk@221898 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-14 21:02:14 +00:00
edburns%acm.org
8e41711791 Complete the thread safety changes. Ready to attempt alpha 6 release again.
M logging.properties

- Do not append.  Create a new file each time.

- Do not specify a limit.

M dom/classes/org/mozilla/dom/AttrImpl.java
M dom/classes/org/mozilla/dom/CharacterDataImpl.java
M dom/classes/org/mozilla/dom/DOMAccessor.java
M dom/classes/org/mozilla/dom/DOMImplementationImpl.java
M dom/classes/org/mozilla/dom/DocumentImpl.java
M dom/classes/org/mozilla/dom/DocumentTypeImpl.java
M dom/classes/org/mozilla/dom/ElementImpl.java
M dom/classes/org/mozilla/dom/EntityImpl.java
M dom/classes/org/mozilla/dom/NamedNodeMapImpl.java
M dom/classes/org/mozilla/dom/NodeImpl.java
M dom/classes/org/mozilla/dom/NodeListImpl.java
M dom/classes/org/mozilla/dom/NotationImpl.java
M dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java
M dom/classes/org/mozilla/dom/events/EventImpl.java
M dom/classes/org/mozilla/dom/events/MouseEventImpl.java
M dom/classes/org/mozilla/dom/events/UIEventImpl.java

- Use the new ReturnRunnable and RunnableRunner mechanism to ensure
  all DOM calls happen on the NativeEventThread

M dom/jni/org_mozilla_dom_DocumentImpl.cpp

- If the element is not found, make sure the exception thrown is a DOM
  Exception.

M webclient/build-tests.xml

- pass a test browser url.

M webclient/classes_spec/org/mozilla/mcp/MCP.java

- Use the CountDownLatch instead of wait/notify

M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java

-    public int loadNativeLibraryIfNecessary();
+    public int loadNativeLibrariesIfNecessary();

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- Fix error in log string

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java

- Clean up log messages a bit.

- Use CountDownLatch instead of wait/notify for synchronization

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java


git-svn-id: svn://10.0.0.236/trunk@221815 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-13 06:21:45 +00:00
edburns%acm.org
4c249b774c This checkin extracts the thread coordination mechanism used within
webclient into an internal contract so it can be used by dom.

M dom/classes/org/mozilla/dom/DOMAccessor.java

- use RunnableRunner and ReturnRunnable to do internal thread
  coordination.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaBrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/GtkBrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/PreferencesImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ProfileManagerImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/RDFEnumeration.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java

- Refactor to rename WCRunnable to ReturnRunnable.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
A util/classes/org/mozilla/util/ReturnRunnable.java

- Implement new RunnableRunner interface.

R webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WCRunnable.java
A util/classes/org/mozilla/util/RunnableRunner.java

- moved class


git-svn-id: svn://10.0.0.236/trunk@221794 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-12 20:39:22 +00:00
edburns%acm.org
b73d7d3c86 M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java

- cause the webclient native library to be loaded from the
  NativeEventThread.  This eliminates many native thread safety
  assertions.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- Initialize the dom on the NativeEventThread

- Get the dom on the NativeEventThread

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- remove unnecessary synchronized block.


git-svn-id: svn://10.0.0.236/trunk@221615 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-09 17:25:48 +00:00
edburns%acm.org
1e8d7ad35d M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- 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.


git-svn-id: svn://10.0.0.236/trunk@221594 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-09 04:34:24 +00:00
edburns%acm.org
4387234d66 M webclient/classes_spec/org/mozilla/webclient/DocumentLoadEvent.java
- add event masks for Ajax

M webclient/classes_spec/org/mozilla/webclient/PageInfoListener.java

- Document map values for ajax events

M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/AjaxListener.h

- Flesh out implementation as much as the underlying browser allows.
  For mozilla, this means start, end, and error.

M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h

- move the initialization of the AjaxListener into SetEventRegistration().

- Expose NativeBrowserControl * getter

- Make RequestToURIString public

M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h

- new map keys: readyState, responseText, responseXML

- new event masks START_AJAX, END_AJAX, ERROR_AJAX

M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java

- print map values for AJAX cases.


git-svn-id: svn://10.0.0.236/trunk@221541 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-08 13:35:19 +00:00
edburns%acm.org
2329e00781 To address the issue of listening for XMLHttpRequest traffic, I've taken
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.


git-svn-id: svn://10.0.0.236/trunk@221474 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-07 21:02:54 +00:00
edburns%acm.org
0a65ef051c M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- 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.


git-svn-id: svn://10.0.0.236/trunk@221413 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-06 22:03:43 +00:00
edburns%acm.org
24cfaeb00e M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- 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.


git-svn-id: svn://10.0.0.236/trunk@221363 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-06 03:28:47 +00:00
edburns%acm.org
f2359edf57 M dist/build.xml
- 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.


git-svn-id: svn://10.0.0.236/trunk@221343 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-05 21:10:24 +00:00
edburns%acm.org
38884c477a M dist/netbeans/build.xml
- 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.


git-svn-id: svn://10.0.0.236/trunk@221270 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-03 20:35:14 +00:00
edburns%acm.org
9a85d29904 remove non-existant import
git-svn-id: svn://10.0.0.236/trunk@220415 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-16 18:18:15 +00:00
edburns%acm.org
5648af33d6 M classes_spec/org/mozilla/webclient/CurrentPage2.java
- Add new method copyCurrentSelectionHtmlToSystemClipboard().

M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- Full support for text and html copy

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

- Exercise HTML copy.


git-svn-id: svn://10.0.0.236/trunk@220412 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-16 16:03:18 +00:00
edburns%acm.org
7841b5844f Issue: 369376
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java

- Get the test case working.


git-svn-id: svn://10.0.0.236/trunk@220409 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-16 13:29:15 +00:00
edburns%acm.org
589b161152 Issue: 369376
Workaround

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

+void addStringToTransferable(String mimeType, String text) {

  This method is called from native code when a Transferable is being
  inspected for the DataFlavors it supports.

M webclient/classes_spec/org/mozilla/webclient/test/WorkDialog.java

- Whitespace

M webclient/src_moz/EmbedWindow.cpp
M webclient/src_moz/EmbedWindow.h

- copy code from nsPrimitiveHelpers to aid in the extraction of text
  from the nsITransferable

- Flesh out GetText(), SendTextToJava() methods.

M webclient/src_moz/Makefile.in

- Additional dependencies for nsPrimitiveHelpers copy.


git-svn-id: svn://10.0.0.236/trunk@220342 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-15 22:07:28 +00:00
edburns%acm.org
345b029cb2 M webclient/build-tests.xml
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
M webclient/src_moz/CurrentPageImpl.cpp
M webclient/src_moz/Makefile.in

- Remove bookmarks because bookmarks is not in XULRunner

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

- Disable testCopyCurrentSelectionToSystemClipboard.  Need to try with
  1.5.0.9.

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

- Account for build dir change

M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java

- enable copy button.


git-svn-id: svn://10.0.0.236/trunk@219185 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-30 18:26:37 +00:00
edburns%acm.org
6c952371fa M webclient/build-tests.xml
- re-enable all tests, but CurrentPageTest is currently hanging.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- Use new "runUntilEventOfType" method to prevent deadlock when creating a new 
  window.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java

- extract doEventLoopOnce() method from run()

- create new method runUntilEventOfType().

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java

- convert anonymous inner class for WCRunnable.nativeRealize into
  non-anonymous inner class of WindowControlImpl

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

- Make sure to realize the new window on the main thread.


git-svn-id: svn://10.0.0.236/trunk@218745 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-22 12:35:14 +00:00
edburns%acm.org
a3121edc15 M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
- Use JDK 1.5 ConcurrentLinkedQueue to enable moving the enqueue and
  dequeue operations out of the synchronized block.

- Use a the new "result" property on WCRunnable to convey the result
  from the run() back to the caller.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WCRunnable.java

- Make this an abstract class and add a read/write property called
  "result".


git-svn-id: svn://10.0.0.236/trunk@218515 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-17 13:45:22 +00:00
edburns%acm.org
f80fed1778 add logging
git-svn-id: svn://10.0.0.236/trunk@218514 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-17 12:59:40 +00:00
edburns%acm.org
d0b3db034a M build.properties.sample
- declare compile.source=1.5

M dom/build.xml
M plugins/build.xml
M plugins/examples/MediaPlayer/build.xml
M plugins/test/build.xml
M util/build.xml

- remove compile.source property, take it from top level build.properties

M plugins/mozilla/Makefile.in

- remove hard coded MS_SDK_HOME reference

M util/classes/org/mozilla/util/Log.java

- This class is the home to the LogStrings property for java supplement

M webclient/build-tests.xml

- copy properties file

- turn on logging

M webclient/build.xml

- remove compile.source property, take it from top level build.properties

- set a FILE_PATH_SEP property

- make run.test depend on prepare

- make run.test.browser depend on prepare

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaBrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/PreferencesImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/RDFEnumeration.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java

- Define toString() for all the WCRunnable and Runnable impls.

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

- Some logging.

A util/classes/org/mozilla/LogStrings.properties
A webclient/test/automated/src/classes/org/mozilla/webclient/TestLogStrings.properties

- LogStrings.properties files for tests and core impl

A logging.properties

- Logging settings for java supplement


git-svn-id: svn://10.0.0.236/trunk@218507 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-17 11:43:43 +00:00
timeless%mozdev.org
f9bdb44b34 Bug 106386 Correct misspellings in source code
patch by unknown@simplemachines.org r=timeless rs=brendan


git-svn-id: svn://10.0.0.236/trunk@185269 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-25 08:16:51 +00:00
edburns%acm.org
7be42f1a22 Expose the dom Node to the standard java key and mouse
listeners, using test driven development techniques of course.

Next step is to update the test browser to use this feature.

SECTION:

A webclient/classes_spec/org/mozilla/webclient/WCKeyEvent.java

- KeyEvent subclass to expose WebclientEvent, and allow access to the
  Source property, which is a dom Node

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- change to handle WCKeyEvent

M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/MouseListenerTest.java

- new test content

M webclient/test/automated/src/test/KeyListenerTest1.html

- add id attribute


git-svn-id: svn://10.0.0.236/trunk@178517 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-20 19:25:52 +00:00
edburns%acm.org
e064d69906 This change-bundle solves the dom problem in a different way: by
allowing the standard java key and mouse event listeners to get access
to the dom Node that corresponds to that event.  I have the Node
propagated out to the webclient level, but I need to push it all the way
out so the client can access it.

Next step is to expose the dom Node to the standard java key and mouse
listeners, using test driven development techniques of course.

SECTION: Changes

M dom/classes/org/mozilla/dom/DOMAccessor.java

- make getNodeByHandle(long p) public so I can get the dom node for a
  key or mouse event.

M dom/classes/org/mozilla/dom/NodeImpl.java

- added commented out methods for the Node in Java SE 5.0

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- Extract the dom Node that corresponds to a key or mouse event.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/RDFTreeNode.java

- Don't use keyword enum, for Java SE 5.0

M webclient/src_moz/EmbedEventListener.cpp

- store the long into the properties.

M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h

- new constant, NodeLong.


git-svn-id: svn://10.0.0.236/trunk@178227 18797224-902f-48f8-a5cc-f745e15eee43
2005-08-19 05:26:07 +00:00
edburns%acm.org
9ddd30d483 generic_native_drawing_works_but_not_for_mozilla
git-svn-id: svn://10.0.0.236/trunk@173697 18797224-902f-48f8-a5cc-f745e15eee43
2005-05-23 01:10:22 +00:00
edburns%acm.org
db0d2ab21e Turns out the problem with the CocoaBrowserControlCanvas
was that I was incorrectly interpreting the return value from
Lock().

This works.  Next step is to solve the nsWindow.cpp problem.


git-svn-id: svn://10.0.0.236/trunk@173469 18797224-902f-48f8-a5cc-f745e15eee43
2005-05-16 13:39:22 +00:00
edburns%acm.org
ba350c1664 Checkpoint for mac os x reactivation.
Having trouble with the implementation of getHandleToPeer.

Current problem is that JAWT_DrawingSurface->Lock() is failing.

Why would that be?


git-svn-id: svn://10.0.0.236/trunk@173357 18797224-902f-48f8-a5cc-f745e15eee43
2005-05-13 06:40:12 +00:00
edburns%acm.org
30b1cc73be All I had time for today was some javadoc updates. Next step is still to
work on the dom viewer in the TestBrowser.

M webclient/classes_spec/org/mozilla/webclient/EventRegistration.java
M webclient/classes_spec/org/mozilla/webclient/EventRegistration2.java

- add javadocs.


git-svn-id: svn://10.0.0.236/trunk@172432 18797224-902f-48f8-a5cc-f745e15eee43
2005-04-19 13:00:40 +00:00
edburns%acm.org
b740cc9e1a CheckPoint. Exact bytes of viewSource doesn't work yet. I think the
problem is that selectAll isn't working due to the window not being
realized.  We'll see.  Next step is to get it working!

M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- rewrite getSource() to call native code, instead of using the DOM.

M src_moz/CurrentPageImpl.cpp

- re-enable nativeGetSource().

M src_moz/EmbedWindow.cpp
M src_moz/EmbedWindow.h

- fill out dtor

- add InitNoChrome.


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

- comment out test

classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java src_moz/CurrentPageImpl.cpp src_moz/EmbedWindow.cpp src_moz/EmbedWindow.h test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java


git-svn-id: svn://10.0.0.236/trunk@171314 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-29 05:03:12 +00:00
edburns%acm.org
b211943729 This checkin re-implements CurrentPage.getSource(). It doesn't preserve
the whitespace formatting of the current page, which is a big problem.
Next step is to get the DOMViewer working with the TestBrowser.

M build.xml

- exclude test from the default build

A classes_spec/org/mozilla/webclient/impl/DOMTreeDumper.java

- Copy this over from test.

M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- leverage DOMTreeDumper to print the current source.

M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
A test/automated/src/test/ViewSourceTest.html

- exercise new methods.


git-svn-id: svn://10.0.0.236/trunk@170983 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-22 15:58:51 +00:00
edburns%acm.org
3ffcb6c7ff [11-StateSavingWindowId]
This change-bundle implements the FULL proposal for this, as well as
covering some corner-cases not in the initial proposal.

I have yet to get the last stamp of approval from the EG, but I'm
confident we'll get it, so I'm checking it in now.

r=visvan.

SECTION: API Changes

M jsf-api/src/javax/faces/application/StateManager.java

- reword the class description for readability

- saveSerializedView

  Deprecate this.  Make it no-longer abstract.  Provide default impl
  that returns null.

- saveView

  new method.  Replaces saveSerializedView.  Provide default impl that
  calls through to saveSerializedView().


- writeState that takes Object

  new method.  Provide default impl:

+     * <p>For backwards compatability with existing
+     * <code>StateManager</code> implementations, the default
+     * implementation of this method checks if the argument is an
+     * instance of <code>Object []</code> of length greater than or
+     * equal to two.  If so, it creates a <code>SerializedView</code>
+     * instance with the tree structure coming frome element zero and
+     * the component state coming from element one and calls through to
+     * {@link
+     * #writeState(javax.faces.context.FacesContext,javax.faces.application.StateManager.SerializedView}.
+     * If not, does nothing.</p>

- getTreeStructureToSave
- getComponentStateToSave
- restoreTreeStructure
- restoreComponentState

  Deprecate these.  Provide default impl that returns null or no-ops.

- SerializedView

  Deprecate this.

M jsf-api/src/javax/faces/application/StateManagerWrapper.java

- add new methods.

M jsf-api/src/javax/faces/render/ResponseStateManager.java

- writeState that takes Object

  new method.

+     * <p>For backwards compatability with existing
+     * <code>ResponseStateManager</code> implementations, the default
+     * implementation of this method checks if the argument is an
+     * instance of <code>SerializedView</code>.  If so, it calls through
+     * to {@link
+     * #writeState(javax.faces.context.FacesContext,javax.faces.application.StateManager.SerializedView}.
+     * If not, does nothing.</p>

- writeState that takes SerializedView

+     * @deprecated This method has been replaced by {@link
+     * #writeState(javax.faces.context.FacesContext,java.lang.Object)}.
+     * The default implementation of this method does nothing.
+     *

- getState

  new method.

- getTreeStructureToRestore
- getComponentStateToRestore

  Deprecate these.  Provide default impl that returns null or no-ops.

SECTION: RI Changes

M jsf-ri/src/com/sun/faces/application/StateManagerImpl.java

  Provide implementations for deprecated methods that will be called by
  the default implementations of the new methods in StateManager.

  - saveSerializedView(): no functional change since last version

M jsf-ri/src/com/sun/faces/application/ViewHandlerImpl.java

- move the responsibility for doing the redirect to createView() from
  renderView(), since it was only designed to catch the initial request.

M jsf-ri/src/com/sun/faces/lifecycle/RestoreViewPhase.java

- introduce private isPostback() method.

+     * @return true if the request method is POST or PUT, or the method
+     * is GET but there are query parameters, or the request is not an
+     * instance of HttpServletRequest.

  Only call restoreView() if isPostback(), otherwise call createView().

M jsf-ri/src/com/sun/faces/renderkit/ResponseStateManagerImpl.java

- modify getTreeStructureToRestore() so it knows the value of the hidden
  field is only a string, not a base64 encoded object tree, if the
  stateSavingMethod is server.

- modify writeState() to not encode the view if we're saving state in
  the server, just write out the id.

- remove unused replaceMarkers method.

M jsf-ri/src/com/sun/faces/taglib/jsf_core/ViewTag.java

- leverage new APIs and rely on impl to delegate to deprecated APIs for
  backwards compatability.

M jsf-ri/systest/build-tests.xml
M jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase.java
M jsf-ri/test/com/sun/faces/FacesTestCaseService.java
M jsf-ri/test/com/sun/faces/lifecycle/TestApplyRequestValuesPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestLifecycleImpl_initial.java
M jsf-ri/test/com/sun/faces/lifecycle/TestPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestProcessValidationsPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestRestoreViewPhase.java
M jsf-ri/web/test/RenderResponse_correct
M jsf-ri/web/test/TestLifecycleImpl_initial_correct
M jsf-ri/web/test/TestViewHandlerImpl_correct

- Oof, mondo changes here.


git-svn-id: svn://10.0.0.236/trunk@170818 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-17 01:56:55 +00:00
edburns%acm.org
33e259872d This checkin starts updating the javadocs. Wow. Some of these docs
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


git-svn-id: svn://10.0.0.236/trunk@170679 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-15 02:49:16 +00:00
edburns%acm.org
140d778e14 This checkin enables finding out the request method and response status
of a URL_LOAD event.  I'm still working on getting the request body via
the nsIUploadChannel interface.  Next step will be to get that working.
I'm currently running into problems where the END_URL event for a POST
doesn't have a status.  I think this is because I'm using the
Navigation.post() method rather than simulating a user post by pressing
a form submit button.

A classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeInputStream.java
A src_moz/NativeInputStreamImpl.cpp

- Class to enable reading the post body from the request.

M build.xml

- add NativeInputStream to JNI generation

M classes_spec/org/mozilla/webclient/PageInfoListener.java

 * <p>This {@link DocumentLoadListener} subclass adds the ability to get
 * detailed information on each event. </p>
 *
 * <p>The <code>eventData</code> property of the
 * <code>DocumentLoadEvent</code> instance will be a
 * <code>java.util.Map</code>.  The following entries may be present in
 * this map for the following <code>*_EVENT_MASK</code> types in
 * <code>DocumentLoadEvent</code>.</p>
 *
 * <dl>
 *
 * <dt>For all <code>*_EVENT_MASK</code> types</dt>
 *
 * <dd><p>the map will contain an entry under the key "<code>URI</code>"
 * without the quotes.  This will be the fully qualified URI for the
 * event. </p></dd>
 *
 * <dt>For <code>START_URL_LOAD</code> type</dt>
 *
 * <dd><p>The map will contain an entry under the key
 * "<code>method</code>" without the quotes.  This will be the request
 * method for this event.  The map will also contain an entry under the
 * key "<code>headers</code>".  This entry will be a
 * <code>java.util.Map</code> of all the request headers.</p></dd>
 *
 * <dt>For <code>END_URL_LOAD</code> type</dt>
 *
 * <dd><p>The map will contain an entry under the key
 * "<code>method</code>" without the quotes.  This will be the request
 * method for this event.  The map will contain an entry under the key
 * "<code>status</code>" without the quotes.  This will be the response
 * status string from the server, such as "<code>200 OK</code>".  The
 * map will also contain an entry under the key "<code>headers</code>".
 * This entry will be a <code>java.util.Map</code> of all the response
 * headers.</p></dd>
 *
 * </dl>

M src_moz/EmbedProgress.cpp

- leverage nsIHttpChannel methods to get request method, response
  status, and post body.

M src_moz/Makefile.in

- add NativeInputStream

M src_share/jni_util.cpp
M src_share/jni_util.h

- new constants

- add variant of ThrowExceptionToJava that takes the exception class name.

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

- new test content.  Post related content commented out.


git-svn-id: svn://10.0.0.236/trunk@169991 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-28 17:15:45 +00:00
edburns%acm.org
392d6a201f This checkin re-enables printing. Thanks to Kyle Yuan from Sun Microsystems.
Next step is to take a step back and see what's best to do next!

M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- call through to print related methods

M src_moz/CurrentPageImpl.cpp

- Copy from CurrentPageActionEvents.cpp

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

- add test stub for print preview.


git-svn-id: svn://10.0.0.236/trunk@169174 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-14 02:37:51 +00:00
edburns%acm.org
a5d1754eb2 Next step is to try to re-enable the printing APIs. Not sure if this
will work.

A test/automated/src/test/DOMSelectionTest.html

- test CurrentPage.highlightSelection and clearAllSelections().

M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- send all native methods through the event thread

M classes_spec/org/mozilla/webclient/impl/wrapper_native/SelectionImpl.java

- never return null from toString().  Return "" instead.

M src_moz/CurrentPageImpl.cpp

- copy from CurrentPageActionEvents.cpp

M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
M test/automated/src/classes/org/mozilla/webclient/DOMTest.java

- new test conent


git-svn-id: svn://10.0.0.236/trunk@169173 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-14 02:16:18 +00:00
edburns%acm.org
8e87528e03 This checkin adds a capability to CurrentPage2 to get the result of the
find command.

Next step will be to add more tests.

M classes_spec/org/mozilla/webclient/CurrentPage2.java

- add find and findNext methods which return boolean.

M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- implement these methods

M src_moz/CurrentPageImpl.cpp

- change native methods to accomodate

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

- minimal test of new content.


git-svn-id: svn://10.0.0.236/trunk@169076 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-10 04:20:50 +00:00
edburns%acm.org
fcb97adedf Preferences.java
- Add javadoc describing the cookie property


git-svn-id: svn://10.0.0.236/trunk@167983 18797224-902f-48f8-a5cc-f745e15eee43
2005-01-19 14:01:24 +00:00
edburns%acm.org
8a9f83057f This checkin has the basic functionality of NewWindowListener
re-implemented using the new event model.  It's a bit cleaner.

Next step is to uncomment the selection check at the end of
WindowCreatorTest.java.  This code currently causes the VM to crash.  I
also plan to do some testing on the chrome flags.

M classes_spec/org/mozilla/webclient/EventRegistration2.java

- deprecate {add,remove}NewWindowListener(), replace with
  setNewWindowListener().

M classes_spec/org/mozilla/webclient/NewWindowEvent.java

- added BrowserControl property, which the user sets into the event.

M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- change newWindowListeners List ivar to newWindowListener ivar.

- fix {add,remove}NewWindowListener() to leverage setNewWindowListener()

- change nativeEventOccurred() to return an int instead of void.

- add boolean property nativeSetNewWindowListenerAttached()

M classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java

- modify pushBlockingWCRunnable() to execute the runnable right away if
  we're already on the NativeEventThread.  This is necessary to allow
  re-entrancy.

M src_moz/EmbedEventListener.cpp
M src_moz/EmbedEventListener.h

- expose the mEventRegistration ivar via a getter.

M src_moz/EventRegistrationImpl.cpp
M src_moz/NativeBrowserControl.cpp
M src_moz/NativeBrowserControl.h

- add nativeSetNewWindowListenerAttached(), which calls through and sets
  it on the NativeBrowserControl.

M src_moz/WindowCreator.cpp

- implement CreateChromeWindow2, which is called when the browser needs
  a new window.

M src_share/jni_util.cpp
M src_share/jni_util.h

- change util_SendEventToJava() to return int.

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


git-svn-id: svn://10.0.0.236/trunk@167943 18797224-902f-48f8-a5cc-f745e15eee43
2005-01-18 15:20:52 +00:00
edburns%acm.org
0176a48d48 This checkin provides a sketch of how I plan to re-implement the
NewWindowListener mechanism.  Next step will be to continue to try to
get it working.

A test/automated/src/classes/org/mozilla/webclient/WindowCreatorTest.java
A test/automated/src/test/WindowCreatorTest0.html
A test/automated/src/test/WindowCreatorTest1.html

- new test, currently fails.

M build-tests.xml

- add new test, non-running

M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- prep for NewWindowListener

M src_moz/WindowCreator.cpp

- sketch implementation plan.  In WindowCreator.CreateChromeWindow2:

+        /*
+          Block this thread.
+
+          Call back into java and ask the user to create a top level
+          window and hand it, or an added child of it, to us.  Call this
+          thing the userWindow.
+
+          Create a new BrowserControl, get its BrowserControlCanvas and
+          make it be a child of the userWindow.
+
+          Set the userWindow and the BrowserControlCanvas to visible ==
+          true.  This is necessary to get the cause the underlying
+          mozilla window to be created.
+
+          java returns the C++ nativeBrowserControl to us.  Cast it to a
+          native NativeBrowserControl C++ object instance.  If the
+          nsIURI is non-null, cause the new window to navigate to that
+          URI.  Return the NativeBrowserControl's EmbedWindow instance,
+          which is an impl of nsIWebBrowserChrome.
+
+          I'm not sure if it's safe to do all this on the same thread on
+          which mozilla calls us.  I hope so.
+        */


git-svn-id: svn://10.0.0.236/trunk@167522 18797224-902f-48f8-a5cc-f745e15eee43
2005-01-11 07:02:12 +00:00
edburns%acm.org
0f327ddba2 This correctly implements the keyListener logic. I had the mapping
between mozilla concepts and java concepts wrong before.  The correct
mapping is:

Mozilla concept       Java concept

KeyDown               keyPressed
KeyUp                 keyReleased
KeyPress              keyTyped

KeyCode               keyCode
CharCode              keyChar

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- Force the keyCode to be VK_UNDEFINED if this is a KEY_TYPED event.

- For security, log any exceptions thrown during ctor of KeyEvent.

M webclient/src_moz/EmbedEventListener.cpp

- remove unused automatic vars.

M webclient/src_moz/NavigationImpl.cpp

- roll back change done by Brian Ryner, since it doesn't make sense
  under mozilla 1.7.

M webclient/src_share/jni_util.cpp

- reverse mapping of CHAR_CODE and KEY_CODE to their java counterparts.

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

- Add in some code to make it easier to run this testcase in a manual
  fashion.


git-svn-id: svn://10.0.0.236/trunk@166056 18797224-902f-48f8-a5cc-f745e15eee43
2004-12-01 15:46:23 +00:00
edburns%acm.org
90fb2a4018 This checkin enables the KeyListener feature.
A webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
A webclient/test/automated/src/test/KeyListenerTest1.html
M webclient/build-tests.xml

- add new testcase

M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/EventRegistration2.java

- allow KeyListeners to be added and removed.

M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- Lazily create listener lists.

- Change the contract of queueEvent() to discard null events silently.

- Add createKeyEvent() method.

M webclient/src_moz/EmbedEventListener.cpp

- new mask names and values, DOMDOMKeyListener_maskNames,
  DOMKeyListener_maskValues.

- flesh out Key*() events.

- add addKeyEventDataToProperties.

- use eventType to discern how to populate the properties, with either key or
  mouse data.

M webclient/src_moz/EmbedEventListener.h

- key event includes and support methods.

M webclient/src_moz/EmbedProgress.cpp

- honor new last argument to util_InitializeEventMaskValuesFromClass().

M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h

- new constants

+jobject CHAR_CODE;
+jobject KEY_CODE;
+jstring KEY_LISTENER_CLASSNAME;
+char *DOMKeyListener_maskNames[] = {

M webclient/src_share/jni_util_export.cpp
M webclient/src_share/jni_util_export.h

- new last argument to

 util_InitializeEventMaskValuesFromClass(const char *className,
                                         char *maskNames[],
-                                        jlong maskValues[])
+                                        jlong maskValuesLong[],
+                                        jint maskValuesInt[])

  Used when the maskValues are ints, otherwise null.


git-svn-id: svn://10.0.0.236/trunk@166003 18797224-902f-48f8-a5cc-f745e15eee43
2004-12-01 03:21:23 +00:00