Changeset 162185 in webkit for trunk/Source/JavaScriptCore/API/OpaqueJSString.h
- Timestamp:
- Jan 16, 2014, 10:50:26 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/OpaqueJSString.h
r161851 r162185 36 36 37 37 struct OpaqueJSString : public ThreadSafeRefCounted<OpaqueJSString> { 38 39 static PassRefPtr<OpaqueJSString> create() // null 38 static PassRefPtr<OpaqueJSString> create() 40 39 { 41 40 return adoptRef(new OpaqueJSString); … … 54 53 JS_EXPORT_PRIVATE static PassRefPtr<OpaqueJSString> create(const String&); 55 54 56 const UChar* characters() { return deprecatedCharacters(); } // FIXME: Delete this. 57 const UChar* deprecatedCharacters() { return this ? m_string.deprecatedCharacters() : nullptr; } 55 ~OpaqueJSString(); 56 57 bool is8Bit() { return this ? m_string.is8Bit() : false; } 58 const LChar* characters8() { return this ? m_string.characters8() : nullptr; } 59 const UChar* characters16() { return this ? m_string.characters16() : nullptr; } 58 60 unsigned length() { return this ? m_string.length() : 0; } 61 62 const UChar* characters(); 59 63 60 64 JS_EXPORT_PRIVATE String string() const; 61 65 JSC::Identifier identifier(JSC::VM*) const; 66 67 static bool equal(const OpaqueJSString*, const OpaqueJSString*); 62 68 63 69 private: … … 70 76 OpaqueJSString(const String& string) 71 77 : m_string(string.isolatedCopy()) 78 , m_characters(nullptr) 72 79 { 73 80 } … … 75 82 OpaqueJSString(const LChar* characters, unsigned length) 76 83 : m_string(characters, length) 84 , m_characters(nullptr) 77 85 { 78 86 } … … 80 88 OpaqueJSString(const UChar* characters, unsigned length) 81 89 : m_string(characters, length) 90 , m_characters(nullptr) 82 91 { 83 92 } 84 93 85 94 String m_string; 95 96 // This will be initialized on demand when characters() is called. 97 std::atomic<UChar*> m_characters; 86 98 }; 87 99
Note:
See TracChangeset
for help on using the changeset viewer.