Changeset 80222 in webkit


Ignore:
Timestamp:
Mar 3, 2011 2:51:05 AM (13 years ago)
Author:
steveblock@google.com
Message:

2011-03-03 Steve Block <steveblock@google.com>

Reviewed by David Levin.

JavaString API should be implementable by both JSC and V8
https://bugs.webkit.org/show_bug.cgi?id=55567

Remove JavaString's UString operator and replace it with a
script-engine-independent impl() method, which returns a
StringImpl and can be implemented with both JSC and V8.

No new tests, refactoring only.

  • bridge/jni/JNIBridge.h: (JSC::Bindings::JavaString::impl):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::eval): (JavaJSObject::getMember): (JavaJSObject::setMember): (JavaJSObject::removeMember):
  • bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): (JavaField::setValueToInstance):
  • bridge/jni/jsc/JavaClassJSC.cpp: (JavaClass::JavaClass):
  • bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod):
  • bridge/jni/jsc/JavaStringJSC.h: (JSC::Bindings::JavaStringImpl::impl):
  • bridge/jni/v8/JavaStringV8.h: (JSC::Bindings::JavaStringImpl::impl):
Location:
trunk/Source/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r80221 r80222  
     12011-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
    1342011-03-03  Benjamin Poulain  <ikipou@gmail.com>
    235
  • trunk/Source/WebCore/bridge/jni/JNIBridge.h

    r80159 r80222  
    6464    const char* utf8() const { return m_impl.utf8(); }
    6565    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(); }
    6967
    7068private:
  • trunk/Source/WebCore/bridge/jni/jni_jsobject.mm

    r80159 r80222  
    287287    JSLock lock(SilenceAssertionsOnly);
    288288   
    289     Identifier identifier(exec, JavaString(methodName));
     289    Identifier identifier(exec, JavaString(methodName).impl());
    290290    JSValue function = _imp->get(exec, identifier);
    291291    CallData callData;
     
    317317
    318318    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());
    320320    rootObject->globalObject()->globalData().timeoutChecker.stop();
    321321    ComplType type = completion.complType();
     
    342342   
    343343    JSLock lock(SilenceAssertionsOnly);
    344     JSValue result = _imp->get(exec, Identifier(exec, JavaString(memberName)));
     344    JSValue result = _imp->get(exec, Identifier(exec, JavaString(memberName).impl()));
    345345
    346346    return convertValueToJObject(result);
     
    359359    JSLock lock(SilenceAssertionsOnly);
    360360    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);
    362362}
    363363
     
    373373    ExecState* exec = rootObject->globalObject()->globalExec();
    374374    JSLock lock(SilenceAssertionsOnly);
    375     _imp->deleteProperty(exec, Identifier(exec, JavaString(memberName)));
     375    _imp->deleteProperty(exec, Identifier(exec, JavaString(memberName).impl()));
    376376}
    377377
  • trunk/Source/WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp

    r70496 r80222  
    151151    }
    152152
    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());
    154154
    155155    return jsresult;
     
    187187    jvalue javaValue = convertValueToJValue(exec, i->rootObject(), aValue, m_JNIType, type());
    188188
    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());
    190190
    191191    switch (m_JNIType) {
  • trunk/Source/WebCore/bridge/jni/jsc/JavaClassJSC.cpp

    r80159 r80222  
    6464            {
    6565                JSLock lock(SilenceAssertionsOnly);
    66                 m_fields.set(((UString)aField->name()).impl(), aField);
     66                m_fields.set(aField->name().impl(), aField);
    6767            }
    6868            env->DeleteLocalRef(aJField);
     
    8181                JSLock lock(SilenceAssertionsOnly);
    8282
    83                 methodList = m_methods.get(((UString)aMethod->name()).impl());
     83                methodList = m_methods.get(aMethod->name().impl());
    8484                if (!methodList) {
    8585                    methodList = new MethodList();
    86                     m_methods.set(((UString)aMethod->name()).impl(), methodList);
     86                    m_methods.set(aMethod->name().impl(), methodList);
    8787                }
    8888            }
  • trunk/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp

    r79132 r80222  
    171171
    172172    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);
    174174
    175175    Vector<jvalue> jArgs(count);
  • trunk/Source/WebCore/bridge/jni/jsc/JavaStringJSC.h

    r80159 r80222  
    7070    }
    7171    int length() const { return m_impl->length(); }
    72     UString uString() const { return UString(m_impl); }
     72    StringImpl* impl() const { return m_impl.get(); }
    7373
    7474private:
  • trunk/Source/WebCore/bridge/jni/v8/JavaStringV8.h

    r80159 r80222  
    2828
    2929#include "JNIUtility.h"
     30
     31#include <wtf/Assertions.h>
    3032#include <wtf/text/CString.h>
     33
     34namespace WTF {
     35class StringImpl;
     36}
    3137
    3238
     
    4955    const char* utf8() const { return m_utf8String.data(); }
    5056    int length() const { return m_utf8String.length(); }
     57    StringImpl* impl() const { ASSERT_NOT_REACHED(); return 0; }
    5158
    5259private:
Note: See TracChangeset for help on using the changeset viewer.