+ Vector<LChar, 1024> lcharBuffer(length);
+ CFIndex usedBufferLength;
+ CFIndex convertedSize = CFStringGetBytes(string, CFRangeMake(0, length), kCFStringEncodingISOLatin1, 0, false, lcharBuffer.data(), length, &usedBufferLength);
+ if (static_cast<size_t>(convertedSize) == length && static_cast<size_t>(usedBufferLength) == length)
+ return OpaqueJSString::create(lcharBuffer.data(), length).leakRef();
+
+ OwnArrayPtr<UniChar> buffer = adoptArrayPtr(new UniChar[length]);