| Index: third_party/WebKit/Source/core/dom/DOMTokenList.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/DOMTokenList.cpp b/third_party/WebKit/Source/core/dom/DOMTokenList.cpp
|
| index b931c6832e9744863c0e2b61a36454b92573d15c..1149d40fbb15821f490493f7be53d807bdc428f7 100644
|
| --- a/third_party/WebKit/Source/core/dom/DOMTokenList.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/DOMTokenList.cpp
|
| @@ -153,8 +153,7 @@ void DOMTokenList::remove(const Vector<String>& tokens,
|
| }
|
| }
|
|
|
| - if (found)
|
| - setValue(removeTokens(value(), tokens));
|
| + setValue(found ? removeTokens(value(), tokens) : value());
|
| }
|
|
|
| bool DOMTokenList::toggle(const AtomicString& token,
|
| @@ -291,8 +290,10 @@ AtomicString DOMTokenList::removeTokens(const AtomicString& input,
|
| }
|
|
|
| void DOMTokenList::setValue(const AtomicString& value) {
|
| + bool valueChanged = m_value != value;
|
| m_value = value;
|
| - m_tokens.set(value, SpaceSplitString::ShouldNotFoldCase);
|
| + if (valueChanged)
|
| + m_tokens.set(value, SpaceSplitString::ShouldNotFoldCase);
|
| if (m_observer)
|
| m_observer->valueWasSet();
|
| }
|
|
|