Commit Graph

65424 Commits

Author SHA1 Message Date
av%netscape.com
5ab221439c #43500, making the default plugin part of the build on Windows, r=pollmann 2000-07-05 22:51:34 +00:00
danm%netscape.com
4c1a9ad990 added nsIDocShellHistory for rpotts 2000-07-05 22:44:57 +00:00
bienvenu%netscape.com
51fa2e149a fix mork memory leak, a+r=waterson 35913 2000-07-05 22:40:17 +00:00
rpotts%netscape.com
cbd2256a60 New session history interface for the DocShell... not part of the build yet. 2000-07-05 22:28:24 +00:00
bienvenu%netscape.com
65efcc31d6 check in fix for 40746 for putterman, crash hitting next unread in empty folder, r=me 2000-07-05 22:26:55 +00:00
danm%netscape.com
5ae96795a8 stick Macintosh modal windows on top, correct other platforms' dependent window z-level, all with icky XP_ ifdefs. bug 44117 r=pinkerton 2000-07-05 22:24:44 +00:00
danm%netscape.com
7d256c7d67 remove dependence on modality for z-ordering. bug 44117 r=pinkerton 2000-07-05 22:22:58 +00:00
varada%netscape.com
fcc484937b fix for bug #36155 -default identity for compose message must be the selected identity in messenger windows; r=ducarroz 2000-07-05 22:06:34 +00:00
leaf%mozilla.org
e1b3fb24d2 Automated update 2000-07-05 21:30:10 +00:00
mkaply%us.ibm.com
6f637f704c #40177
r = cls, a = brendan
OS/2 bringup - Changes so we can build mng
2000-07-05 21:28:07 +00:00
kin%netscape.com
d240a51aa0 Backout passing of PR_FALSE to GetText() in CreateAnonymousContent(). That
was a debug change in my tree that I accidentally included in my previous
checkin.
2000-07-05 21:23:35 +00:00
mkaply%us.ibm.com
b45f36b442 #40177
r = cls, a = brendan
OS/2 bringup - XP_OS2_EMX should be defined for EMX builds no matter what
2000-07-05 21:21:54 +00:00
kin%netscape.com
f7a4b35d1b Fix for bug #43679: lose sender when scrolling in the addressing pane
Modified CreateAnonymousContent() to use mCachedState if it exists.

