238 Commits

Author SHA1 Message Date
edburns%acm.org
1a89ffedc8 M README
- Include debug options

M webclient/build.xml
A webclient/default-profile-dir-contents.jar

- Include a sample profile dir into the webclient jar

M webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java
M webclient/classes_spec/org/mozilla/webclient/impl/WebclientFactoryImpl.java

- add setProfileDir()

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

- add methods for allowing the setting of profile directories.

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

- cook up a profile directory based on the bin directory if the user hasn't provided one.

M webclient/src_moz/ProfileManagerImpl.cpp

- Make sure NSS is initialized by giving the system a ProfD and getting the
  psm service via contract id.

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

- Make sure the darn thing is visible


git-svn-id: svn://10.0.0.236/trunk@253371 18797224-902f-48f8-a5cc-f745e15eee43
2008-08-04 20:51:22 +00:00
reed%reedloden.com
7084f5425b Bug 403221 - "Fix typo: |explaination| -> |explanation|" [p=sgautherie.bz@free.fr (Serge Gautherie)]
git-svn-id: svn://10.0.0.236/trunk@239279 18797224-902f-48f8-a5cc-f745e15eee43
2007-11-13 06:51:37 +00:00
jwalden%mit.edu
3cb05eec64 Bug 348748 - Remove casts from java/. r=bsmedberg on the script, a=NPOTB+no-functionality-change
git-svn-id: svn://10.0.0.236/trunk@233910 18797224-902f-48f8-a5cc-f745e15eee43
2007-09-05 07:25:16 +00:00
edburns%acm.org
758d4ea279 handle_exception_when_running_runnable
git-svn-id: svn://10.0.0.236/trunk@228536 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-21 20:47:05 +00:00
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
5d50181148 M dist/netbeans/build.xml
- 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.


git-svn-id: svn://10.0.0.236/trunk@227854 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-12 13:06: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
1a4b053157 no_return_from_non_void_method
git-svn-id: svn://10.0.0.236/trunk@227836 18797224-902f-48f8-a5cc-f745e15eee43
2007-06-12 00:55:05 +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
28489879a0 M build.properties.sample
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


git-svn-id: svn://10.0.0.236/trunk@226938 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-24 04:16:59 +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
38237424b7 M dist/build.xml
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.


git-svn-id: svn://10.0.0.236/trunk@221608 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-09 14:17:04 +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
ae1fa3cfb2 M dom/jni/javaDOMEventsGlobals.cpp\
- fix bug where eventType was incorrectly getting accessed as a const char *

M webclient/src_moz/AjaxListener.cpp

- Create a Java DOM instance from the Ajax response.

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

- Resurrect the DOMViewer.  Make it show the tree for ajax responses.


git-svn-id: svn://10.0.0.236/trunk@221545 18797224-902f-48f8-a5cc-f745e15eee43
2007-03-08 15:14:22 +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
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
6a43b0c2f6 Issue: 369376
Use the nsIClipboardDragDropHooks mechanism to manually copy over data
from the nsITransferable to java, so that java can manualy fabricate a
Transferable instance and put it on the clipboard.

M src_moz/CurrentPageImpl.cpp

- Pass the java instance to EmbedWindow::CopySelection().

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

- Modify CopySelection to take the java object instance

- Make this implement nsIClipboardDragDropHooks.  Use the
  nsICommandManager to get informed of the copy event.

- Implement ::OnCopyOrDrag() to copy the data from the nsITransferable
  over to Java.

M src_moz/Makefile.in

- declare dependency on commandhandler


git-svn-id: svn://10.0.0.236/trunk@220060 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-13 17:15:43 +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
e72cf3994c M dom/build.xml
M dom/jni/Makefile.in
M dom/jni/javaDOMGlobals.cpp
M dom/src/Makefile.in
M webclient/build-tests.xml
M webclient/build.xml
M webclient/src_ie/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_moz/gtk/Makefile.in
M webclient/src_moz/motif/gtkmozilla.h
M webclient/src_share/Makefile.in

- Enable building with an objdir.  Much more civilized.  Thanks very
  much to Bradley Smedberg.


git-svn-id: svn://10.0.0.236/trunk@219157 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-30 01:51:54 +00:00
edburns%acm.org
b1054b5e5f This checkin gets webclient and sorta running with Firefox 1.5.0.1
Next step is to fix this:

D:\Projects\mozilla\MOZILLA_NIH\FIREFOX_1_5_0_1\mozilla\java\webclient\build-tests.xml:152: Test org.mozilla.webclient.DocumentLoadListenerTest failed

M build.properties.sample

- Add hint for msdev arguments.

M dom/build.xml
M util/build.xml
M webclient/build.xml

- compile.source to 1.3

