Changeset 127191 in webkit for trunk/Source/JavaScriptCore/API/JSClassRef.cpp
- Timestamp:
- Aug 30, 2012, 2:23:51 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSClassRef.cpp
r126926 r127191 43 43 const JSClassDefinition kJSClassDefinitionEmpty = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 44 44 45 static inline UString tryCreateStringFromUTF8(const char* string)46 {47 if (!string)48 return UString();49 50 size_t length = strlen(string);51 Vector<UChar, 1024> buffer(length);52 UChar* p = buffer.data();53 if (conversionOK != convertUTF8ToUTF16(&string, string + length, &p, p + length))54 return UString();55 56 return UString(buffer.data(), p - buffer.data());57 }58 59 45 OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* protoClass) 60 46 : parentClass(definition->parentClass) … … 71 57 , hasInstance(definition->hasInstance) 72 58 , convertToType(definition->convertToType) 73 , m_className( tryCreateStringFromUTF8(definition->className))59 , m_className(String::fromUTF8(definition->className)) 74 60 { 75 61 initializeThreading(); … … 78 64 m_staticValues = adoptPtr(new OpaqueJSClassStaticValuesTable); 79 65 while (staticValue->name) { 80 UString valueName = tryCreateStringFromUTF8(staticValue->name);66 String valueName = String::fromUTF8(staticValue->name); 81 67 if (!valueName.isNull()) 82 68 m_staticValues->set(valueName.impl(), adoptPtr(new StaticValueEntry(staticValue->getProperty, staticValue->setProperty, staticValue->attributes))); … … 88 74 m_staticFunctions = adoptPtr(new OpaqueJSClassStaticFunctionsTable); 89 75 while (staticFunction->name) { 90 UString functionName = tryCreateStringFromUTF8(staticFunction->name);76 String functionName = String::fromUTF8(staticFunction->name); 91 77 if (!functionName.isNull()) 92 78 m_staticFunctions->set(functionName.impl(), adoptPtr(new StaticFunctionEntry(staticFunction->callAsFunction, staticFunction->attributes))); … … 171 157 } 172 158 173 UString OpaqueJSClass::className()159 String OpaqueJSClass::className() 174 160 { 175 161 // Make a deep copy, so that the caller has no chance to put the original into IdentifierTable. 176 return UString(m_className.characters(), m_className.length());162 return m_className.isolatedCopy(); 177 163 } 178 164
Note:
See TracChangeset
for help on using the changeset viewer.