DOMTokenList: Update serialization algorithm on add()/remove()
We should re-serialize the whole token list even if an operation didn't change
the list items.
* blink::ClassList
This class doesn't use DOMTokenList::tokens_, and usually uses
ElementData::class_names_. We can't update it before setAttribute(). So this class
creates SpaceSplitString for mutation on the fly.
* blink::RelList
This class doesn't use DOMTokenList::tokens_. MutableSet() should refer to
rel_values_ instead.
* blink::DOMTokenList
For other DOMTokenLists, we can mutate tokens_ directly.
BUG=600964
Review-Url: https://codereview.chromium.org/2895903002
Cr-Commit-Position: refs/heads/master@{#474229}
13 files changed