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().
git-svn-id: svn://10.0.0.236/trunk@62772 18797224-902f-48f8-a5cc-f745e15eee43
a=edburns
bug=31253
This change doesn't impact SeaMonkey.
Move the initialization of the nativeWebShell ptr into a superclass.
git-svn-id: svn://10.0.0.236/trunk@62501 18797224-902f-48f8-a5cc-f745e15eee43
a=edburns
r=bruce
Folks, don't EVER use NULL in your c++ code. Use nsnull instead.
git-svn-id: svn://10.0.0.236/trunk@62456 18797224-902f-48f8-a5cc-f745e15eee43
Add an option for building Java-supplement and
fix the Java building problem about JDIRS.
git-svn-id: svn://10.0.0.236/trunk@62425 18797224-902f-48f8-a5cc-f745e15eee43
WEBCLIENT_SPEC=1
in your environment before building webclient, the spec-compliant
version of webclient will be built.
git-svn-id: svn://10.0.0.236/trunk@62401 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
Made fix for new BookmarksImpl.java file -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62398 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
Made fix for changed BookmarksImpl.cpp file in the Stubs file -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62397 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
New native code for spec-compliant impl ported to solaris -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62345 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
Moved this file to java/webclient/classes_new/org/mozilla/webclient/wrapper_native -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62344 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
New native code for spec-compliant impl ported to solaris -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62342 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
New run script for spec-compliant impl -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62339 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
New solaris Makefile for spec-compliant impl -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62338 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
New java code for spec-compliant impl ported to solaris -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62337 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
author=ashuk
bug=28407
New java code for spec-compliant impl ported to solaris -- Ashu K.
git-svn-id: svn://10.0.0.236/trunk@62336 18797224-902f-48f8-a5cc-f745e15eee43
r=edburns
approver=edburns
bug=28407
THIS CODE IS NOT MOZILLA CODE!
This code change allows webclient to work with GTKSUPERWIN.
git-svn-id: svn://10.0.0.236/trunk@61306 18797224-902f-48f8-a5cc-f745e15eee43
Added new api test entries in BWTestClass files
Added UNSUPPORTED methods in BWBaseTest/TestLoader
Update DoucmentImpl accroding to java DOM version.
Did correct check for retrun values in ElementImpl_removeAttribute_String_1.java
ElementImpl_setAttributeNode_Attr_1.java NamedNodeMapImpl_setNamedItem_Node_1.java
git-svn-id: svn://10.0.0.236/trunk@61141 18797224-902f-48f8-a5cc-f745e15eee43
public Object PlugletTagInfo.getDOMElement();
(It is possible to use JavaDOM from pluglets now.)
a=idk@eng.sun.comr=sdv@sparc.spb.su
git-svn-id: svn://10.0.0.236/trunk@60968 18797224-902f-48f8-a5cc-f745e15eee43
now check for null pointers in Java DOM instead of
passing null references to coreDOM
git-svn-id: svn://10.0.0.236/trunk@60464 18797224-902f-48f8-a5cc-f745e15eee43