Changeset 80156 in webkit


Ignore:
Timestamp:
Mar 2, 2011 12:22:45 PM (13 years ago)
Author:
steveblock@google.com
Message:

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

Reviewed by Jeremy Orlow.

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/JavaClassJSC.cpp: (JavaClass::JavaClass):
  • bridge/jni/jsc/JavaStringJSC.h: (JSC::Bindings::JavaStringImpl::impl):
  • bridge/jni/v8/JavaStringV8.h: (JSC::Bindings::JavaStringImpl::impl):
Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r80155 r80156  
     12011-03-02  Steve Block  <steveblock@google.com>
     2
     3        Reviewed by Jeremy Orlow.
     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/JavaClassJSC.cpp:
     23        (JavaClass::JavaClass):
     24        * bridge/jni/jsc/JavaStringJSC.h:
     25        (JSC::Bindings::JavaStringImpl::impl):
     26        * bridge/jni/v8/JavaStringV8.h:
     27        (JSC::Bindings::JavaStringImpl::impl):
     28
    1292011-03-02  Mihai Parparita  <mihaip@chromium.org>
    230
  • trunk/Source/WebCore/bridge/jni/JNIBridge.h

    r80004 r80156  
    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

    r70406 r80156  
    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/JavaClassJSC.cpp

    r65104 r80156  
    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/JavaStringJSC.h

    r80004 r80156  
    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

    r80004 r80156  
    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.