summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/API/OpaqueJSString.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-16 14:56:46 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-16 14:57:30 +0200
commitb297e0fa5c217c9467033b7c8b46891a52870120 (patch)
tree43fc14689295e9e64f2719d05aad94e3049f6cd7 /Source/JavaScriptCore/API/OpaqueJSString.cpp
parent69d517dbfa69903d8593cc1737f0474b21e3251e (diff)
downloadqtwebkit-b297e0fa5c217c9467033b7c8b46891a52870120.tar.gz
Revert "Imported WebKit commit 0dc6cd75e1d4836eaffbb520be96fac4847cc9d2 (http://svn.webkit.org/repository/webkit/trunk@131300)"
This reverts commit 5466563f4b5b6b86523e3f89bb7f77e5b5270c78. Caused OOM issues on some CI machines :(
Diffstat (limited to 'Source/JavaScriptCore/API/OpaqueJSString.cpp')
-rw-r--r--Source/JavaScriptCore/API/OpaqueJSString.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/Source/JavaScriptCore/API/OpaqueJSString.cpp b/Source/JavaScriptCore/API/OpaqueJSString.cpp
index ac7cfd16a..457cb27f7 100644
--- a/Source/JavaScriptCore/API/OpaqueJSString.cpp
+++ b/Source/JavaScriptCore/API/OpaqueJSString.cpp
@@ -35,26 +35,21 @@ using namespace JSC;
PassRefPtr<OpaqueJSString> OpaqueJSString::create(const String& string)
{
if (!string.isNull())
- return adoptRef(new OpaqueJSString(string));
+ return adoptRef(new OpaqueJSString(string.characters(), string.length()));
return 0;
}
String OpaqueJSString::string() const
{
- if (!this)
- return String();
-
- // Return a copy of the wrapped string, because the caller may make it an Identifier.
- return m_string.isolatedCopy();
+ if (this && m_characters)
+ return String(m_characters, m_length);
+ return String();
}
Identifier OpaqueJSString::identifier(JSGlobalData* globalData) const
{
- if (!this || !m_string.length())
+ if (!this || !m_characters)
return Identifier(globalData, static_cast<const char*>(0));
- if (m_string.is8Bit())
- return Identifier(globalData, m_string.characters8(), m_string.length());
-
- return Identifier(globalData, m_string.characters16(), m_string.length());
+ return Identifier(globalData, m_characters, m_length);
}