Commit Graph

664 Commits

Author SHA1 Message Date
idk%eng.sun.com
41fe7095a7 * not part of the build*
Fixed 71951, 74511, 74525
2001-04-03 11:57:15 +00:00
edburns%acm.org
8552e9de94 We need to have this file to unjar the dom jar into dist/classes. 2001-04-03 02:03:07 +00:00
edburns%acm.org
b954c66d69 Use getEventDetail to tell if the mouse button was pressed. 2001-04-03 01:37:28 +00:00
edburns%acm.org
ccb7bde876 When bug 74468 gets fixed, -1 will be returned from getButton(). 2001-04-03 00:42:47 +00:00
edburns%acm.org
142c8147b1 Don't try to free an automatic variable. 2001-04-02 23:27:44 +00:00
edburns%acm.org
0e44edc9ef // replace nsString::Recycle with nsMemory::Free
java/dom/jni/org_mozilla_dom_events_MouseEventImpl.cpp
java/dom/jni/org_mozilla_dom_events_UIEventImpl.cpp
java/dom/jni/org_mozilla_dom_events_EventImpl.cpp
java/dom/jni/org_mozilla_dom_ProcessingInstructionImpl.cpp
java/dom/jni/org_mozilla_dom_NodeImpl.cpp
java/dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp
java/dom/jni/org_mozilla_dom_ElementImpl.cpp
java/dom/jni/org_mozilla_dom_DOMImplementationImpl.cpp
java/dom/jni/org_mozilla_dom_DocumentImpl.cpp
java/dom/jni/org_mozilla_dom_CharacterDataImpl.cpp
java/dom/jni/org_mozilla_dom_AttrImpl.cpp
java/dom/jni/javaDOMEventsGlobals.cpp

// On*DocumentLoad() now takes an nsIRequest instead of an nsIChannel.
// nsIChannel extends nsIRequest.
java/dom/src/nsJavaDOMImpl.cpp
java/dom/src/nsJavaDOMImpl.h
java/dom/src/nsIJavaDOM.h

// nsIChannel instances replaced with nsIRequest. Removed ShowModal(),
// ExitModalLoop(), FindNamedBrowserItem().  Parameter changes for
// {Set,Get}Persistence().  Add DestroyBrowserWindow(), IsWindowModal().
// supports weak references
java/webclient/src_moz/CBrowserContainer.h
java/webclient/src_moz/CBrowserContainer.cpp

// GetProfileList now returns an array of profile names.  Need to use
// nsIProfileInternal instead of nsIProfile for StartupWithArgs.
java/webclient/src_moz/NativeEventThread.cpp

// Remove -lxpfelocation_s
java/webclient/src_moz/Makefile.in

// Don't include appfilelocprovider_s
java/webclient/src_moz/Makefile.win

// Don't assert thread safe, cause we are thread safe
java/webclient/src_moz/InputStreamShim.cpp
2001-04-02 22:48:33 +00:00
ashuk%eng.sun.com
49ccb36ceb Merging JAVADEV_RTM_20001102 into Trunk
_Ashu
2001-04-02 21:18:06 +00:00
idk%eng.sun.com
a3ea814248 *not part of regular build*
Follow up on 67699
Fixed build problem
2001-03-20 05:30:16 +00:00
idk%eng.sun.com
de67b301d4 *not part of tbox builds*
fixed build problem on windows
2001-03-12 19:01:19 +00:00
idk%eng.sun.com
dfa143df82 (not part of TBOX builds)
Fix for 69234
2001-02-21 09:09:55 +00:00
valeski%netscape.com
9d8468af0e r=ccarlen, sr=rpotts. 65925. making webprogress listeners support weak ref 2001-01-31 21:04:10 +00:00
sdv%sparc.spb.su
a123ac2aca initial checking. 2001-01-31 19:05:04 +00:00
sdv%sparc.spb.su
4a6f9e79ad fix for bug 65506
a=jonsmirl@mediaone.net
r=sdv@sparc.spb.su
2001-01-18 22:55:48 +00:00
sdv%sparc.spb.su
ee984d7adb fix for bug 65499
a=jonsmirl@mediaone.net
r=sdv@sparc.spb.su
2001-01-18 22:36:55 +00:00
edburns%acm.org
31cf91aa4e Test cases. 2001-01-08 23:24:11 +00:00
edburns%acm.org
32ffa52599 Test cases 2001-01-08 23:19:07 +00:00
edburns%acm.org
19a2eb2152 Automated test cases. 2001-01-08 21:27:40 +00:00
idk%eng.sun.com
7af9b89edf *not part of tbox builds*
Addon to previous checkin (fix for 63582)
2000-12-22 07:30:14 +00:00
idk%eng.sun.com
5a104acd3e *not part of tbox builds*
fix for 63586
2000-12-22 07:28:26 +00:00
sdv%sparc.spb.su
560743d2e9 fix for bug 56576 2000-12-21 20:30:39 +00:00
idk%eng.sun.com
9a3ecd1b75 *not part of tbox builds*
Added shortcuts implementation (we would not wrap wrappers any more)

XPCOM object get called at the same thread the stub was created.
2000-12-21 06:52:52 +00:00
idk%eng.sun.com
a3d111919a *not part of tbox builds*
addon to previous check in
2000-12-21 01:36:22 +00:00
idk%eng.sun.com
0ec50a33d4 * not part of tbox builds*
Fixed 57779, 58191
2000-12-21 01:34:53 +00:00
idk%eng.sun.com
56b38d5792 *not part of tbox builds*
fix for 57788, 57787
2000-12-13 09:09:46 +00:00
idk%eng.sun.com
9b1a32a34f *not part of tbox builds*
fix for 57672
2000-12-13 03:51:08 +00:00
idk%eng.sun.com
5f8a5eaecf * not part of tbox build *
Updated for tip of Netscape_20000922_BRANCH
Updated for Solaris
2000-11-14 09:04:38 +00:00
edburns%acm.org
e6a5d40f61 bug: 55004
r=ashuk
a=edburns

This fix makes it so bookmarks work with the tip of the branch as of 11/01/00.

This fix removes the necessity to modify xpcom/base/nsDebug.cpp to
remove the thread safety assertions.

This fix primarily does two things:

1. Make nsActionEvents for all bookmarks/rdf actions

2. Remove the synchronized(this.browserControlCanvas.getTreeLock()) call
around nativeProcessEvents() in NativeEventThread.run().

Files in this fix:

M classes_spec/org/mozilla/webclient/test/EMWindow.java
M classes_spec/org/mozilla/webclient/wrapper_native/BookmarkEntryImpl.java
M classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java
M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
M classes_spec/org/mozilla/webclient/wrapper_native/RDFEnumeration.java
M classes_spec/org/mozilla/webclient/wrapper_native/RDFTreeNode.java
M src_moz/BookmarksImpl.cpp
M src_moz/RDFEnumeration.cpp
M src_moz/RDFTreeNode.cpp
M src_moz/nsActions.cpp
M src_moz/nsActions.h
M src_moz/motif/NativeLoaderStub.cpp
2000-11-03 03:16:55 +00:00
ashuk%eng.sun.com
02d94b0488 author=ashuk
Bug=57725,49126
r=a=edburns
2000-11-03 01:30:54 +00:00
ashuk%eng.sun.com
648aaf1fc4 author=ashuk
r=a=edburns
Bug=58791
2000-11-03 01:28:27 +00:00
ashuk%eng.sun.com
b989162d80 author=ashuk
Bug=50282,44330,53397
r=a=edburns
2000-11-03 01:27:47 +00:00
ashuk%eng.sun.com
f2af9ed233 author=ashuk
Bug=58526
r=a=edburns
2000-11-03 01:25:31 +00:00
edburns%acm.org
fff58403f6 Merged branch JAVADEV_PR3_20001002 into trunk. 2000-11-02 23:33:21 +00:00
idk%eng.sun.com
27b158ad87 *not part of tbox build*
fix for 56954
2000-10-17 08:28:15 +00:00
idk%eng.sun.com
f4867dde40 * not part of tbox build *
fix for 56841
2000-10-16 19:24:51 +00:00
idk%eng.sun.com
e1e38aa963 * not part of tbox build *
fix for 56705
2000-10-15 11:11:11 +00:00
sdv%sparc.spb.su
a46454812d * NOT PART OF TBOX BUILD *
use HashSet instead of Hashtable for storing java
keywords.
2000-10-11 21:06:21 +00:00
sdv%sparc.spb.su
98f5d52c7a * NOT PART OF TBOX BUILD *
improved interface registration algorithm
2000-10-11 20:35:12 +00:00
sdv%sparc.spb.su
d6ae9c7563 * NOT PART OF TBOX BUILD *
r=idk@eng.sun.com
 - generate compilable java interfaces when identifiers
   in idls coincide with java keywords
 - correctly deal with methods which names in idls
   coincide with  some Object class methods
2000-10-10 19:41:27 +00:00
sdv%sparc.spb.su
53256f676b * NOT PART OF TBOX BUILD *
fixes crash when calling a method without return value
2000-10-08 12:29:59 +00:00
sdv%sparc.spb.su
c05af8868f * NOT PART OF TBOX BUILD *
fix for bug=55353
2000-10-06 15:04:05 +00:00
sdv%sparc.spb.su
894e28a0b6 * NOT PART OF TBOX BUILD *
fix for bug=55480
2000-10-06 14:17:53 +00:00
idk%eng.sun.com
3d29c23fa5 * NOT PART OF TBOX BUILD *
java uses general syntax for return values.
   (idl: void test0([retval] out long l); will be
    java: long test0(); intead of
    java   void test0(long[] l);
   )