r=ducarroz@netscape.com
2000-07-05 20:51:08 +00:00
edburns%acm.org
b1ce20f6b7 Whitespace formatting changes. 2000-07-05 20:27:41 +00:00
morse%netscape.com
88c61d33c3 fix bug 44581, minor wording change, submitter=Blake Ross, r=morse 2000-07-05 20:14:30 +00:00
tor%cs.brown.edu
3f32a2f7cf Build MNG decoder when MOZ_MNG is set. r=roc+@cs.cmu.edu, a=brendan@mozilla.org 2000-07-05 19:54:33 +00:00
edburns%acm.org
5cfdba3262 Make it so it compiles on UNIX. 2000-07-05 19:53:24 +00:00
mkaply%us.ibm.com
bfc9ae45ad #42637
r = mkaply, a = brendan
OS/2 bringup - remove obsolete widgets, begin font work, get filepicker working
2000-07-05 19:53:21 +00:00
tor%cs.brown.edu
e84abebb2f Update libmng snapshot. Not in default build. 2000-07-05 19:32:22 +00:00
mstoltz%netscape.com
d1da06c856 DOM properties default to same origin access only. Bug 28443. r=rginda 2000-07-05 19:08:20 +00:00
vidur%netscape.com
9ead0b6446 Cleaning up simple cgi. This is not part of the Seamonkey build. 2000-07-05 18:49:41 +00:00
ssu%netscape.com
1f54d35585 fixing bug 43901 - fixing makeall.pl to build windows installer under win2k. a=leaf r=sgehani 2000-07-05 18:29:33 +00:00
slamm%netscape.com
5ffe3b1a32 Change ~/.mozconfig to $HOME/.mozconfig for OS2 folks. 2000-07-05 18:24:28 +00:00
cyeh%bluemartini.com
6ae1b3ebf7 fixes for the attachment widths. fix by dave@intrec.com (Dave Miller),
original bug found by timeless@bemail.org
2000-07-05 18:21:54 +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
nboyd%atg.com
a1f493ab08 Remove obsolete references to NodeFactory. 2000-07-05 17:08:26 +00:00
vidur%netscape.com
45b61131d8 Added new parser interface that does string/stream to DOM document parsing. This is not part of the Seamonkey build. 2000-07-05 16:55:53 +00:00
terry%mozilla.org
5a46c46d35 If bugs with an invalid product/component are found, provide a link to bring up the list of invalid bugs. 2000-07-05 15:17:36 +00:00
mkaply%us.ibm.com
40b51de15a 42637
r=dougt, a=brendan
OS/2 bringup - DLL names need to be 8.3 on OS/2
2000-07-05 13:53:12 +00:00
mkaply%us.ibm.com
266597fe31 #42637
r=sspitzer, a=brendan
OS/2 bringup - VisualAge treats this like a cast - according to nsFileSpec.h, our way is correct
2000-07-05 13:48:12 +00:00
mkaply%us.ibm.com
ecb1bbb781 #42637
r=mscott, a=brendan
OS/2 bringup - VisualAge treats this like a cast - according to nsFileSpec.h, our way is correct
2000-07-05 13:44:44 +00:00
mkaply%us.ibm.com
a3c3e7afcb #42637
r=dougt, a=brendan
OS/2 bringup - change to locate DLL in components dir
2000-07-05 13:40:53 +00:00
mkaply%us.ibm.com
815bae6e5c #42637
r=waterson, a=waterson
OS/2 bringup - this is a Windows path, not an XP_PC path
2000-07-05 13:39:07 +00:00
mkaply%us.ibm.com
39ea66a8bb #42637
r=mkaply, a=brendan
Support for subkeyboard types, like Dvorak
2000-07-05 13:37:09 +00:00
BlakeR1234%aol.com
fa72229711 Rest of the fix for 42318 (r=ben, see previous checkin) 2000-07-05 05:14:49 +00:00
BlakeR1234%aol.com
16ab02acec Partial fix for bug 42318 r=ben, fix for 44240 r=disttsc@bart.nl, a=brendan 2000-07-05 05:10:47 +00:00
sgehani%netscape.com
5b00ef0689 Use passive mode when downloading. (Checking in for Jeffrey Baker.)
[nsbeta2+ b = 40655; r=sgehani,dbragg]
2000-07-05 03:55:54 +00:00
sgehani%netscape.com
9cadc34054 Prevent multiple redundant downloads when default (return) key is hit more than once. [nsbeta2+ b = 31042; r=ssu] 2000-07-05 03:53:09 +00:00
dougt%netscape.com
f1a786417b Adding files to cvs for test application. 2000-07-04 22:42:09 +00:00
dougt%netscape.com
81ba5dd449 I am an idiot. 2000-07-04 22:08:41 +00:00
dougt%netscape.com
8cc0076ed5 44113, 44190, 44191.
r/a=valeski@netscape.com

