Граф коммитов

270 Коммитов

Автор SHA1 Сообщение Дата
edburns%acm.org fd78722617 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 a90c0cf107 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 a99c584a7f (36174) Added null checking
a = idk@eng.sun.com
2000-04-18 18:38:01 +00:00
edburns%acm.org cb7301f20a 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 1e204c1fb0 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 198a14a484 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 5580fae4fe 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 27aef922e1 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 be8b015d45 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 5df586e60d 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 93bd635847 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 189bf05849 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 453a9616da 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 ba653de0ff Added entries for ElementImpl_hasAttribute and
ElementImpl_hasAttributeNS
2000-04-04 22:25:19 +00:00
rpallath%eng.sun.com 58276838a5 Updated with entries for ElementImpl_hasAttribute/ElementImpl_hasAttributeNS 2000-04-04 22:21:50 +00:00
rpallath%eng.sun.com 3751d2a6cb Added new unsupported methods 2000-04-04 22:18:53 +00:00
sdv%sparc.spb.su 4f48cbb031 implemented some w3c event interfaces methods 2000-04-04 17:55:34 +00:00
rpallath%eng.sun.com 9cca62cb28 Added Bug information for Bug Id 15118 2000-04-03 23:36:09 +00:00
rpallath%eng.sun.com 6514229e39 Added redirectxml.html and changes the scripts
accordingly to reflect the new file.
2000-04-03 18:31:39 +00:00
edburns%acm.org 2f7e19a151 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 1414f527dd changed == to != 2000-04-01 01:29:59 +00:00
edburns%acm.org df7298bf88 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 722a8e487a Updated classPATH in mozilla.bat nad mozilla.csh 2000-04-01 00:34:48 +00:00
rpallath%eng.sun.com 9041082284 Removing DOMAccessorImpl as it is no longer valid. 2000-04-01 00:07:02 +00:00
rpallath%eng.sun.com 4cb0ac96a5 Added DOMAccessor.java (insted of DOMAccessorImpl)
Added redirect.html
2000-04-01 00:04:15 +00:00
sdv%sparc.spb.su 393e009c85 removed org/mozilla/dom/tests from JDIR 2000-03-31 19:22:48 +00:00
edburns%acm.org 98e68de71c 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 63d9109d48 moved applet tests to tests/src/applets 2000-03-31 01:42:34 +00:00
sdv%sparc.spb.su 9107b3c809 keeping track with Java DOM changes
r=idk@eng.sun.com
2000-03-31 01:22:00 +00:00
sdv%sparc.spb.su c1348265a2 added DOMAccessor.java patch 2000-03-31 00:11:36 +00:00
sdv%sparc.spb.su 71962f8e25 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 a89093b4e9 removed java files which were placed
to classes dir
2000-03-29 01:07:03 +00:00
sdv%sparc.spb.su 0250096d0a put module sources to a single dir
updated makefiles
2000-03-29 00:43:54 +00:00
sdv%sparc.spb.su 839a83a630 put classes to a single dir
updated makefiles
2000-03-29 00:41:22 +00:00
ashuk%eng.sun.com c5e4bf9228 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 1f3d2a167c updated makefiles 2000-03-28 05:11:02 +00:00
sdv%sparc.spb.su f2a99e4c3e keeping track with mozilla interface changes 2000-03-28 04:55:38 +00:00
sdv%sparc.spb.su ee2dfe8700 added new methods from the recent w3c
java binding
2000-03-28 02:11:13 +00:00
edburns%acm.org 8305c05bc3 I really meant to check in this one. 2000-03-27 20:28:21 +00:00
rpallath%eng.sun.com b79d5bb0b8 Removed Control-M characters 2000-03-23 23:24:32 +00:00
edburns%acm.org 8debd911c6 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 226e980797 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 97880eb454 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 6b8fc4b5e8 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 ac5c60ce24 dding new files 2000-03-17 00:27:29 +00:00
rpallath%eng.sun.com f53326f27d dding new files for Java Plugins 2000-03-17 00:17:17 +00:00
edburns%acm.org 1cb45027a0 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 989b16e4f2 *** empty log message *** 2000-03-16 23:05:30 +00:00
rpallath%eng.sun.com dd2daddc16 Added new files 2000-03-16 22:54:41 +00:00
rpallath%eng.sun.com b31c2a27ad . 2000-03-16 22:42:09 +00:00