M dom/jni/Makefile.in
M webclient/src_ie/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_moz/gtk/Makefile.in
M webclient/src_share/Makefile.in

- +DEFINES += -DMOZILLA_INTERNAL_API

M dom/jni/nativeDOMProxyListener.cpp
M dom/src/nsJavaDOMImpl.cpp

- remove cast to (void **) in AttachCurrentThread

M dom/src/Makefile.in

- depend on layout

- +DEFINES += -DMOZILLA_INTERNAL_API

M webclient/build-tests.xml

- comment out ProfileManagerTest

- compile with compile.source

M webclient/src_moz/NativeBrowserControl.cpp

- nsIFocusController,nsIChromeEventHandler,nsIDomWindowInternal no
  longer needs nsCOMPtr

M webclient/src_moz/NativeEventThread.cpp

- remove IID defs for webShell, sHistory.

M webclient/src_moz/NavigationActionEvents.cpp

- remove nsIPresContext include

M webclient/src_moz/NavigationImpl.cpp

-#include "nsIServiceManagerUtils.h" // PENDING(edburns): when moving
-                                    // past 1.7, this changes to
-                                    // nsServiceManagerUtils.h
+#include "nsServiceManagerUtils.h"

M webclient/src_moz/ProfileManagerImpl.cpp

- This is currently totally broken.  Next step is to fix it.

M webclient/src_moz/WrapperFactoryImpl.cpp

- comment out profileManager accesses

M webclient/src_moz/ns_globals.h
M webclient/src_moz/ns_util.h

- take out nsIWebShell

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

- comment out goldenFile assertion until ProfileManager works.


git-svn-id: svn://10.0.0.236/trunk@191790 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-05 03:53:26 +00:00
cbiesinger%web.de
4b0b228457 bug 183156 remove *UCS2* functions, replacing them with *UTF16* ones
r+sr=darin


git-svn-id: svn://10.0.0.236/trunk@188845 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-03 14:32:22 +00:00
edburns%acm.org
42555bbd2b update
git-svn-id: svn://10.0.0.236/trunk@185559 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-02 03:19:22 +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
bzbarsky%mit.edu
6b2d4870c3 More uses of EmptyC?String(). Bug 232691, patch by Charles Fenwick
<clf03f@garnet.acns.fsu.edu>, r+sr=bzbarsky, a=bsmedberg


git-svn-id: svn://10.0.0.236/trunk@176154 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-15 21:41:47 +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
0a89a34a27 Remove debugging printfs.
Have browser window visible, but no content pane.


git-svn-id: svn://10.0.0.236/trunk@173508 18797224-902f-48f8-a5cc-f745e15eee43
2005-05-17 13:12:45 +00:00
edburns%acm.org
79fb88819e cocoa-seems-to-work
git-svn-id: svn://10.0.0.236/trunk@173503 18797224-902f-48f8-a5cc-f745e15eee43
2005-05-17 04:38:38 +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
7cd6437c44 This checkin enables CurrentPage.getSource() to return the actual source
bytes, including whitespace, that is being shown in the BrowserControl.
The source actually comes from the browser's cache, and is not
re-fetched over the network unless the browser doesn't have an entry in
the cache.

Next step is to fix up the TestBrowser to show off this feature.

A src_moz/LoadCompleteProgressListener.cpp
A src_moz/LoadCompleteProgressListener.h

 * Simple nsIWebProgressListener that offers a "loadComplete" property
 * that can be queried to determine if the load has completed.

A test/manual/src/classes/org/mozilla/webclient/test/DOMAccessPanel.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMCellRenderer.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeDumper.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeModel.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeNotifier.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMViewerFrame.java

- move over from Old test browser.  Produces some thread issues.

M src_moz/CurrentPageImpl.cpp

- Leverage LoadCompleteProgressListener to discover when it's safe to
  call "selectAll" on the window.

M src_moz/Makefile.in

- add LoadCompleteProgressListener

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

- re-enable GetSource test

M test/automated/src/test/ViewSourceTest.html

- re-edit for ease of comparison in CurrentPageTest

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

- Hack: viewSource button.  A menu would be better.


git-svn-id: svn://10.0.0.236/trunk@172378 18797224-902f-48f8-a5cc-f745e15eee43
2005-04-17 20:19:46 +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
9b782a05a8 This checkin enables obtaining an InputStream to read the POST body from
a request on the END_URL_LOAD event.  Please see
<http://lxr.mozilla.org/mozilla/source/java/webclient/test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerTest.java#138>
for an example.

Next step is to clean up the javadocs.

A webclient/test/automated/src/test/DocumentLoadListenerTest0.html
M webclient/src_moz/EmbedProgress.cpp
M webclient/test/automated/src/classes/org/mozilla/util/THTTPD.java
M webclient/test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerTest.java


