From 96013927a1c339c21a32159200c15d97c8479ac9 Mon Sep 17 00:00:00 2001 From: "steveblock@google.com" Date: Tue, 19 Jul 2011 15:56:57 +0000 Subject: [PATCH] REGRESSION (r82194): jvalueToJavaValue() does not correctly set length of String property https://bugs.webkit.org/show_bug.cgi?id=64730 Reviewed by Alexey Proskuryakov. Covered by existing tests. * bridge/jni/v8/JNIUtilityPrivate.cpp: (JSC::Bindings::jvalueToJavaValue): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91260 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 12 ++++++++++++ Source/WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp | 6 +++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 32568f8d604..60a5df91074 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2011-07-19 Steve Block + + REGRESSION (r82194): jvalueToJavaValue() does not correctly set length of String property + https://bugs.webkit.org/show_bug.cgi?id=64730 + + Reviewed by Alexey Proskuryakov. + + Covered by existing tests. + + * bridge/jni/v8/JNIUtilityPrivate.cpp: + (JSC::Bindings::jvalueToJavaValue): + 2011-07-19 Vitaly Repeshko [V8] Don't put CSSRuleLists in object groups. diff --git a/Source/WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp b/Source/WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp index c9719d1da0a..5bfeeba18f3 100644 --- a/Source/WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp +++ b/Source/WebCore/bridge/jni/v8/JNIUtilityPrivate.cpp @@ -247,10 +247,10 @@ JavaValue jvalueToJavaValue(const jvalue& value, const JavaType& type) case JavaTypeString: { jstring javaString = static_cast(value.l); - const UChar* a = getUCharactersFromJStringInEnv(getJNIEnv(), javaString); + const UChar* characters = getUCharactersFromJStringInEnv(getJNIEnv(), javaString); // We take a copy to allow the Java String to be released. - result.m_stringValue = String(a).threadsafeCopy(); - releaseUCharactersForJStringInEnv(getJNIEnv(), javaString, a); + result.m_stringValue = String(characters, getJNIEnv()->GetStringLength(javaString)); + releaseUCharactersForJStringInEnv(getJNIEnv(), javaString, characters); } break; case JavaTypeBoolean: -- GitLab