Changeset 62416 in webkit for trunk/JavaScriptCore/wtf/text/StringImpl.h
- Timestamp:
- Jul 2, 2010, 4:49:07 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/text/StringImpl.h
r62410 r62416 258 258 } 259 259 260 PassRefPtr<StringImpl> copyStringWithoutBOMs(bool definitelyHasBOMs, bool& hasBOMs)261 {262 static const UChar byteOrderMark = 0xFEFF;263 size_t i = 0;264 if (!definitelyHasBOMs) {265 hasBOMs = false;266 // ECMA-262 calls for stripping all Cf characters, but we only strip BOM characters.267 // See <https://bugs.webkit.org/show_bug.cgi?id=4931> for details.268 for (; i < m_length; i++) {269 if (UNLIKELY(m_data[i] == byteOrderMark)) {270 hasBOMs = true;271 break;272 }273 }274 if (!hasBOMs)275 return this;276 }277 Vector<UChar> result;278 result.reserveInitialCapacity(m_length);279 for (; i < m_length; i++)280 result.append(m_data[i]);281 for (; i < m_length; i++) {282 UChar c = m_data[i];283 if (c != byteOrderMark)284 result.append(c);285 }286 return StringImpl::adopt(result);287 }288 289 260 // Returns a StringImpl suitable for use on another thread. 290 261 PassRefPtr<StringImpl> crossThreadString();
Note:
See TracChangeset
for help on using the changeset viewer.