git-svn-id: svn://10.0.0.236/trunk@170610 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-13 17:56:16 +00:00
edburns%acm.org
73ac2e27c7 Checkpoint. Still waiting for advice on how to get POST inspection working.
M src_moz/EmbedProgress.cpp

- remove PageInfoListener meta-data from END_DOCUMENT_LOAD.  Didn't
  belong there.

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

- print out the request method and response code.


git-svn-id: svn://10.0.0.236/trunk@170053 18797224-902f-48f8-a5cc-f745e15eee43
2005-03-01 20:39:23 +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
5c2c798ae4 This checkin re-implements the basic find functionality. Next step is
to provide a way to return result of the find, by defining methods on
the CurrentPage2 interface.

A test/automated/src/test/FindTest0.html

- fodder for find

M src_moz/CurrentPageImpl.cpp

- copy content from CurrentPageActionEvents

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

- basic test.  Needs more robustness.


git-svn-id: svn://10.0.0.236/trunk@168903 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-07 06:21:35 +00:00
edburns%acm.org
0d848a00f8 This checkin re-implements GetCurrentURL(). Next step is to implement
find in page.

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


git-svn-id: svn://10.0.0.236/trunk@168901 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-07 05:16:22 +00:00
edburns%acm.org
0327496b81 This checkin re-enables
CurrentPage.copyCurrentSelectionToSystemClipboard() and provides a unit
test for it.

Next step is getCurrentURL.

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

- new test suite for CurrentPage.  Currently only has
  testCopyCurrentSelectionToSystemClipboard().

M build-tests.xml

- add CurrentPage TestSuite with one test.

M src_moz/CurrentPageImpl.cpp

- re-implement nativeCopyCurrentSelectionToSystemClipboard()


git-svn-id: svn://10.0.0.236/trunk@168900 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-07 04:59:50 +00:00
edburns%acm.org
cb731271d4 This checkin re-enables currentPage.getDOM(). Please see
<http://lxr.mozilla.org/mozilla/source/java/webclient/test/automated/src/classes/org/mozilla/webclient/DOMTest.java>
for a trivial usage example.

Next step is to continue to flesh out CurrentPage methods.

Ed

A test/automated/src/classes/org/mozilla/webclient/DOMTest.java

- show basic DOM functionality

M build-tests.xml

- Add new DOM test

M src_moz/CurrentPageImpl.cpp

- re-expose DOM functionality

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

- Add an ID to the anchor so we can do getElementById() on it.


git-svn-id: svn://10.0.0.236/trunk@168790 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-04 15:43:47 +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
bryner%brianryner.com
e1daca3ce3 Reduce do_GetService code bloat further by adding specialized assignment to nsCOMPtr and providing a version with no error pointer. Also make CallGetService work the same way as CallGetComponent does, as far as using frozen/non-frozen interface to service manager. Bug 264456, r=darin.
git-svn-id: svn://10.0.0.236/trunk@165757 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-24 22:48:45 +00:00
edburns%acm.org
cedb5aa9fa This check-in fixes a long standing problem of not being able to use any
keyboard controls on the embedded browser.  Next step is to re-activate
the keyboard listener features.

M webclient/src_moz/EmbedProgress.cpp

- call TopLevelFocusIn to make sure we get the input focus

M webclient/src_moz/NativeBrowserControl.cpp
M webclient/src_moz/NativeBrowserControl.h

- copy TopLevelFocus{In,Out}() from EmbedPrivate.


git-svn-id: svn://10.0.0.236/trunk@165083 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-07 15:29:10 +00:00
edburns%acm.org
9c96164a95 This change-bundle fixes the long standing problem where you couldn't
run webclient at the same time mozilla was running.  It does this by
introducing a new startup command, which must be called before the first
call to BrowserControlFactory.setAppData(), like this:

	BrowserControlFactory.setProfile(startupProfile);
	BrowserControlFactory.setAppData(getBrowserBinDir());

This will cause the startupProfile to be created (if necessary) and used
as webclient's mozilla profile.  If not specified, a "webclient" profile
is created and used.  This profile sticks around on your system.

SECTION: CHANGES

M classes_spec/org/mozilla/webclient/BrowserControlFactory.java
M classes_spec/org/mozilla/webclient/WebclientFactory.java
M classes_spec/org/mozilla/webclient/impl/WebclientFactoryImpl.java

- add setProfile().

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

- add setProfile() and getProfile().

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

- pass the wrapperFactory's profile property to the nativeStartup().

M src_moz/ProfileManagerImpl.cpp

- logic to implement above changes

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

- test that the startupProfile feature works.


git-svn-id: svn://10.0.0.236/trunk@164983 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-05 06:40:27 +00:00