nsDocShellTreeOwner not handling chrome/content correctly.
Asserts when no toplevel window set.
Need to start chrome up from NS_InitEmbedding()
Test App changes.
2000-07-04 21:53:27 +00:00
dougt%netscape.com
8b33bb5fa6 44113 r/a=valeski@netscape.com 2000-07-04 21:49:27 +00:00
brendan%mozilla.org
322b7f6614 Fix unused new Object before literal. 2000-07-04 19:06:26 +00:00
blizzard%redhat.com
ce8c34b8be fix for bug #43305. reduce the number of paints and fix leaking items into a linked list when scrolling. this should make linux a little faster. r=bryner,pavlov,imoT a=brendan 2000-07-04 19:05:47 +00:00
radha%netscape.com
586320a4e6 Enabling feature "Session History in frameset pages". bug # 36547. Reviewer for this checkin
as well as several previous checkins related to this bug is rpotts.
2000-07-04 18:51:14 +00:00
morse%netscape.com
1a9b31cf83 workaround for bug 43573, select user not working 2000-07-04 03:07:39 +00:00
cls%seawood.org
ca2b0dc434 Remove generated config files on distclean. Bug #43142 2000-07-03 21:41:19 +00:00
nboyd%atg.com
fdeea4b93b Subject:
Re: Rhino1.5.R1: problems with multithreaded embedded application.
        Date:
             Mon, 03 Jul 2000 14:38:56 -0400
       From:
             Norris Boyd <nboyd@atg.com>
 Organization:
             Art Technology Group
         To:
             Fergus Gallagher <Fergus.Gallagher@orbisuk.com>
 Newsgroups:
             netscape.public.mozilla.jseng
  References:
             1




You found a bug in Rhino; I wonder if others have been running into the same thing.

The problem is with a class called LazilyLoadedCtor. I wrote this class to reduce the
time
required by initStandardObjects by only creating standard objects when the associated
constructors are first accessed. The problem is that this class was not threadsafe.
I've
made changes to that class, and to ScriptableObject as well. The design of dynamic
properties calling getters and setters (which LazilyLoadedCtor uses) didn't really
allow
any way for the getter/setter to replace itself without a thread hazard. I've now
extended
setters so that they can return a value which replaces the getter/setter to avoid this
problem.

Thanks for finding this problem. There have been a couple of other reports of problems
in
this area, so I hope this will fix them.

The patch follows.

--N

Index: LazilyLoadedCtor.java
===================================================================
RCS file: /cvsroot/mozilla/js/rhino/org/mozilla/javascript/LazilyLoadedCtor.java,v
retrieving revision 1.1
diff -u -r1.1 LazilyLoadedCtor.java
--- LazilyLoadedCtor.java 2000/02/29 21:34:37 1.1
+++ LazilyLoadedCtor.java 2000/07/03 18:31:03
@@ -58,9 +58,12 @@
     }

     public Object getProperty(ScriptableObject obj) {
-        obj.delete(ctorName);
         try {
-            ScriptableObject.defineClass(obj, Class.forName(className));
+            synchronized (obj) {
+                if (!isReplaced)
+                    ScriptableObject.defineClass(obj, Class.forName(className));
+                isReplaced = true;
+            }
         }
         catch (ClassNotFoundException e) {
             throw WrappedException.wrapException(e);
@@ -83,11 +86,14 @@
         return obj.get(ctorName, obj);
     }

-    public void setProperty(ScriptableObject obj, Object val) {
-        obj.delete(ctorName);
-        obj.put(ctorName, obj, val);
+    public Object setProperty(ScriptableObject obj, Object val) {
+        synchronized (obj) {
+            isReplaced = true;
+            return val;
+        }
     }

     private String ctorName;
     private String className;
+    private boolean isReplaced;
 }
Index: ScriptableObject.java
===================================================================
RCS file: /cvsroot/mozilla/js/rhino/org/mozilla/javascript/ScriptableObject.java,v
retrieving revision 1.17
diff -u -r1.17 ScriptableObject.java
--- ScriptableObject.java 2000/03/13 17:12:36 1.17
+++ ScriptableObject.java 2000/07/03 18:31:04
@@ -246,11 +246,21 @@
                             break;
                         }
                     }
-                    getterSlot.setter.invoke(start, arg);
+                    Object v = getterSlot.setter.invoke(start, arg);
+                    if (getterSlot.setterReturnsValue) {
+                        slots[slotIndex].value = v;
+                        if (!(v instanceof Method))
+                            slots[slotIndex].flags = 0;
+                    }
                     return;
                 }
                 Object[] args = { this, actualArg };
