| Index: third_party/WebKit/Source/core/css/parser/CSSParserToken.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/parser/CSSParserToken.cpp b/third_party/WebKit/Source/core/css/parser/CSSParserToken.cpp
|
| index 864a5ea1bea4505e7f64ae0c864ddfd265169f13..93dc74d1fd524d8679a618ded6c730ee9b4d45be 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/CSSParserToken.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/CSSParserToken.cpp
|
| @@ -147,6 +147,22 @@ CSSParserToken CSSParserToken::copyWithUpdatedString(const CSSParserString& pars
|
| return copy;
|
| }
|
|
|
| +bool CSSParserToken::valueDataCharRawEqual(const CSSParserToken& other) const
|
| +{
|
| + if (m_valueLength != other.m_valueLength)
|
| + return false;
|
| +
|
| + if (m_valueIs8Bit) {
|
| + return other.m_valueIs8Bit ?
|
| + equal(static_cast<const LChar*>(m_valueDataCharRaw), static_cast<const LChar*>(other.m_valueDataCharRaw), m_valueLength) :
|
| + equal(static_cast<const LChar*>(m_valueDataCharRaw), static_cast<const UChar*>(other.m_valueDataCharRaw), m_valueLength);
|
| + } else {
|
| + return other.m_valueIs8Bit ?
|
| + equal(static_cast<const UChar*>(m_valueDataCharRaw), static_cast<const LChar*>(other.m_valueDataCharRaw), m_valueLength) :
|
| + equal(static_cast<const UChar*>(m_valueDataCharRaw), static_cast<const UChar*>(other.m_valueDataCharRaw), m_valueLength);
|
| + }
|
| +}
|
| +
|
| bool CSSParserToken::operator==(const CSSParserToken& other) const
|
| {
|
| if (m_type != other.m_type)
|
| @@ -162,9 +178,9 @@ bool CSSParserToken::operator==(const CSSParserToken& other) const
|
| case FunctionToken:
|
| case StringToken:
|
| case UrlToken:
|
| - return m_valueDataCharRaw == other.m_valueDataCharRaw && m_valueLength == other.m_valueLength && m_valueIs8Bit == other.m_valueIs8Bit;
|
| + return valueDataCharRawEqual(other);
|
| case DimensionToken:
|
| - if (m_valueDataCharRaw != other.m_valueDataCharRaw || m_valueLength != other.m_valueLength || m_valueIs8Bit != other.m_valueIs8Bit)
|
| + if (!valueDataCharRawEqual(other))
|
| return false;
|
| // fallthrough
|
| case NumberToken:
|
|
|