aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/icedteanp/IcedTeaNPPlugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/icedteanp/IcedTeaNPPlugin.cc')
-rw-r--r--plugin/icedteanp/IcedTeaNPPlugin.cc36
1 files changed, 4 insertions, 32 deletions
diff --git a/plugin/icedteanp/IcedTeaNPPlugin.cc b/plugin/icedteanp/IcedTeaNPPlugin.cc
index bfce1ae..e806d29 100644
--- a/plugin/icedteanp/IcedTeaNPPlugin.cc
+++ b/plugin/icedteanp/IcedTeaNPPlugin.cc
@@ -2101,14 +2101,6 @@ get_scriptable_object(NPP instance)
if (data->is_applet_instance) // dummy instance/package?
{
- JavaRequestProcessor java_request = JavaRequestProcessor();
- JavaResultData* java_result;
- std::string instance_id = std::string();
- std::string applet_class_id = std::string();
-
- int id = get_id_from_instance(instance);
- gchar* id_str = g_strdup_printf ("%d", id);
-
// Some browsers.. (e.g. chromium) don't call NPP_SetWindow
// for 0x0 plugins and therefore require initialization with
// a 0 handle
@@ -2117,30 +2109,10 @@ get_scriptable_object(NPP instance)
plugin_send_initialization_message(data->instance_id, 0, 0, 0, data->parameters_string);
}
- java_result = java_request.getAppletObjectInstance(id_str);
-
- g_free(id_str);
-
- if (java_result->error_occurred)
- {
- printf("Error: Unable to fetch applet instance id from Java side.\n");
- return NULL;
- }
-
- instance_id.append(*(java_result->return_string));
-
- java_result = java_request.getClassID(instance_id);
-
- if (java_result->error_occurred)
- {
- printf("Error: Unable to fetch applet instance id from Java side.\n");
- return NULL;
- }
-
- applet_class_id.append(*(java_result->return_string));
-
- obj = IcedTeaScriptableJavaObject::get_scriptable_java_object(instance, applet_class_id, instance_id, false);
-
+ NPObjectRef applet_object = IcedTeaScriptableJavaObject::get_scriptable_applet_object(instance);
+ /* Retain because we are returning an NPObject* */
+ applet_object.raw_retain();
+ obj = applet_object.get();
} else
{
obj = IcedTeaScriptableJavaPackageObject::get_scriptable_java_package_object(instance, "");