author=sdv@sparc.spb.su
2000-10-06 08:19:53 +00:00
sdv%sparc.spb.su
afe963afca part of xipidl compiler to generate java interfaces 2000-10-05 14:54:47 +00:00
ashuk%eng.sun.com
a70701e23f author=ashuk
r=a=edburns
Bug=54129

changes for Solaris commercial build

_Ashu
2000-10-03 01:59:31 +00:00
ashuk%eng.sun.com
c969e67141 author=ashuk
Bug=54129

W3C dom2.jar file containing JavaDOM interfaces needed for
building Blackwood components
2000-10-03 01:39:41 +00:00
ashuk%eng.sun.com
8e95e870d1 author=ashuk
Bug=54129

Run Script for commercial build
2000-10-03 01:20:56 +00:00
edburns%acm.org
d827f690a6 bug=52883
author=ashuk
r,a=edburns

Make webclient work with the tip.
2000-09-28 21:37:25 +00:00
idk%eng.sun.com
cbca27c327 * NOT PART OF TBOX BUILD *
Fixed 54348
2000-09-28 11:27:41 +00:00
idk%eng.sun.com
aad3ec7eaa * NOT PART OF TBOX BUILDS *
Fixed bug with attributes handling.
Reported by Arthur Barrett
2000-09-26 08:46:42 +00:00
idk%eng.sun.com
0d9bfd924a * NOT PART OF TBOX BUILDS *
Updated Pluglets to tip of the tree and latest jdk1.3 on solaris
Fixed 40615
2000-09-26 06:53:53 +00:00
edburns%acm.org
b008d75e83 bug=47878
r=edburns
a=edburns
author=rmv@sparc.spb.su
2000-09-22 00:06:21 +00:00
edburns%acm.org
e2ea5ace19 These changes make it so webclient compiles with the tip as of 20
September 2000.  It will run, but without bookmarks.

The changes consist of the following kinds of changes:

Changes to method signatures for methods implemented by webclient.

Changes to string functions.

Changes to account for the demise of PROGIDS in favor of ContractIDs

Modified files:

M classes_spec/org/mozilla/webclient/test/EMWindow.java
M src_moz/CBrowserContainer.cpp
M src_moz/CurrentPageImpl.cpp
M src_moz/Makefile.win
M src_moz/NativeEventThread.cpp
M src_moz/RDFEnumeration.cpp
M src_moz/RDFTreeNode.cpp
M src_moz/ns_util_export.cpp
M src_moz/rdf_util.cpp
2000-09-20 21:53:05 +00:00
edburns%acm.org
c724c47c60 This bug is about JavaDOM building on the tip. These changes make it so
you can build JavaDOM with the tip as of 20 Sept 2000.

M dom/jni/javaDOMGlobals.h

  changed nsString2 to nsString

M dom/jni/org_mozilla_dom_NodeImpl.cpp

  nsIDOMNode::Supports is now nsIDOMNode::IsSupported().
2000-09-20 21:47:42 +00:00
edburns%acm.org
94393318f6 Changed to bring up to the tip.
bug=32162
a=brendan
r=leaf
2000-09-20 21:38:33 +00:00
idk%eng.sun.com
76df12a895 * NOT PART OF TBOX BUILDS *
Fixed bug with [out] parametrs in java.
Improved component registration.
Added test for accessing ComponentManager from java
2000-09-20 01:32:12 +00:00
edburns%acm.org
e40e751078 Jason found a bug left over from the manual diff. 2000-09-19 20:34:18 +00:00
idk%eng.sun.com
b90789453f * NOT PART OF TBOX BUILDS *
Fixed bug with sending NULL pointer to object
2000-09-19 06:47:06 +00:00
edburns%acm.org
cc61d0fae1 This fix was contributed by
*      Jason Mawdsley <jason@macadamian.com>
 *      Louis-Philippe Gagnon <louisphilippe@macadamian.com>

It enables webclient to be built and run under JDK1.1.x.  Note that JavaDOM
does not work under jdk1.1.x.

The fix consists of two elements:

On the Java side, replace all JDK1.2 specific calls with JDK1.1.x
equivalents.  On the native side use pre-processer macro for
JNI_VERSION, like this:

#ifdef JNI_VERSION_1_2

#ifndef JNI_VERSION
#define JNI_VERSION JNI_VERSION_1_2
#endif

#else

#ifndef JNI_VERSION_1_1
#define JNI_VERSION_1_1 0x00010001
#endif

#ifndef JNI_VERSION
#define JNI_VERSION JNI_VERSION_1_1
#endif

#endif // END: JNI_VERSION_1_2

This fix has been tested on win32, solaris, and linux.

The following files are in this fix:

M webclient/classes_spec/org/mozilla/webclient/test/DOMTreeModel.java
M webclient/classes_spec/org/mozilla/webclient/test/DOMViewerFrame.java
M webclient/classes_spec/org/mozilla/webclient/test/EMWindow.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
M webclient/src_moz/CBrowserContainer.cpp
M webclient/src_moz/nsActions.cpp
M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h
M webclient/src_share/jni_util_export.cpp
2000-09-19 00:18:18 +00:00
idk%eng.sun.com
6fc908c5a2 * NOT PART OF TBOX BUILDS *
InterfaceRegistry.registerInterface became public.
2000-09-18 11:01:28 +00:00
idk%eng.sun.com
ddc6257b56 * NOT PART OF TBOX BUILDS *
Changed ProgID usage to ContractID usage
2000-09-18 10:07:00 +00:00
idk%eng.sun.com
d780c1dc2a Improved interface registration mechanism.
Author = sdv@sparc.spb.su
r = idk@eng.sun.com
2000-09-17 00:49:42 +00:00
ashuk%eng.sun.com
f74b181201 author=jason@macadamian.com and louis-philippe@macadamian.com
r=a=edburns
Bug=52183
2000-09-15 00:18:53 +00:00
ashuk%eng.sun.com
9a6deec209 author = louis-philippe@macadamian.com and jason@macadamian.com
r = a = edburns
Bug = 52183
2000-09-15 00:15:01 +00:00
edburns%acm.org
dd8cbedbee Added
import org.mozilla.webclient.UnimplementedException;

Fix build bustage.
2000-09-14 22:00:20 +00:00
ashuk%eng.sun.com
8bc06b07fe author = ashuk
r = a = edburns
Bug = 46068

_Ashu
2000-09-12 20:44:47 +00:00
ashuk%eng.sun.com
4c17f15925 author = ashuk
r = a = edburns
Bug = 51280
2000-09-12 16:44:32 +00:00
ashuk%eng.sun.com
9c6211f1e3 author = ashuk
r = a = edburns
Bug = 48356, 51326
2000-09-12 16:33:45 +00:00
idk%eng.sun.com
2fd76f7971 * NOT PART OF TBOX BUILDS *
Fixed build problems on win32
2000-09-12 10:10:20 +00:00
idk%eng.sun.com
8ec09a530a ** NOT PART OF TBOX BUILDS **
BlackConnect M2 check in.
It should be possible to implement any scriptable interface in java.
Also it should be possible to use any scriptable object from java.
Fixed: 15498, 15500
2000-09-12 08:54:13 +00:00
edburns%acm.org
45a89896a2 Add lib directory to -L line. 2000-08-24 23:03:34 +00:00
ashuk%eng.sun.com
9fe88bca6a Bug = 48356
author = ashuk
r = a = edburns

Added checks to make sure that DocShell is valid and that
calls to getInterface(nsIDOMWindow) return a valid object.
2000-08-23 00:03:49 +00:00
edburns%acm.org
3ec9c393fb bug=49293
r=gbarney
a=edburns

M classes_spec/org/mozilla/webclient/test/EMWindow.java
A src_ie/CMyDialog.cpp
A src_ie/CMyDialog.h
M src_ie/CurrentPageImpl.cpp
M src_ie/HistoryImpl.cpp
M src_ie/Makefile.win
M src_ie/NativeEventThread.cpp
M src_ie/WindowControlImpl.cpp
M src_ie/WrapperFactoryImpl.cpp
M src_ie/ie_util.cpp
M src_ie/ie_util.h

cvs diff -u classes_spec/org/mozilla/webclient/test/EMWindow.java src_ie/CMyDialog.cpp src_ie/CMyDialog.h src_ie/CurrentPageImpl.cpp src_ie/HistoryImpl.cpp src_ie/Makefile.win src_ie/NativeEventThread.cpp src_ie/WindowControlImpl.cpp src_ie/WrapperFactoryImpl.cpp src_ie/ie_util.cpp src_ie/ie_util.h

This change adds listener DocumentLoadListener support to src_ie.

tar -cvf 49293.tar classes_spec/org/mozilla/webclient/test/EMWindow.java src_ie/CMyDialog.cpp src_ie/CMyDialog.h src_ie/CurrentPageImpl.cpp src_ie/HistoryImpl.cpp src_ie/Makefile.win src_ie/NativeEventThread.cpp src_ie/WindowControlImpl.cpp src_ie/WrapperFactoryImpl.cpp src_ie/ie_util.cpp src_ie/ie_util.h
2000-08-17 19:54:43 +00:00
edburns%acm.org
e08ce993c1 r=ashuk
bug=47357
a=edburns
Files in this checkin

