Changeset 80339 in webkit
- Timestamp:
- Mar 4, 2011 1:45:13 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r80338 r80339 1 2011-03-04 Steve Block <steveblock@google.com> 2 3 Reviewed by Jeremy Orlow. 4 5 V8 version of JavaString should obtain string from JNI in UTF-16 encoding 6 https://bugs.webkit.org/show_bug.cgi?id=55566 7 8 We obtain the string from JNI in UTF-16 encoding and convert 9 to UTF-8 using our own routines as required. This matches the 10 behaviour of the JSC version of JavaString. 11 12 No new tests, no change in behaviour. 13 14 * bridge/jni/v8/JavaStringV8.h: 15 (JSC::Bindings::JavaStringImpl::init): 16 (JSC::Bindings::JavaStringImpl::utf8): 17 (JSC::Bindings::JavaStringImpl::impl): 18 1 19 2011-03-03 Pavel Feldman <pfeldman@chromium.org> 2 20 -
trunk/Source/WebCore/bridge/jni/v8/JavaStringV8.h
r80222 r80339 29 29 #include "JNIUtility.h" 30 30 31 #include <wtf/Assertions.h>32 31 #include <wtf/text/CString.h> 33 34 namespace WTF { 35 class StringImpl; 36 } 32 #include <wtf/text/WTFString.h> 37 33 38 34 … … 45 41 void init() {} 46 42 47 void init(JNIEnv* e , jstring s)43 void init(JNIEnv* env, jstring string) 48 44 { 49 int size = e ->GetStringLength(s);50 const char* cs = getCharactersFromJStringInEnv(e, s);51 m_ utf8String = WTF::CString(cs, size);52 release CharactersForJStringInEnv(e, s, cs);45 int size = env->GetStringLength(string); 46 const jchar* jChars = getUCharactersFromJStringInEnv(env, string); 47 m_impl = StringImpl::create(jChars, size); 48 releaseUCharactersForJStringInEnv(env, string, jChars); 53 49 } 54 50 55 const char* utf8() const { return m_utf8String.data(); } 51 const char* utf8() const 52 { 53 if (!m_utf8String.data()) 54 m_utf8String = String(m_impl).utf8(); 55 return m_utf8String.data(); 56 } 56 57 int length() const { return m_utf8String.length(); } 57 StringImpl* impl() const { ASSERT_NOT_REACHED(); return 0; }58 StringImpl* impl() const { return m_impl.get(); } 58 59 59 60 private: 60 WTF::CString m_utf8String; 61 RefPtr<StringImpl> m_impl; 62 mutable CString m_utf8String; 61 63 }; 62 64
Note: See TracChangeset
for help on using the changeset viewer.