WebKit:
authorrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Aug 2004 21:57:16 +0000 (21:57 +0000)
committerrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Aug 2004 21:57:16 +0000 (21:57 +0000)
commit85c9dbb9f0b37e91a5599a9fa01b0dec1683dea4
tree431b201da539c95e91e2ae193a41d3e46e450e93
parent89835a74d4a3de5a97dc45c0d873f6f0211667ec
WebKit:
    Implemented new JNI abstraction.  We no longer invoke Java methods
    directly with JNI, rather we call into the plugin.  This allows the
    plugin to dispatch the call to the appropriate VM thread.  This
    change should (will?) fix a whole class of threading related problems with
    the Java VM.

        Reviewed by Hyatt.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge getAppletInView:]):

WebCore:
        Implemented new JNI abstraction.  We no longer invoke Java methods
        directly with JNI, rather we call into the plugin.  This allows the
        plugin to dispatch the call to the appropriate VM thread.  This
        change should (will?) fix a whole class of threading related problems with
        the Java VM.

        Reviewed by Hyatt.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::getAppletInstanceForView):
        * kwq/WebCoreBridge.mm:
        (rootForView):
        (-[WebCoreBridge executionContextForView:]):

JavaScriptCore:
        Implemented new JNI abstraction.  We no longer invoke Java methods
        directly with JNI, rather we call into the plugin.  This allows the
        plugin to dispatch the call to the appropriate VM thread.  This
        change should (will?) fix a whole class of threading related problems with
        the Java VM.

        Reviewed by Hyatt.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/c/c_instance.h:
        (KJS::Bindings::CInstance::setExecutionContext):
        (KJS::Bindings::CInstance::executionContext):
        * bindings/jni/jni_instance.cpp:
        (JavaInstance::JavaInstance):
        (JavaInstance::invokeMethod):
        (JavaInstance::setExecutionContext):
        (JavaInstance::executionContext):
        * bindings/jni/jni_instance.h:
        * bindings/jni/jni_jsobject.cpp:
        (JSObject::convertJObjectToValue):
        * bindings/jni/jni_runtime.cpp:
        (JavaField::JavaField):
        (JavaArray::convertJObjectToArray):
        (JavaField::valueFromInstance):
        (JavaArray::JavaArray):
        (JavaArray::valueAt):
        * bindings/jni/jni_runtime.h:
        (KJS::Bindings::JavaArray::operator=):
        (KJS::Bindings::JavaArray::executionContext):
        * bindings/jni/jni_utility.h:
        * bindings/objc/objc_instance.h:
        (KJS::Bindings::ObjcInstance::setExecutionContext):
        (KJS::Bindings::ObjcInstance::executionContext):
        * bindings/runtime.cpp:
        (Instance::createBindingForLanguageInstance):
        * bindings/runtime.h:
        * bindings/runtime_root.h:
        (KJS::Bindings::RootObject::nativeHandle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
18 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
JavaScriptCore/bindings/c/c_instance.h
JavaScriptCore/bindings/jni/jni_instance.cpp
JavaScriptCore/bindings/jni/jni_instance.h
JavaScriptCore/bindings/jni/jni_jsobject.cpp
JavaScriptCore/bindings/jni/jni_runtime.cpp
JavaScriptCore/bindings/jni/jni_runtime.h
JavaScriptCore/bindings/jni/jni_utility.h
JavaScriptCore/bindings/objc/objc_instance.h
JavaScriptCore/bindings/runtime.cpp
JavaScriptCore/bindings/runtime.h
JavaScriptCore/bindings/runtime_root.h
WebCore/ChangeLog-2005-08-23
WebCore/kwq/KWQKHTMLPart.mm
WebCore/kwq/WebCoreBridge.mm
WebKit/ChangeLog
WebKit/WebCoreSupport.subproj/WebBridge.m