M src_moz/CBrowserContainer.cpp
M src_moz/CBrowserContainer.h
M src_moz/ns_util.cpp
M src_moz/ns_util.h
M src_share/jni_util.cpp
M src_share/jni_util.h

cvs diff -u src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

This change moves out listener constants and other support data from
src_moz into src_share to enable it to be used in src_ie.

tar -cvf 47357.tar src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h
2000-08-17 19:52:15 +00:00
edburns%acm.org
1281a8e1be r=ashuk
a=edburns
Files in this checkin

M src_moz/CBrowserContainer.cpp
M src_moz/CBrowserContainer.h
M src_moz/ns_util.cpp
M src_moz/ns_util.h
M src_share/jni_util.cpp
M src_share/jni_util.h

cvs diff -u src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

This change moves out listener constants and other support data from
src_moz into src_share to enable it to be used in src_ie.

tar -cvf 47357.tar src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h
2000-08-17 18:29:18 +00:00
edburns%acm.org
1e20dbb0e0 bug=45127
r=edburns
a=edburns
author=avm@sparc.spb.su

Wrong URL for kRDF_type.
2000-08-15 22:09:05 +00:00
edburns%acm.org
939ba7fc5a Changes to make it build in the BAL case. 2000-08-12 01:22:18 +00:00
edburns%acm.org
3885ac5442 Make it so BAL_INTERFACE=1 compiles on solaris. 2000-08-12 01:08:37 +00:00
edburns%acm.org
be9e74e566 Make it so BAL_INTERFACE=1 compiles on Solaris. 2000-08-12 01:08:04 +00:00
edburns%acm.org
a1f7159ede bug=47357
a=edburns
r=edburns
author=avm

This fix adds a length parameter to the loading of URLs.  It also adds a new util function util_getStringLength().
2000-08-11 21:58:56 +00:00
edburns%acm.org
68e13b0430 Update makefile to pull JNI includes from src_share. 2000-08-11 21:35:29 +00:00
edburns%acm.org
0a19898c15 a=edburns
r=ashuk
bug=47357
M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
M src_moz/CBrowserContainer.cpp
M src_moz/NativeEventThread.cpp
M src_moz/ns_util.cpp
M src_moz/ns_util.h
M src_share/jni_util.cpp
M src_share/jni_util.h

tar -cvf 47357.2.tar classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java src_moz/CBrowserContainer.cpp src_moz/NativeEventThread.cpp src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

cvs diff -u classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java src_moz/CBrowserContainer.cpp src_moz/NativeEventThread.cpp src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

This change modifes what one has to do on the native side to add a
listener.

 * How to create a new listener type on the native side: <P>

 * 1. add an entry in the gSupportedListenerInterfaces array defined in
 * ns_util.cpp <P>

 * 2. add a corresponding entry in the LISTENER_CLASSES enum in
 * ns_util.h <P>

 * 3. add a jstring to the string constant list in
 * CBrowserContainer.cpp, below.

 * 4. Initialize this jstring constant in CBrowserContainer.cpp
 * initStringConstants() <P>

 * 5. add an entry to the switch statement in NativeEventThread.cpp
 * native{add,remove}Listener <P>

You have to clobber_all in webclient after this change.
2000-08-10 21:38:52 +00:00
edburns%acm.org
633eeda090 First checkin of Webclient/IE 2000-08-10 01:33:35 +00:00
edburns%acm.org
496407ed2a Make it so the jni headers are built in src_share. 2000-08-10 01:08:14 +00:00
edburns%acm.org
1fd2c69e7f Make it so the jni headers are built in src_share. 2000-08-10 01:02:57 +00:00
edburns%acm.org
22cf4850d3 bug=48227
author=edburns
a=edburns
r=ashuk

Files in this fix:

M classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java
M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
A classes_spec/org/mozilla/webclient/wrapper_native/WCEventListenerWrapper.java
M src_moz/NativeEventThread.cpp
M src_moz/motif/NativeLoaderStub.cpp

Added class WCEventListenerWrapper:

 * This class allows the custom app to have one instance that implements
 * multiple Webclient event listener types. <P>

 * This is simply a "struct" type class that encapsulates a listener
 * instance with its class name.  This is necessary because the class
 * name is lost when we deal with the listener as a
 * WebclientEventListener, and not a WebclientEventListener subclass. <P>

 * @see org.mozilla.webclient.wrapper_native.NativeEventThread#addListener

Made it so when a java listener is added,

 * We create a WCEventListenerWrapper containing the user passed
 * DocumentLoadListener, and the string obtained from
 * DocumentLoadListener.class.getName();

We then call nativeEventThread.addListener:

 * Takes the abstract WebclientEventListener instance and adds it to a
 * Vector of listeners to be added.  This vector is scanned each time
 * around the event loop in run(). <P>

 * The vector is a vector of WCEventListenerWrapper instances.  In run()
 * these are unpacked and sent to nativeAddListener like this:
 * nativeAddListener(nativeWebShell,tempListener.listener,
 * tempListener.listenerClassName); <P>
2000-08-09 21:47:39 +00:00
sdv%sparc.spb.su
c3071ae3dd fix for bug=47878
NamedNodeMapImpl class should not extend NodeImpl
according to the w3c spec.
2000-08-08 16:43:52 +00:00
edburns%acm.org
d74545338e a=edburns
author=Oleg Khokhlov
r=edburns
bug=47026
2000-08-04 21:46:10 +00:00
ashuk%eng.sun.com
717987adb7 Minor change to get Webclient to compile on Solaris
author=ashuk

cvs diff dom_util.h (in directory D:\M16\mozilla\java\webclient\src_moz\)
Index: dom_util.h
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/src_moz/dom_util.h,v
retrieving revision 1.1
diff -r1.1 dom_util.h
28a29
> #include "nsIDOMDocument.h"

*****CVS exited normally with code 1*****
2000-08-03 22:35:14 +00:00
edburns%acm.org
22af3b9709 bug=47357
a=edburns
r=ashuk

This change creates a new directory, java/webclient/src_share, that
contains the code that will be used in both src_moz and src_ie, and any
other native browser wrapping implementations.

Here are the steps I followed to implement this change.

1. Create a new directory java/webclient/src_share

2. Move all jni_util*.* files from src_moz into src_share

3. Make it so src_share compiles into a new .lib

   src_share has no netscape dependencies.  Any functionality that
   depended on ns dependencies was kept in src_moz.  In this case, we
   have a function prototype only in src_share, with the implementation
   in src_moz.  We did this for nsHashtable.  The other trick was for
   things in WebShellInitContext that had nothing to do with Netscape.
   This case was accomodated by creating a new struct, ShareInitContext,
   that contains all WebShellInitContext members that have nothing to do
   with Netscape.  Currently this is just jobject propertiesClass.  I
   modified the WebShellInitContext struct to contain a ShareContext
   struct as its last member.  There are two new methods in jni_util.h
   that allow for the initialization and deallocation of the members of
   the ShareContext struct.

4. Make it so src_moz uses the new .lib to provide the jni_util behavior

  a. Create ns_util* files that include ../src_share/jni_util* files
  appropriately.

  The only tricky part was for things in jni_util.h that

Here's the list of files in this change.

cvs -z3 -n update (in directory D:\Projects\mozilla\java\webclient)
cvs server: Updating .
M Makefile.win // added src_share to DIRS
M src_moz/BookmarksImpl.cpp             // include ns_util instead of jni_util
M src_moz/CBrowserContainer.cpp         // include ns_util instead of jni_util
M src_moz/CBrowserContainer.h           // include ns_util instead of jni_util
M src_moz/CurrentPageImpl.cpp           // include ns_util instead of jni_util
M src_moz/HistoryImpl.cpp               // include ns_util instead of jni_util
M src_moz/Makefile.win                  // include ns_util instead of jni_util
M src_moz/NativeEventThread.cpp         // include ns_util instead of jni_util
M src_moz/NavigationImpl.cpp            // include ns_util instead of jni_util
M src_moz/RDFEnumeration.cpp            // include ns_util instead of jni_util
M src_moz/RDFTreeNode.cpp               // include ns_util instead of jni_util
M src_moz/WindowControlImpl.cpp         // include ns_util instead of jni_util
                                        // also use new util_InitShareContext
                                        // function
M src_moz/WrapperFactoryImpl.cpp        // include ns_util instead of jni_util
R src_moz/jni_util.cpp                  // moved to ../src_share
R src_moz/jni_util.h                    // moved to ../src_share
R src_moz/jni_util_export.cpp           // moved to ../src_share
R src_moz/jni_util_export.h             // moved to ../src_share
M src_moz/nsActions.cpp                 // include ns_util instead of jni_util
                                        // also use new
util_DeallocateShareContext
M src_moz/nsActions.h                   // include ns_util instead of jni_util
A src_moz/ns_util.cpp                   // include jni_util.h
A src_moz/ns_util.h                     // include jni_util.h, changes to
                                        // WebshellInitContext struct
A src_moz/ns_util_export.cpp            // provide impls for methods in
                                        // jni_util_export.h

A src_share/Makefile.win
A src_share/bal_util.cpp
A src_share/bal_util.h
A src_share/jni_util.cpp
A src_share/jni_util.h
A src_share/jni_util_export.cpp
A src_share/jni_util_export.h

