Changeset 80222 in webkit
- Timestamp:
- Mar 3, 2011 2:51:05 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r80221 r80222 1 2011-03-03 Steve Block <steveblock@google.com> 2 3 Reviewed by David Levin. 4 5 JavaString API should be implementable by both JSC and V8 6 https://bugs.webkit.org/show_bug.cgi?id=55567 7 8 Remove JavaString's UString operator and replace it with a 9 script-engine-independent impl() method, which returns a 10 StringImpl and can be implemented with both JSC and V8. 11 12 No new tests, refactoring only. 13 14 * bridge/jni/JNIBridge.h: 15 (JSC::Bindings::JavaString::impl): 16 * bridge/jni/jni_jsobject.mm: 17 (JavaJSObject::call): 18 (JavaJSObject::eval): 19 (JavaJSObject::getMember): 20 (JavaJSObject::setMember): 21 (JavaJSObject::removeMember): 22 * bridge/jni/jsc/JNIBridgeJSC.cpp: 23 (JavaField::valueFromInstance): 24 (JavaField::setValueToInstance): 25 * bridge/jni/jsc/JavaClassJSC.cpp: 26 (JavaClass::JavaClass): 27 * bridge/jni/jsc/JavaInstanceJSC.cpp: 28 (JavaInstance::invokeMethod): 29 * bridge/jni/jsc/JavaStringJSC.h: 30 (JSC::Bindings::JavaStringImpl::impl): 31 * bridge/jni/v8/JavaStringV8.h: 32 (JSC::Bindings::JavaStringImpl::impl): 33 1 34 2011-03-03 Benjamin Poulain <ikipou@gmail.com> 2 35 -
trunk/Source/WebCore/bridge/jni/JNIBridge.h
r80159 r80222 64 64 const char* utf8() const { return m_impl.utf8(); } 65 65 int length() const { return m_impl.length(); } 66 #if USE(JSC) 67 operator UString() const { return m_impl.uString(); } 68 #endif 66 StringImpl* impl() const { return m_impl.impl(); } 69 67 70 68 private: -
trunk/Source/WebCore/bridge/jni/jni_jsobject.mm
r80159 r80222 287 287 JSLock lock(SilenceAssertionsOnly); 288 288 289 Identifier identifier(exec, JavaString(methodName) );289 Identifier identifier(exec, JavaString(methodName).impl()); 290 290 JSValue function = _imp->get(exec, identifier); 291 291 CallData callData; … … 317 317 318 318 rootObject->globalObject()->globalData().timeoutChecker.start(); 319 Completion completion = JSC::evaluate(rootObject->globalObject()->globalExec(), rootObject->globalObject()->globalScopeChain(), makeSource(JavaString(script) ), JSC::JSValue());319 Completion completion = JSC::evaluate(rootObject->globalObject()->globalExec(), rootObject->globalObject()->globalScopeChain(), makeSource(JavaString(script).impl()), JSC::JSValue()); 320 320 rootObject->globalObject()->globalData().timeoutChecker.stop(); 321 321 ComplType type = completion.complType(); … … 342 342 343 343 JSLock lock(SilenceAssertionsOnly); 344 JSValue result = _imp->get(exec, Identifier(exec, JavaString(memberName) ));344 JSValue result = _imp->get(exec, Identifier(exec, JavaString(memberName).impl())); 345 345 346 346 return convertValueToJObject(result); … … 359 359 JSLock lock(SilenceAssertionsOnly); 360 360 PutPropertySlot slot; 361 _imp->put(exec, Identifier(exec, JavaString(memberName) ), convertJObjectToValue(exec, value), slot);361 _imp->put(exec, Identifier(exec, JavaString(memberName).impl()), convertJObjectToValue(exec, value), slot); 362 362 } 363 363 … … 373 373 ExecState* exec = rootObject->globalObject()->globalExec(); 374 374 JSLock lock(SilenceAssertionsOnly); 375 _imp->deleteProperty(exec, Identifier(exec, JavaString(memberName) ));375 _imp->deleteProperty(exec, Identifier(exec, JavaString(memberName).impl())); 376 376 } 377 377 -
trunk/Source/WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp
r70496 r80222 151 151 } 152 152 153 LOG(LiveConnect, "JavaField::valueFromInstance getting %s = %s", UString(name() ).utf8().data(), jsresult.toString(exec).ascii().data());153 LOG(LiveConnect, "JavaField::valueFromInstance getting %s = %s", UString(name().impl()).utf8().data(), jsresult.toString(exec).ascii().data()); 154 154 155 155 return jsresult; … … 187 187 jvalue javaValue = convertValueToJValue(exec, i->rootObject(), aValue, m_JNIType, type()); 188 188 189 LOG(LiveConnect, "JavaField::setValueToInstance setting value %s to %s", UString(name() ).utf8().data(), aValue.toString(exec).ascii().data());189 LOG(LiveConnect, "JavaField::setValueToInstance setting value %s to %s", UString(name().impl()).utf8().data(), aValue.toString(exec).ascii().data()); 190 190 191 191 switch (m_JNIType) { -
trunk/Source/WebCore/bridge/jni/jsc/JavaClassJSC.cpp
r80159 r80222 64 64 { 65 65 JSLock lock(SilenceAssertionsOnly); 66 m_fields.set( ((UString)aField->name()).impl(), aField);66 m_fields.set(aField->name().impl(), aField); 67 67 } 68 68 env->DeleteLocalRef(aJField); … … 81 81 JSLock lock(SilenceAssertionsOnly); 82 82 83 methodList = m_methods.get( ((UString)aMethod->name()).impl());83 methodList = m_methods.get(aMethod->name().impl()); 84 84 if (!methodList) { 85 85 methodList = new MethodList(); 86 m_methods.set( ((UString)aMethod->name()).impl(), methodList);86 m_methods.set(aMethod->name().impl(), methodList); 87 87 } 88 88 } -
trunk/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
r79132 r80222 171 171 172 172 const JavaMethod* jMethod = static_cast<const JavaMethod*>(method); 173 LOG(LiveConnect, "JavaInstance::invokeMethod call %s %s on %p", UString(jMethod->name() ).utf8().data(), jMethod->signature(), m_instance->m_instance);173 LOG(LiveConnect, "JavaInstance::invokeMethod call %s %s on %p", UString(jMethod->name().impl()).utf8().data(), jMethod->signature(), m_instance->m_instance); 174 174 175 175 Vector<jvalue> jArgs(count); -
trunk/Source/WebCore/bridge/jni/jsc/JavaStringJSC.h
r80159 r80222 70 70 } 71 71 int length() const { return m_impl->length(); } 72 UString uString() const { return UString(m_impl); }72 StringImpl* impl() const { return m_impl.get(); } 73 73 74 74 private: -
trunk/Source/WebCore/bridge/jni/v8/JavaStringV8.h
r80159 r80222 28 28 29 29 #include "JNIUtility.h" 30 31 #include <wtf/Assertions.h> 30 32 #include <wtf/text/CString.h> 33 34 namespace WTF { 35 class StringImpl; 36 } 31 37 32 38 … … 49 55 const char* utf8() const { return m_utf8String.data(); } 50 56 int length() const { return m_utf8String.length(); } 57 StringImpl* impl() const { ASSERT_NOT_REACHED(); return 0; } 51 58 52 59 private:
Note: See TracChangeset
for help on using the changeset viewer.