-                getterSlot.setter.invoke(getterSlot.delegateTo, args);
+                Object v = getterSlot.setter.invoke(getterSlot.delegateTo, args);
+                if (getterSlot.setterReturnsValue) {
+                    slots[slotIndex].value = v;
+                    if (!(v instanceof Method))
+                        slots[slotIndex].flags = 0;
+                }
                 return;
             }
             catch (InvocationTargetException e) {
@@ -1183,6 +1193,7 @@
         slot.delegateTo = delegateTo;
         slot.getter = getter;
         slot.setter = setter;
+        slot.setterReturnsValue = setter != null && setter.getReturnType() !=
Void.TYPE;
         slot.value = null;
         slot.attributes = (short) attributes;
         slot.flags = flags;
@@ -1551,6 +1562,7 @@
     Object delegateTo;  // OPT: merge with "value"
     Method getter;
     Method setter;
+    boolean setterReturnsValue;
 }




Fergus Gallagher wrote:

> I am having problems getting my head around contexts and scopes and my
> multi-threaded application fall over.
>
> If I set "global=false" the following code used a per-thread
> initStandardObject() and this seems to work.  But when I set
> "global=true", the global "parentScope" is used and I get some wierd
> errors.
>
> If I change "__CODE__.slice(0,5)" to
> 1. "__CODE__" - works
> 2. "__CODE__.substring(0,5)" - fails
> 3. "__CODE__.toString()" - works
>
> Any help appreciated.
>
> Fergus
>
> ===== Test.java =========================================
> import java.io.*;
> import org.mozilla.javascript.*;
>
> public class Test implements Runnable {
>         private Script script;
>         private Scriptable parentScope;
>         private String __CODE__="ABCDEFGHIJK";
>         private boolean global = true;
>         private static Context globalContext = null;
>         public Test() throws Exception {
>                 String js= "java.lang.System.out.println(__CODE__.slice(0,5));";
>                 globalContext.setCompileFunctionsWithDynamicScope(false);
>                 parentScope = globalContext.initStandardObjects(null);
>                 StringReader sr = new StringReader(js);
>                 script = globalContext.compileReader(parentScope, sr, "(compiled)",
> 1,null);
>         }
>
>         public void run() {
>                 try {
>                         Context context = Context.enter();
>                         Scriptable threadScope;
>                         if (global) {
>                                 threadScope = context.newObject(parentScope);
>                                 threadScope.setPrototype(parentScope);
>                                 threadScope.setParentScope(null);
>                         } else {
>                                 threadScope = context.initStandardObjects(null);
>                         }
>                         threadScope.put("__CODE__",threadScope,__CODE__);
>                         script.exec(context,threadScope);
>                 }
>                 catch (Exception e) {
>                         System.err.println(e.getClass().getName()+":
"+e.getMessage());
>                 }
>                 finally {
>                         Context.exit();
>                 }
>         }
>
>         public static void main(String args[]) throws Exception {
>         globalContext = Context.enter();
>                 Test me = new Test();
>                 int count=10;
>                 Thread[] threads = new Thread[count];
>                 for (int i=0; i<count; i++) {
>                         Thread t = new Thread(me);
>                         threads[i] = t;
>                         t.start();
>                 }
>                 for (int i=0; i<count; i++) {
>                         threads[i].join();
>                 }
>                 Context.exit();
>         }
> }
>
> ==== OUTPUT ===============================================
> ABCDE
> ABCDE
> org.mozilla.javascript.EcmaError: undefined is not a function.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> ===========================================================
>
> The number and type of exceptions is highly variable from run to run -
> anywhere from 1-9 out of 10.
> The EcmaError in particular only happens occasionally.
>
> --
> Fergus Gallagher          Tel: +44 (20) 8 987 0717
> Orbis                     Fax: +44 (20) 8 742 2649
> The Swan Centre           email: Fergus.Gallagher@orbisuk.com
> Fishers Lane              Web: http://www.orbisuk.com
> London W4 1RX / UK
2000-07-03 18:40:35 +00:00
BlakeR1234%aol.com
ec875575a4 Fix for 44442. r=me 2000-07-03 05:56:58 +00:00