*****CVS exited normally with code 0*****
2000-08-03 21:32:54 +00:00
ashuk%eng.sun.com
4b8579149a bug 44774, 44775
author=ashuk
r=ovk@sparc.spb.su

Minor fix for failed QA Test. Patch supplied by
Oleg.

_Ashu
2000-08-02 17:02:43 +00:00
idk%eng.sun.com
fc8291b5a5 * NOT PART OF TBOX BUILDS**
Fixed crasher bug. class was used before initialization.
2000-07-28 05:39:53 +00:00
dmose%mozilla.org
4b5231a715 on some windows configurations, the build has been messed up for at least a couple of weeks because some microsoft header file defines 'interface', which conflicts with the member variable in xpt_struct.h. rename the member variable from interface to iface. workaround suggested by alecf@netscape.com. r=jband@netscape.com, a=waterson@mozilla.org 2000-07-28 04:03:50 +00:00
edburns%acm.org
15a59d37c9 Classes must be built first in order to build jni. 2000-07-28 00:17:21 +00:00
ashuk%eng.sun.com
97af4f2c3e author = ashuk
r = edburns
a = edburns

Implements RemoveListener
2000-07-26 20:07:11 +00:00
edburns%acm.org
1620d1fe1d bug=41871
a=edburns
r=ashuk

This checkin makes it so CBrowserContainer is properly released.  The
problem was that the CBrowserContainer was still registered to the
docShell as a listener.  The solution was to call
wcIBrowserContianer::RemoveAllListeners() in the WebShellInitContext
deallocator.
2000-07-26 01:03:25 +00:00
ashuk%eng.sun.com
af342fe36c author = ashuk
r = edburns
a = edburns

Fix for Bugs: 44774, 44775 and 41780
2000-07-24 21:15:03 +00:00
edburns%acm.org
357d16ef7d bug=41977
Insert parameter checks for all webclient methods.
2000-07-22 02:48:26 +00:00
edburns%acm.org
f52fdb3aba Remove accidentally inserted ^M chars. 2000-07-22 02:14:57 +00:00
idk%eng.sun.com
b17f8f3bd0 ** not part of tbuild **
Updated README for linux build.
2000-07-18 00:03:47 +00:00
edburns%acm.org
db00aa6e21 Thanks to Andy Tripp <atripp@home.com> the DOMViewer
now scrolls to the shift-clicked node.
2000-07-15 18:56:30 +00:00
idk%eng.sun.com
bda70d315b ** Not tbuild part **
Ported BlackConnect to Linux. It is working wuth IBM jdk1.3
2000-07-15 06:18:54 +00:00
idk%eng.sun.com
a67d6e0873 ** NOT PART OF TBOX BUILDS**
Add checking code for component creation
2000-07-14 07:19:49 +00:00
idk%eng.sun.com
86a909c2da ** NOT PART OF TBOX BUILDS**
Addon to previous check in
2000-07-13 03:41:24 +00:00
idk%eng.sun.com
32932f519c ** NOT PART OF TBOX BUILDS**
Upgraded blackConnect for M16.
Added make files for win
2000-07-13 03:36:02 +00:00
edburns%acm.org
91343cc3f0 Removed runem.solaris because we now have the cross platform runem.pl. 2000-07-11 23:44:35 +00:00
edburns%acm.org
e42d9f84ab Make it so params are correctly passed to runem.pl on Solaris. 2000-07-11 23:43:20 +00:00
edburns%acm.org
96428a9bbc Put dom after util and before webclient 2000-07-10 20:06:44 +00:00
edburns%acm.org
73089af963 Put classes first so top level java build works. 2000-07-10 20:06:07 +00:00
edburns%acm.org
8208fef3cb nsSetupRegistry_link_problems 2000-07-10 20:02:49 +00:00
edburns%acm.org
109bfe4a8e Use the new xp runem.pl script instead of building the smarts into
the batch file.
2000-07-10 19:48:47 +00:00
edburns%acm.org
a06f26ab1f Changes to Makefile.in to allow proper running on solaris.
Added motif/README to explain why some files in this directory
don't get put into this directory's dll.
2000-07-10 19:00:51 +00:00
edburns%acm.org
b7075a05bd Removed "^M" characters. 2000-07-10 17:49:19 +00:00
edburns%acm.org
cdddfeea75 runem.pl now successfully runs webclient on solaris. However,
webclient on solaris doesn't run yet.
2000-07-08 01:36:37 +00:00
edburns%acm.org
1b5830236d First pass at automating the creation of the runem script. I hope runem.pl
can be used on both win32 and unix.
2000-07-07 23:32:43 +00:00
edburns%acm.org
f6c86952e5 Build_with_mozilla_build_system 2000-07-07 19:54:43 +00:00
edburns%acm.org
a2110f8590 a=edburns
r=ashuk
bugs: 44327, 44328

NativeEventThread:

Re-instate the policy of creating an EventQueue for each window.
Put in a superfluous printf in processEventLoop that fixes 44327.

nsActions.{cpp,h}:

Added wsDeallocateInitContextEvent, to enable the correct
removal of the eventQueue, 44328

WindowControlImpl

Fire the wsDeallocateInitcontextEvent in nativeDestroyInitContext.
2000-07-07 18:53:07 +00:00
edburns%acm.org
056cc5fd98 a=edburns
r=ashuk
bugs: 44327, 44328

WindowControl:

Don't call nativeDestroyInitContext

NativeEventThread

Call windowControl.nativeDestroyInitContext when the run()
loop exits.
2000-07-07 18:49:09 +00:00
edburns%acm.org
a0fde8c6c0 a=edburns
r=ashuk
bugs: 44327, 44328

Comment out the bookmarks test code.
2000-07-07 18:47:25 +00:00
sdv%sparc.spb.su
0a3563c0b4 fix for bug=44196 2000-07-06 08:01:07 +00:00
edburns%acm.org
70f097b8ac compile_under_solaris 2000-07-06 00:39:53 +00:00
edburns%acm.org
c2d5bf500f Compile_String_changes_with_M16 2000-07-06 00:25:23 +00:00
edburns%acm.org
b1ce20f6b7 Whitespace formatting changes. 2000-07-05 20:27:41 +00:00
edburns%acm.org
5cfdba3262 Make it so it compiles on UNIX. 2000-07-05 19:53:24 +00:00
rpallath%eng.sun.com
3ef2465735 Altered test files 2000-07-05 17:17:34 +00:00
rpallath%eng.sun.com
fe696f7e88 Modified Test Cases. All previously unsupported methods have been
supported. Test Cases for the same have been updated.
2000-07-05 17:16:15 +00:00
edburns%acm.org
e9e8cd3ece Automatically_generate_JAVAH_headers 2000-06-30 21:08:30 +00:00
edburns%acm.org
162827ca7a Finally_make_use_of_Sherry_Shen_changes 2000-06-30 19:03:27 +00:00
edburns%acm.org
309d1829ab Finally_make_use_of_Sherry_Shen_changes 2000-06-30 18:50:02 +00:00
edburns%acm.org
cdcd2d8a2e feature:
Now you can shift click to select a node in the DOM viewer.
2000-06-30 17:53:58 +00:00
sdv%sparc.spb.su
b71b109e98 fixed a memory leak 2000-06-30 10:46:49 +00:00
ashuk%eng.sun.com
86f35f950a bug=44279
a=edburns
r=edburns
author=ashuk.

This code makes Webclient work with Mozilla M16.
2000-06-30 00:01:58 +00:00
ashuk%eng.sun.com
241f6b261c The current webclient only works with M13, and the
old webclient, in classes and src, works with pre M13.

This change removes the old webclient.
2000-06-29 23:59:12 +00:00
rpallath%eng.sun.com
757b3dc86d Added this test case 2000-06-26 18:09:44 +00:00
sdv%sparc.spb.su
c5eb45029e added note about cvs tag DOM_PR1 2000-06-23 17:35:51 +00:00
sdv%sparc.spb.su
fe48f42489 got rid of dependance on java\config\localdefs.mak 2000-06-23 17:16:29 +00:00
sdv%sparc.spb.su
6c4baee48e fix for bug=41494
removed headers generated by javah
updated makefiles
2000-06-23 17:14:11 +00:00
sdv%sparc.spb.su
fb73322567 updated patch to webshell, so it works with the
latest version.
2000-06-23 14:14:23 +00:00
sdv%sparc.spb.su
a3e5bdd5b6 fix for bug=43293 2000-06-23 14:09:19 +00:00
sdv%sparc.spb.su
dd0d2076a3 fix for bug=43473 2000-06-23 13:17:29 +00:00
sdv%sparc.spb.su
df5cdefb12 fix for bug=43290 2000-06-21 12:20:08 +00:00
edburns%acm.org
5fd64671b6 Added DOM 0510. 2000-06-20 01:08:31 +00:00
sdv%sparc.spb.su
a1acff66da added support of namespaces 2000-06-19 15:09:47 +00:00
edburns%acm.org
06ae09f30a Removed accidentally introduced ^M's 2000-06-16 21:59:04 +00:00
sdv%sparc.spb.su
fb6416f7dd addon to fix a bug=42336 2000-06-15 11:14:47 +00:00
sdv%sparc.spb.su
9ea99e9af8 added workaround for bug=30927 2000-06-14 12:16:29 +00:00
sdv%sparc.spb.su
a8564a2fae support of latest w3c dom spec changes
fixed a bug with unicode strings
2000-06-13 21:22:35 +00:00
sdv%sparc.spb.su
60fd966f38 support of latest w3c dom spec changes 2000-06-13 21:21:21 +00:00
edburns%acm.org
b463859667 Created file to allow shift-clicking. 2000-06-09 19:03:42 +00:00
edburns%acm.org
184f242f13 Make building the spec compliant classes the default. 2000-06-09 00:03:51 +00:00
edburns%acm.org
060c98e3c5 Added nativeGetDOM. 2000-06-08 23:51:13 +00:00
edburns%acm.org
4e0a7923b1 Modifications to allow webclient to run again on solaris. 2000-06-08 23:24:51 +00:00
edburns%acm.org
2c5d190887 Added JAVA_DESTPATH to the CLASSPATH on the compiler command line. 2000-06-08 22:44:19 +00:00
edburns%acm.org
8b20efd992 Checked in nascent "select the current node in the tree view when the user shift-clicks on a node" feature,
but it's blocked by the incompleteness of the DOM implementation in M13.
2000-06-08 18:40:20 +00:00
edburns%acm.org
58ef6160ba bug 40330
a=edburns

