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