| Index: third_party/WebKit/Source/wtf/text/StringView.cpp
|
| diff --git a/third_party/WebKit/Source/wtf/text/StringView.cpp b/third_party/WebKit/Source/wtf/text/StringView.cpp
|
| index 8fc2238358b8962926da02415899ce2e60080681..e88703b8ce5ceadd2e0c33696a2aad2cc361e441 100644
|
| --- a/third_party/WebKit/Source/wtf/text/StringView.cpp
|
| +++ b/third_party/WebKit/Source/wtf/text/StringView.cpp
|
| @@ -6,21 +6,15 @@
|
|
|
| namespace WTF {
|
|
|
| -StringView::StringView(const UChar* chars, unsigned length)
|
| - : m_length(length)
|
| - , m_is8Bit(false)
|
| -{
|
| - m_data.characters16 = chars;
|
| -}
|
| -
|
| StringView::StringView(const UChar* chars)
|
| : StringView(chars, chars ? lengthOfNullTerminatedString(chars) : 0) {}
|
|
|
| #if DCHECK_IS_ON()
|
| StringView::~StringView()
|
| {
|
| - // StringView does not own the StringImpl, we must not be the last ref.
|
| - DCHECK(!m_impl || !m_impl->hasOneRef());
|
| + DCHECK(m_impl);
|
| + DCHECK(!m_impl->hasOneRef())
|
| + << "StringView does not own the StringImpl, it must not have the last ref.";
|
| }
|
| #endif
|
|
|
| @@ -30,9 +24,11 @@ String StringView::toString() const
|
| return String();
|
| if (isEmpty())
|
| return emptyString();
|
| + if (StringImpl* impl = sharedImpl())
|
| + return impl;
|
| if (is8Bit())
|
| - return String(m_data.characters8, m_length);
|
| - return StringImpl::create8BitIfPossible(m_data.characters16, m_length);
|
| + return String(characters8(), m_length);
|
| + return StringImpl::create8BitIfPossible(characters16(), m_length);
|
| }
|
|
|
| AtomicString StringView::toAtomicString() const
|
| @@ -41,9 +37,11 @@ AtomicString StringView::toAtomicString() const
|
| return nullAtom;
|
| if (isEmpty())
|
| return emptyAtom;
|
| + if (StringImpl* impl = sharedImpl())
|
| + return AtomicString(impl);
|
| if (is8Bit())
|
| - return AtomicString(m_data.characters8, m_length);
|
| - return AtomicString(m_data.characters16, m_length);
|
| + return AtomicString(characters8(), m_length);
|
| + return AtomicString(characters16(), m_length);
|
| }
|
|
|
| bool equalStringView(const StringView& a, const StringView& b)
|
|
|