This checkin mainly does two things:

1. Correctly populates the java.awt.event.MouseEvent subclass with the
  correct modifiers, x, y, and clickCount for the mozilla mouse event.

2. Adds a performance optimization: previously, every mouse event was
  causing a new instance of java.util.Properties to be created.  Now,
  only one Properties instance is created per-page, and it is cleared on
  each mouse event.

Also, I made the DOMMouseListenerImpl constructor initialize the
refCount to 0.  This allows the object to be correctly deleted.

M classes_spec/org/mozilla/webclient/test/EMWindow.java
M classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java
M src_moz/DOMMouseListenerImpl.cpp
M src_moz/DOMMouseListenerImpl.h
M src_moz/WindowControlImpl.cpp
M src_moz/jni_util.cpp
M src_moz/jni_util.h
M src_moz/jni_util_export.cpp
M src_moz/jni_util_export.h

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

* Added test code for MouseListener properties: buttons, modifiers, etc.

M classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java

* Added support for mouse modifiers.  Pull values out of the hash table,
  put them in the MouseEvent constructor.

M src_moz/DOMMouseListenerImpl.cpp

* Modified constructors so they initialize all ivars.

* changed usage model of properties object to share the lifetime of the
  DOMMouseListenerImpl instance.  Needed to make use of the new function
  util_ClearPropertiesObject() to do this.  Now we have only one call to
  util_DestroyPropertiesObject(), in the DOMMouseListenerImpl
  destructor.

M src_moz/DOMMouseListenerImpl.h

>     virtual ~DOMMouseListenerImpl();
>
98a101
> protected:
100a104,105
>
> void JNICALL addMouseEventDataToProperties(nsIDOMEvent *aMouseEvent);

M src_moz/WindowControlImpl.cpp

* Initialize new WebShellInitConext member propertiesClass to nsnull

M src_moz/jni_util.cpp

* Added util_ClearPropertiesObject() an optimization.

* Store the jclass for java/util/Properties in an element in
  WebShellInitContext.  This prevents us from having to do FindClass
  each time a mouse event occurs.

* Added a parameter to util_StoreIntoPropertiesObject.

M src_moz/jni_util.h

* Added propertiesClass to WebShellInitContext

* Added new method ClearPropertiesObject

* Added new last argument to DestroyPropertiesObject

M src_moz/jni_util_export.cpp
M src_moz/jni_util_export.h

* Added function pointer for util_ClearPropertiesObject.
2000-06-08 02:16:06 +00:00
edburns%acm.org
c96ff252c4 Remove CRLF's accidentally put in by Ashu. 2000-06-08 00:52:50 +00:00
edburns%acm.org
c44911e670 modified getPropertiesObject() to populate the hash table with
keys for properties in nsIDOMMouseEvent.
2000-06-07 00:12:06 +00:00
edburns%acm.org
b78d123f0c Make it so the status bar URLs correctly display with pre-pended
base URLs.
2000-06-05 19:11:22 +00:00
edburns%acm.org
2d01a17ea1 Enable/disable button bar buttons appropriately. 2000-06-05 18:23:23 +00:00
sdv%sparc.spb.su
bb16d06254 changes to support unicode strings 2000-06-05 18:08:39 +00:00
edburns%acm.org
cf5b2e774d Give the BookmarksFrame the ability to tell the browser to
visit the clicked URL.
2000-06-05 17:54:58 +00:00
edburns%acm.org
baf982031b bug 40330
a=edburns
r=drapeau

This checkin creates a dependency on the mozilla java dom module.

Please see mozilla\java\dom\README to build the java dom.
Note that you can just run make in mozilla\java and everything
should be built correctly.

A webclient/classes_spec/org/mozilla/webclient/test/DOMAccessPanel.java
A webclient/classes_spec/org/mozilla/webclient/test/DOMCellRenderer.java
A webclient/classes_spec/org/mozilla/webclient/test/DOMTreeDumper.java
A webclient/classes_spec/org/mozilla/webclient/test/DOMTreeModel.java
A webclient/classes_spec/org/mozilla/webclient/test/DOMTreeNotifier.java
A webclient/classes_spec/org/mozilla/webclient/test/DOMViewerFrame.java

M Makefile.win
M README
M webclient/classes_spec/Makefile.unix
M webclient/classes_spec/Makefile.win
M webclient/classes_spec/org/mozilla/webclient/CurrentPage.java
M webclient/classes_spec/org/mozilla/webclient/test/EMWindow.java
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java
M webclient/src_moz/CurrentPageImpl.cpp
M webclient/src_moz/DocumentLoaderObserverImpl.cpp
M webclient/src_moz/Makefile.win
M webclient/src_moz/WindowControlImpl.cpp
M webclient/src_moz/jni_util.h
2000-06-04 22:16:36 +00:00
edburns%acm.org
6f007914b8 DOM really depends on the w3c dom from 20000307.
Changed README.
2000-06-04 21:56:53 +00:00
edburns%acm.org
3357bfe516 a=drapeau
author=edburns
bug=41492

This change adds the following methods:

public static native void org.mozilla.dom.DOMAccessor.initialize();

The implementation of this method is:

JNIEXPORT void JNICALL Java_org_mozilla_dom_DOMAccessor_initialize
(JNIEnv *env, jclass)
{
  if (!JavaDOMGlobals::log) {
    JavaDOMGlobals::Initialize(env);
  }

}

This method is necessary for external clients that want to use JavaDOM,
but don't want to use the nsIDocumentLoaderObserver instance provided by
JavaDOM.

Please see http://bugzilla.mozilla.org/show_bug.cgi?id=41497 for an
additional bug for which there is a workaround.

Ed
2000-06-04 20:25:20 +00:00
idk%eng.sun.com
abdb33537b added pointer to pluglets page 2000-06-04 01:02:44 +00:00
edburns%acm.org
8605f7ca5a Added processing of "END_DOCUMENT_LOAD" and MouseExited events. 2000-06-01 23:42:35 +00:00
edburns%acm.org
2da1ed8ea1 Added StatusBar for URL messages. 2000-06-01 23:10:33 +00:00
edburns%acm.org
d1d0791b35 If BAL_INTERFACE is defined in the build environment, produce
webclient_bal.{lib,dll} instead of webclient.{lib,dll}.
2000-06-01 22:41:31 +00:00
idk%eng.sun.com
f89e0cd0b3 DOM viewer enhancement
a=sdv@sparc.spb.su
r=idk@eng.sun.com
2000-06-01 20:42:29 +00:00
edburns%acm.org
a5f9668ba0 Return from doRemoveListeners after issuing removeAllListeners 2000-05-31 23:37:06 +00:00
ashuk%eng.sun.com
a7fc0dbb1b Ed's fix for multiple window closing bug
author=edburns
r=ashuk
2000-05-31 21:58:36 +00:00
ashuk%eng.sun.com
7e6a78c7a2 Ed's review for multiple window closing bug
author=ashuk
r=ashuk
2000-05-31 21:56:36 +00:00
ashuk%eng.sun.com
b4d93382af Ed's fix for bug where multiple window closing caused null ptr error
author = edburns
r = ashuk
2000-05-31 21:55:49 +00:00
ashuk%eng.sun.com
9caa09ff50 Ed's fix for bug where multiple windows closing caused null ptr dereference.
author = edburns
r = ashuk
2000-05-31 21:54:04 +00:00
idk%eng.sun.com
d29b87b0cf Checked in new BlackConnect version 2000-05-29 01:26:46 +00:00
idk%eng.sun.com
634bad7e60 addon to previos commit. .cvsignore got removed 2000-05-29 00:48:35 +00:00
idk%eng.sun.com
d85935618a Moved old blackConnect implamentation into java/xpcom/old 2000-05-29 00:44:24 +00:00
edburns%acm.org
69c22378c2 bug: 20659
r=gbarney
a=edburns

This checkin adds java.awt.event.MouseListener support to webclient for
mozilla.  The following files are include in this checkin.  "A" is new
file "M" is modified file.

A classes_spec/org/mozilla/webclient/WCMouseEvent.java
A classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java
A src_moz/DOMMouseListenerImpl.cpp
A src_moz/DOMMouseListenerImpl.h
A src_moz/dom_util.cpp
A src_moz/dom_util.h

