Fixed <rdar://problem/3923356> REGRESSION: Java/JavaScript security checks working...
authorrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Jan 2005 23:24:18 +0000 (23:24 +0000)
committerrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Jan 2005 23:24:18 +0000 (23:24 +0000)
We were always returning the first "root" object for all runtime
objects.  Changed 0 in loop to i, the index.

        Reviewed by David Harrison.

        * bindings/runtime_root.cpp:
        (KJS::Bindings::rootForImp):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8345 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/bindings/runtime_root.cpp

index 4fe1a82d5ab08ba92496e05220385c77613c0f1e..eafa257223e4909ecc5e9c9e1a956a54033502c5 100644 (file)
@@ -1,3 +1,15 @@
+2005-01-12  Richard Williamson   <rjw@apple.com>
+
+       Fixed <rdar://problem/3923356> REGRESSION: Java/JavaScript security checks working incorrectly
+
+       We were always returning the first "root" object for all runtime
+       objects.  Changed 0 in loop to i, the index.
+
+        Reviewed by David Harrison.
+
+        * bindings/runtime_root.cpp:
+        (KJS::Bindings::rootForImp):
+
 2005-01-11  Richard Williamson   <rjw@apple.com>
 
        Fixed <rdar://problem/3887930> Must use new Java plug-in API to get/set fields so exception handling works (fixes many LiveConnect crashes)
index 5d633bc2ceb227d5adfbc3ae83d6cf97b1a95ec0..73a177e3b0ab04e301d64413b13559b28000bcb1 100644 (file)
@@ -28,7 +28,6 @@
 using namespace KJS;
 using namespace KJS::Bindings;
 
-
 // Java does NOT always call finalize (and thus KJS_JSObject_JSFinalize) when
 // it collects an objects.  This presents some difficulties.  We must ensure
 // the a JSObject's corresponding JavaScript object doesn't get collected.  We
@@ -115,7 +114,7 @@ const Bindings::RootObject *KJS::Bindings::rootForImp (ObjectImp *imp)
         for(i = 0; i < count; i++) {
             CFMutableDictionaryRef referencesDictionary = (CFMutableDictionaryRef)allValues[i];
             if (CFDictionaryGetValue(referencesDictionary, imp) != 0) {
-                rootObject = (const Bindings::RootObject *)allKeys[0];
+                rootObject = (const Bindings::RootObject *)allKeys[i];
                 break;
             }
         }