Mercurial > hg > release > icedtea-web-1.6
changeset 1144:382fb9c6634f
Fix accessing Java array elements from Javascript. PR1298.
2015-01-29 Jie Kang <jkang@redhat.com>
Fix accessing Java array elements from Javascript. PR1298. Fix provided by
Marcin Cieslak
* AUTHORS : Add Marcin Cieslak to authors.
* NEWS : Add fix to news
* plugin/icedteanp/IcedTeaPluginUtils.cc: (javaObjectResultToNPVariant) add
jclass_name parameter to javaObjectResultToNPVariant function and use to
determine type of object.
author | Jie Kang <jkang@redhat.com> |
---|---|
date | Thu, 29 Jan 2015 12:22:18 -0500 |
parents | 16760ac4a689 |
children | f214f6ad1223 |
files | AUTHORS ChangeLog NEWS plugin/icedteanp/IcedTeaPluginUtils.cc |
diffstat | 4 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/AUTHORS Wed Jan 28 10:12:28 2015 -0500 +++ b/AUTHORS Thu Jan 29 12:22:18 2015 -0500 @@ -5,6 +5,7 @@ Andrew Azores <aazores@redhat.com> Deepak Bhole <dbhole@redhat.com> Ricardo MartÃn Camarero <rickyepoderi@yahoo.es> +Marcin Cieslak <marcin.cieslak@gmail.com> Danesh Dadachanji <ddadacha@redhat.com> Adam Domurad <adomurad@redhat.com> Lukasz Dracz <ldracz@redhat.com>
--- a/ChangeLog Wed Jan 28 10:12:28 2015 -0500 +++ b/ChangeLog Thu Jan 29 12:22:18 2015 -0500 @@ -1,3 +1,13 @@ +2015-01-29 Jie Kang <jkang@redhat.com> + + Fix accessing Java array elements from Javascript. PR1298. Fix provided by + Marcin Cieslak + * AUTHORS : Add Marcin Cieslak to authors. + * NEWS : Add fix to news + * plugin/icedteanp/IcedTeaPluginUtils.cc: (javaObjectResultToNPVariant) add + jclass_name parameter to javaObjectResultToNPVariant function and use to + determine type of object. + 2015-01-28 Jie Kang <jkang@redhat.com> Refactor initialize/download runnable out of ResourceTracker and add tests
--- a/NEWS Wed Jan 28 10:12:28 2015 -0500 +++ b/NEWS Thu Jan 29 12:22:18 2015 -0500 @@ -29,6 +29,7 @@ - added support for -html switch for javaws. Now you can run most of the applets without browser at all * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor + - PR1298 - LiveConnect - problem setting array elements (applet variables) from JS - RH1121549: coverity defects - Resolves method overloading correctly with superclass heirarchy distance * PolicyEditor
--- a/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Jan 28 10:12:28 2015 -0500 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Thu Jan 29 12:22:18 2015 -0500 @@ -863,7 +863,7 @@ } static bool -javaObjectResultToNPVariant(NPP instance, const std::string& jobject_id, NPVariant* variant) +javaObjectResultToNPVariant(NPP instance, const std::string& jclass_name, const std::string& jobject_id, NPVariant* variant) { // Reference the class object so we can construct an NPObject with it and the instance @@ -878,12 +878,14 @@ std::string jclass_id = *jclass_result->return_string; NPObject* obj; - if (jclass_id.at(0) == '[') // array + if (jclass_name.at(0) == '[') // array { + PLUGIN_DEBUG( "javaObjectResultToNPVariant Array detected: \"%s\"\n", jclass_name.c_str()); obj = IcedTeaScriptableJavaObject::get_scriptable_java_object(instance, jclass_id, jobject_id, true); } else { + PLUGIN_DEBUG( "javaObjectResultToNPVariant Scalar object: \"%s\"\n", jclass_name.c_str()); obj = IcedTeaScriptableJavaObject::get_scriptable_java_object(instance, jclass_id, jobject_id, false); } @@ -924,7 +926,8 @@ return javaStringResultToNPVariant(jobject_id, variant); } else // Else this needs a java object wrapper { - return javaObjectResultToNPVariant(instance, jobject_id, variant); + return javaObjectResultToNPVariant(instance, *jclassname_result->return_string, + jobject_id, variant); } }