M classes_spec/org/mozilla/webclient/EventRegistration.java
M classes_spec/org/mozilla/webclient/test/EMWindow.java
M classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java
M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
M src_moz/DocumentLoaderObserverImpl.cpp
M src_moz/DocumentLoaderObserverImpl.h
M src_moz/EventRegistration.cpp
M src_moz/EventRegistration.h
M src_moz/Makefile.solaris
M src_moz/Makefile.win
M src_moz/NativeEventThread.cpp
M src_moz/NavigationImpl.cpp
M src_moz/RDFTreeNode.cpp
M src_moz/bal_util.cpp
M src_moz/jni_util.cpp
M src_moz/jni_util.h
M src_moz/jni_util_export.cpp
M src_moz/jni_util_export.h



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

 * <P> This java.awt.event.MouseEvent subclass allows the user to access the
 * WebclientEvent.  This eventData of this WebclientEvent, if non-null,
 * is a java.util.Properties instance that contains information about
 * this event.  </P>

 * <P>The following are some interesting keys:</P>

 * <UL>

 * <LI> href
 * </LI>

 * <LI> #text
 * </LI>

 * </UL>

A classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java

 * This class wraps the user provided instance of
 * java.awt.event.MouseListener so it can be installed as a
 * WebclientEventListener.  Note that we implement MouseListener so we
 * can be detected by the webclient event system.  We don't do anything
 * with these methods here, though.


A src_moz/DOMMouseListenerImpl.cpp

A src_moz/DOMMouseListenerImpl.h

 * This class is the shim between the mozilla listener event system for
 * mouse events and the java MouseListener interface.
 * For each of the Mouse* methods, we call the appropriate method in java.
 * See the implementation of MouseOver for an example.

 * For each mouseEvent, we create a Properties object containing
 * information about the event.  We use methods in dom_util to do this.

A src_moz/dom_util.cpp

A src_moz/dom_util.h

/**

 * Methods to simplify webclient accessing the mozilla DOM.

 */

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

Added support for java.awt.event.MouseListener

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

Implemented simle MouseListener

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

Added support for java.awt.event.MouseListener

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

Added support for java.awt.event.MouseListener

M src_moz/DocumentLoaderObserverImpl.cpp
M src_moz/DocumentLoaderObserverImpl.h

 * We define a local IID to allow the addDocumentLoadListener and
 * addMouseListener functions in EventRegistration.{h,cpp} to
 * interrogate the currently installed DocumentLoaderObserver instance
 * in mozilla.

 */

#define NS_IDOCLOADEROBSERVERIMPL_IID_STR "fdadb2e0-3028-11d4-8a96-0080c7b9c5ba"

#define NS_IDOCLOADEROBSERVERIMPL_IID {0xfdadb2e0, 0x3028, 0x11d4, { 0x8a, 0x96, 0x00, 0x80, 0xc7, 0xb9, 0xc5, 0xba }}

/**

 * This class is the shim between the mozilla listener event system for
 * document load events and the java DocumentLoadListener interface.
 * For each of the On* methods, we call the appropriate method in java.
 * See the implementation of OnEndDocumentLoad for an example.

 * A DocumentLoaderObserverImpl instance has a "jobject target", which
 * is the Java object that should ultimately receive the events.  This
 * target will be null if the user just wants to listen for mouse
 * events.  It willl be non-null if the user wants to listen for
 * DocumentLoad events.

 * It also hosts a nsIDOMMouseListener instance, which piggybacks on the
 * nsIDocumentLoaderObserver instance.

M src_moz/EventRegistration.cpp
M src_moz/EventRegistration.h

Add support for MouseListener

M src_moz/Makefile.win

Added classes for MouseListener and Dom access

M src_moz/NativeEventThread.cpp

Added support for MouseListener

M src_moz/NavigationImpl.cpp

Added call to ReleaseStringChars for bal case.

M src_moz/RDFTreeNode.cpp

Added call to ReleaseStringChars for bal case.

M src_moz/bal_util.cpp

Added #include "wchar.h" so this file compiles on Solaris.

M src_moz/jni_util.cpp

Added implementations for util_CreatePropertiesObject,
util_DestroyPropertiesObject and util_StoreIntoPropertiesObject.

M src_moz/jni_util.h

/**

 * A JNI wrapper to create a java.util.Properties object, or the
 * equivalent object in the BAL case.

 */

jobject util_CreatePropertiesObject(JNIEnv *env, jobject reserved_NotUsed);

/**

 * A JNI wrapper to destroy the object from CreatePropertiesObject

 */

void util_DestroyPropertiesObject(JNIEnv *env, jobject propertiesObject,
                                  jobject reserved_NotUsed);

/**

 * A JNI wrapper for storing a name/value pair into the Properties
 * object created by CreatePropertiesObject

 */

void util_StoreIntoPropertiesObject(JNIEnv *env, jobject propertiesObject,
                                    jobject name, jobject value);


M src_moz/jni_util_export.cpp
M src_moz/jni_util_export.h

Added functions for allowing the BAL user to specify functions for
{creating, destroying, setting values into} properties objects.
2000-05-25 23:51:51 +00:00
idk%eng.sun.com
988e4302ee Added Adaptor classes and Generic factory. Now we do not need to implement
PlugletFactory for simple pluglets.
2000-05-24 02:01:57 +00:00
ashuk%eng.sun.com
0abbaa676d Added fix for GetSourceBytes and SelectAll Stubs
author = ashuk
r = edburns

_Ashu
2000-05-23 21:10:02 +00:00
ashuk%eng.sun.com
b21f520f96 Added code for CurrentPage::SelectAll()
author = ashuk
r = edburns

_Ashu
2000-05-23 21:08:27 +00:00
ashuk%eng.sun.com
7395b85c85 Added code for SelectAll()
author = ashuk
r = edburns

_Ashu
2000-05-23 21:07:49 +00:00
ashuk%eng.sun.com
ca5c9043df Added code to throw UnimplementedException whenever a method tht is
not yet implemented is called.

Bug = 40330
a = ashuk
r = edburns

_Ashu
2000-05-23 21:06:41 +00:00
ashuk%eng.sun.com
765bec1b18 Added code for UnimplementedException. This exception gets thrown whenever a
funcion that has not yet been implemented is called.

Bug = 40330
author = ashuk
r = edburns

_Ashu
2000-05-23 21:04:47 +00:00
edburns%acm.org
c593d6f998 Added comment in nativeDestroyInitContext about bug http://bugzilla.mozilla.org/show_bug.cgi?id=38271 2000-05-05 14:02:12 +00:00
rpallath%eng.sun.com
e6fe7452fe modified README 2000-04-24 21:28:42 +00:00
rpallath%eng.sun.com
59eca4c85a New Tests for getAlignment 2000-04-24 19:02:42 +00:00
rpallath%eng.sun.com
c3291b195e getAlignment tests for API -> LEFT 2000-04-24 18:58:18 +00:00
rpallath%eng.sun.com
1adee25c28 GetAlignment API tests 2000-04-24 18:55:25 +00:00
rpallath%eng.sun.com
171e857827 New files for Killer app on Win32 2000-04-24 18:52:40 +00:00
rpallath%eng.sun.com
b381bf0be3 Added README and BWTest.lst
Updated some test cases
2000-04-24 18:25:27 +00:00
edburns%acm.org
78325dd028 a=edburns
bug: pressing BACK hangs webclient

Files touched

File: DocumentLoadEvent.java	Status: Locally Modified

Made the constants final so they can be used in a
switch statement

File: EMWindow.java    	Status: Locally Modified

Modified eventDispatched() so it doesn't call any webclient
events.  This was causing the hang.  Took advantage of
the newly implemented ability to pass a string from the
mozilla event handler into java.


File: DocumentLoaderObserverImpl.cpp	Status: Locally Modified

Create a jstring from the url in the OnStartDocumentLoad event.
Pass it on to java.

File: jni_util.cpp	Status: Locally Modified

Wrapped JNU_GetEnv in BAL stuff so it works from Star.

File: WebclinetEventListener.java	Status: Locally Modified

Added comment to eventDispatched.
2000-04-22 02:01:20 +00:00
edburns%acm.org
2cc92f89bd bug 33099
r=shaver
a=edburns

Native code changes: This fix eradicates all
occurrences of the following symbols
 nsComponentManager nsServiceManeger
And replaces them with their nsI counterparts.
The following ns* classes still are used in
webclient, and no plans exist to replace them
with nsI counterparts: nsresult nsCOMPtr
nsCRT nsnull * nsServiceManager occurrences
were replaced with do_GetService(), using a
PROGID. * nsComponentManager occurrences were replaced with a call on the global class gComponentManager, declared in the new file ns_globals.h, and defined in WrapperFactoryImpl.cpp. ns_globals.h is included in jni_util.h. See the attachment to bug 33099 for ns_globals.h * Added deallocation code to WindowControlImpl.cpp nativeTerminate. I know it doesn't do much, but it's correct. Java code changes: * Added static method BrowserControlFactory.appTerminate(). This method simply calls the existing BrowserControlImpl.appTerminate(), which calls WrapperFactoryImpl.cpp nativeTerminate(). BrowserControlFactory.appTerminate() is called from EmbeddedMozilla's WindowListener, which gets fired when the user signals she wants the app to terminate.
2000-04-20 18:16:05 +00:00
ashuk%eng.sun.com
a9347be2bf fixed small bug with call to getSourceBytes
_Ashu
2000-04-20 03:16:15 +00:00
ashuk%eng.sun.com
5397f1dd36 new signature for getSourceBytes
_Ashu
2000-04-20 02:59:53 +00:00
edburns%acm.org
1586c56e2c bug 32011
r=ashuk
a=edburns

Add an "eventData" argument to WebclientEvent and subclasses.
This argument is sub-event specific.  For example, when a user
gets a DocumentLoadEvent, with an event type of
STATUS_URL_LOAD, the eventData is a String containing
the status string from the browser.

Added support for doing this in a BAL context.
2000-04-18 21:58:29 +00:00
edburns%acm.org
410da80665 bug 32011
r=ashuk
a=edburns

Add an "eventData" argument to WebclientEvent and subclasses.
This argument is sub-event specific.  For example, when a user
gets a DocumentLoadEvent, with an event type of
STATUS_URL_LOAD, the eventData is a String containing
the status string from the browser.
2000-04-18 21:57:42 +00:00
idk%eng.sun.com
75394f5e7f (36174) Added null checking
a = idk@eng.sun.com
2000-04-18 18:38:01 +00:00
edburns%acm.org
98ee9417b4 bug=http://bugzilla.mozilla.org/show_bug.cgi?id=32011
Added ability to allow Native webclient client to populate
the listener class hash table and provide an InstanceOf function.

This enables listeners to work for the future.
2000-04-15 00:27:35 +00:00
rpallath%eng.sun.com
c3d03bbc8b Added sort routine in autorun.pl
and setUnsupported method add in ElementImpl_hasAttrib*.java
2000-04-14 18:41:37 +00:00
edburns%acm.org
1176c0f8b4 bug: http://bugzilla.mozilla.org/show_bug.cgi?id=32011
Add first function pointer integration to webclient for StarOffice.
This is necessary to allow events to be sent from mozilla to
StarOffice.
2000-04-13 00:12:50 +00:00
ashuk%eng.sun.com
1c1397b664 Made fix for Find Dialog closing correctly on Solaris
a=ashuk
r=geetha.vaidyanaathan@sun.com
Bug=35514

_Ashu
2000-04-12 18:06:21 +00:00
ashuk%eng.sun.com
fc66e176ec Made changes for accomodating new CurrentPage Find features into
webclient

a=ashuk
r=edburns
Bug=20659

Ashu
2000-04-06 17:45:27 +00:00
ashuk%eng.sun.com
589efd82a7 changed signatures of functions in CurrentPage interface
a=ashuk
r=edburns
Bug=20659

Ashu
2000-04-06 17:42:46 +00:00
ashuk%eng.sun.com
7e45b0883a Added stuff to implement Find features in CurrentPage interface
a=ashuk
r=edburns
Bug=20659

_Ashu
2000-04-06 17:39:01 +00:00
ashuk%eng.sun.com
308b05817c Added AWT code to create a generic Dialog box. Used this to create a
Find Dialog Box for the Find features in the CurrentPage interface

a=ashuk
r=edburns
Bug=20659

Ashu
2000-04-06 17:36:57 +00:00
ashuk%eng.sun.com
b10d328efa Made changes in EMWIndow.java and EmbeddedMozilla.java to create a better
GUI with menus for creating and closing new windows and for Find features.

Ashu

a=ashuk
r=edburns
Bug=20659
2000-04-06 17:33:49 +00:00
edburns%acm.org
383322dfbb bug: http://bugzilla.mozilla.org/show_bug.cgi?id=34665
This change replaces all printfs in src_moz with calls to PR_LOG.  No
printfs should appear in src_moz anymore.

You won't see any console output from native code unless you define

NSPR_LOG_MODULES=webclient:3

in your environment.  Furthermore, if you want PR_LOG statements in
webclient to go to a file instead, define

WEBCLIENT_LOG_FILE=C:\VALIDDIR\filename.txt

in your environment.  This file will get created fresh each time, since
PR_LOG uses fopen(filename, "w").

New Files:

I've created ns_globals.h, included from jni_util.h.  ns_globals.h holds
an extern * to a struct used in the PR_LOG calls.

Significant changes:

WrapperFactoryImpl.cpp

nativeAppInitialize(){

Added:

#if DEBUG_RAPTOR_CANVAS
    prLogModuleInfo = PR_NewLogModule("webclient");
    const char *webclientLogFile = PR_GetEnv("WEBCLIENT_LOG_FILE");
    if (nsnull != webclientLogFile) {
        PR_SetLogFile(webclientLogFile);
        // If this fails, it just goes to stdout/stderr
    }
#endif
}

All the other files in this checkin follow the this pattern:

Before checkin:

       printf("InitMozillaStuff(%lx): Create the Event Queue for the UI thread...\n",
               initContext);

After checkin:

    if (prLogModuleInfo) {
        PR_LOG(prLogModuleInfo, 3,
               ("InitMozillaStuff(%lx): Create the Event Queue for the UI thread...\n",
               initContext));
    }

See http://lxr.mozilla.org/mozilla/source/nsprpub/pr/include/prlog.h#190

for the definition of PR_LOG
2000-04-05 21:38:27 +00:00
rpallath%eng.sun.com
f6188063e7 Added entries for ElementImpl_hasAttribute and
ElementImpl_hasAttributeNS
2000-04-04 22:25:19 +00:00
rpallath%eng.sun.com
d7ae9316a4 Updated with entries for ElementImpl_hasAttribute/ElementImpl_hasAttributeNS 2000-04-04 22:21:50 +00:00
rpallath%eng.sun.com
72017803f1 Added new unsupported methods 2000-04-04 22:18:53 +00:00
sdv%sparc.spb.su
0207ef429d implemented some w3c event interfaces methods 2000-04-04 17:55:34 +00:00
rpallath%eng.sun.com
5a86a50a69 Added Bug information for Bug Id 15118 2000-04-03 23:36:09 +00:00
rpallath%eng.sun.com
514a515586 Added redirectxml.html and changes the scripts
accordingly to reflect the new file.
2000-04-03 18:31:39 +00:00
edburns%acm.org
d9cd53fece The problem was in the way the
NativeEventThread's run() method's infinite loop was implemented.  The
  loop looks like this:

    while (null != this.browserControlCanvas) {
        synchronized (this.browserControlCanvas.getTreeLock()) {
            nativeProcessEvents(nativeWebShell);

            if (null != listenersToAdd && !listenersToAdd.isEmpty()) {
                tempEnum = listenersToAdd.elements();
                while (tempEnum.hasMoreElements()) {
                    nativeAddListener(nativeWebShell,
                                          (WebclientEventListener)
                                      tempEnum.nextElement());
                }
                listenersToAdd.clear();
            }
        }
    }

  The problem I was observing was that
  nativeProcessEvents(nativeWebShell) would crash due to the fact that
  the nativeWebShell, which is actually an WebShellInitContext instance,
  had been de-allocated.  This de-allocation happens as a result of the
  WindowControlImpl.delete() method, which looks like this:

public void delete()
{
    Assert.assert(null != eventThread, "eventThread shouldn't be null at delete time");
    eventThread.delete();
    eventThread = null;
    nativeDestroyInitContext(nativeWebShell);
    nativeWebShell = -1;
}

  nativeDestroyInitContext de-allocates the WebShellInitContextInstance.
  You can see that the first thing done is to delete the eventThread().
  NativeEventThread.delete() looks like this:

public void delete()
{
    // setting this to null causes the run thread to exit
    synchronized(this.browserControlCanvas.getTreeLock()) {
        browserControlCanvas = null;
    }
...
}

  If you compare NativeEventThread.delete() with the infinite loop in
  NativeEventThread.run(), you'll see that the fact that they both
  synchronize on the same object doesn't protect us from the following
  case:

    NativeEventThread: The infinite loop checks to see if the
    browserControlCanvas is null, then does synchronize on
    browserControlCanvas.getTreeLock(), then calls processNativeEvents().

meanwhile

    WindowControlImpl thread: delete() calls NativeEventThread.delete(),
    which does synchronize on browserControlCanvas.getTreeLock().
    During NativeEventThread.delete(), synchronized section,
    browserControlCanvas is set to null.

    NativeEventThread: because the check for null browserControlCanvas
    occurrs outside of the synchronized block, it's not recheked, and
    thus, the event loop continues to process when it shouldn't.

  The fix is to change the event loop to look like this:

    while (true) {
        synchronized (this.browserControlCanvas.getTreeLock()) {
            // this has to be inside the synchronized block!
            if (null == this.browserControlCanvas) {
                return;
            }
            nativeProcessEvents(nativeWebShell);

            if (null != listenersToAdd && !listenersToAdd.isEmpty()) {
                tempEnum = listenersToAdd.elements();
                while (tempEnum.hasMoreElements()) {
                    nativeAddListener(nativeWebShell,
                                          (WebclientEventListener)
                                      tempEnum.nextElement());
                }
                listenersToAdd.clear();
            }
        }
    }
2000-04-03 04:32:27 +00:00
rpallath%eng.sun.com
b7d91147d9 changed == to != 2000-04-01 01:29:59 +00:00
edburns%acm.org
9f827678b5 Adding this line to the top of the run() method in
NativeEventThread seems to fix the hanging problem.

    this.setPriority(Thread.MIN_PRIORITY);


Looks like it was starvation.
2000-04-01 01:17:33 +00:00
rpallath%eng.sun.com
652e342dd1 Updated classPATH in mozilla.bat nad mozilla.csh 2000-04-01 00:34:48 +00:00
rpallath%eng.sun.com
cb69af2c93 Removing DOMAccessorImpl as it is no longer valid. 2000-04-01 00:07:02 +00:00
rpallath%eng.sun.com
a9b57a5ba1 Added DOMAccessor.java (insted of DOMAccessorImpl)
Added redirect.html
2000-04-01 00:04:15 +00:00
sdv%sparc.spb.su
814dcc76c5 removed org/mozilla/dom/tests from JDIR 2000-03-31 19:22:48 +00:00
edburns%acm.org
98536e5bea Thanks to Andi Eades, and Steffen Grarup for finding and fixing this.
Basically, we were storing a local jobject ref and using it on
 another thread without calling NewGlobalRef.

The fix is below:

cvs diff WindowControlImpl.cpp NativeEventThread.cpp (in directory D:\Projects\mozilla\java\webclient\src_moz\)
Index: WindowControlImpl.cpp
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/src_moz/WindowControlImpl.cpp,v
retrieving revision 1.5
diff -r1.5 WindowControlImpl.cpp
131c131,134
<     initContext->nativeEventThread = nsnull;
---
>     if (nsnull != initContext->nativeEventThread) {
>         ::util_DeleteGlobalRef(env, initContext->nativeEventThread);
>         initContext->nativeEventThread = nsnull;
>     }
Index: NativeEventThread.cpp
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/src_moz/NativeEventThread.cpp,v
retrieving revision 1.7
diff -r1.7 NativeEventThread.cpp
213c213,215
<         initContext->nativeEventThread = obj; // VERY IMPORTANT!!
---
>         initContext->nativeEventThread =
>             ::util_NewGlobalRef(env, obj); // VERY IMPORTANT!!
>

*****CVS exited normally with code 1*****
2000-03-31 17:09:00 +00:00
sdv%sparc.spb.su
fe663d8006 moved applet tests to tests/src/applets 2000-03-31 01:42:34 +00:00
sdv%sparc.spb.su
11a9d1af25 keeping track with Java DOM changes
r=idk@eng.sun.com
2000-03-31 01:22:00 +00:00
sdv%sparc.spb.su
18acde14ee added DOMAccessor.java patch 2000-03-31 00:11:36 +00:00
sdv%sparc.spb.su
26937e21bf A major update:
- reduces a number of c++<--> java calls
- added NULL checks
- made DOMAccessor to be secure
- added util and tests packages
- wrote test applets
- updated README
2000-03-30 23:52:19 +00:00
sdv%sparc.spb.su
f783e6228f removed java files which were placed
to classes dir
2000-03-29 01:07:03 +00:00
sdv%sparc.spb.su
8c2aa12cf4 put module sources to a single dir
updated makefiles
2000-03-29 00:43:54 +00:00
sdv%sparc.spb.su
43a0aedd4e put classes to a single dir
updated makefiles
2000-03-29 00:41:22 +00:00
ashuk%eng.sun.com
2c6c864e3c a=ashuk
Made changes to the solaris makefile to include jni_util_export - for webclient-uno stuff

_Ashu
2000-03-28 21:36:04 +00:00
sdv%sparc.spb.su
6015d910d0 updated makefiles 2000-03-28 05:11:02 +00:00
sdv%sparc.spb.su
7b1271aded keeping track with mozilla interface changes 2000-03-28 04:55:38 +00:00
sdv%sparc.spb.su
56a2016ca3 added new methods from the recent w3c
java binding
2000-03-28 02:11:13 +00:00
edburns%acm.org
6f94ba590d I really meant to check in this one. 2000-03-27 20:28:21 +00:00
rpallath%eng.sun.com
b24ebec175 Removed Control-M characters 2000-03-23 23:24:32 +00:00
edburns%acm.org
12f9501da2 bug=33093
a=edburns
r=ashuk

Force prefs to be read, causing the proxy data to be read.
2000-03-23 23:08:35 +00:00
edburns%acm.org
8952b1fe7f bug=33093
a=edburns
r=ashuk

Force prefs to be read, causing the proxy data to be read.
2000-03-23 22:57:57 +00:00
edburns%acm.org
aa3d2d50d7 r=ashuk
a=edburns
bug=32011
This change enables the current webclient API to be called from native
code.

It adds makefile and conditional compilation logic.

If the user defines BAL_INTERFACE in their environment before building
webclient, -DBAL_INTERFACE is added to LCFLAGS.  This causes code in
jni_util_export.cpp to behave differently due to the conditional
compilation logic.

I've broken out the 8 functions that are necessary to call into the
Webclient JNI methods into jni_util_export.{h,cpp}.

I've created a new pair of files, bal_util.{h,cpp} that contain function
declarations and definitions that are used when src_moz is built with
BAL_INTERFACE.  bal_util.obj is not built, nor added to webclient.dll if
building without BAL_INTERFACE.

See the page
http://www.mozilla.org/projects/blackwood/webclient/design/uno-transition.html
for a design document description of these changes.
2000-03-21 19:27:13 +00:00
idk%eng.sun.com
879ef78e6d Fixed build problems.
Changed char*const* to const char *const* in some places.
2000-03-21 01:10:35 +00:00
rpallath%eng.sun.com
e5594f6d7d dding new files 2000-03-17 00:27:29 +00:00
rpallath%eng.sun.com
13653e9f78 dding new files for Java Plugins 2000-03-17 00:17:17 +00:00
edburns%acm.org
d7929152b5 bug=32011
r=ashuk
a=edburns
This set of changes replaces all occurrences of

env->Func(args...)

with

::util_Func(env, args...)

Except of course, for the implementations of the above mentioned
::util_Func() functions.

This is done to allow the JNI functions to be called from a non JNI
context, such as UNO.
2000-03-16 23:07:03 +00:00
rpallath%eng.sun.com
0d50455cde *** empty log message *** 2000-03-16 23:05:30 +00:00
rpallath%eng.sun.com
5706870e9e Added new files 2000-03-16 22:54:41 +00:00
rpallath%eng.sun.com
b3c6f3d600 . 2000-03-16 22:42:09 +00:00
rpallath%eng.sun.com
ea209f377e *** empty log message *** 2000-03-16 22:16:08 +00:00
rpallath%eng.sun.com
ef552c8b43 *** empty log message *** 2000-03-16 22:11:53 +00:00
rpallath%eng.sun.com
c6bfef23d2 Pluglet API tests 2000-03-16 22:06:17 +00:00
sdv%sparc.spb.su
4293bc7c5b added target to make java classes on windows 2000-03-13 23:03:07 +00:00
edburns%acm.org
2b80283ff3 This checkin adds API to cleanly destroy a BrowserControl instance. It
also modifies EmbeddedMozilla so this code is exercised.

I have changed EmbeddedMozilla to be a stub-like class that simply
displays a Frame with a single Button, titled "New Window".  Pressing
this button causes an EMWindow to be created and displayed.  EMWindow is
basically the former EmbeddedMozilla renamed, with modifications to the
WindowListener implementation to call the BrowserControl deallocation
method.

I've added a delete() method to ImplObect:

 * I know Java has automatic garbage collection and all, but explicitly
 * adding a delete method helps the gc algorithm out. <P>

 * Subclasses should override this and call super.delete() at the end of
 * their overridden delete() method.

 * @see org.mozilla.webclient.wrapper_native.ImplObjectNative#delete

and ImplObjectNative:

 * Note how we call super.delete() at the end.  THIS IS VERY IMPORTANT. <P>

 * Also, note how we don't de-allocate nativeWebShell, that is done in
 * the class that owns the nativeWebShell reference, WindowControlImpl.

 * ImplObjectNative subclasses that further override delete() are <P>

<CODE><PRE>
BookmarksImpl.java
EventRegistrationImpl.java
NativeEventThread.java
WindowControlImpl.java
</PRE><CODE> <P>

 * All other ImplObject subclasses don't have any local Ivars and thus
 * don't need to override delete().

I've added a delete() method to BrowserControlImpl:

 * Called from BrowserControlFactory.deleteBrowserControl() <P>

 * The order of deletion of objects is very important! <P>

 * We don't allow deletion if the Canvas is showing. <P>

In BrowserControlImpl's delete(), the important delete()s is for
WindowControlImpl:

 * First, we delete our eventThread, which causes the eventThread to
 * stop running.  Then we call nativeDestroyInitContext(), which
 * deallocates native resources for this window.

As stated above, NativeEventThread.delete() is called:

 * This is a very delicate method, and possibly subject to race
 * condition problems.  To combat this, our first step is to set our
 * browserControlCanvas to null, within a synchronized block which
 * synchronizes on the same object used in the run() method's event
 * loop.  By setting the browserControlCanvas ivar to null, we cause the
 * run method to return.

After all of this deleting, we return from
BrowserControlFactory.delete().
2000-03-13 18:44:32 +00:00
edburns%acm.org
20a7194058 r=ashuk
a=edburns
bug=31253

This change doesn't impact SeaMonkey.

Move the initialization of the nativeWebShell ptr into a superclass.
2000-03-09 23:22:52 +00:00