Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Issue 2895903002: DOMTokenList: Update serialization algorithm on add()/remove() (Closed)

Created:
3 years, 7 months ago by tkent
Modified:
3 years, 7 months ago
Reviewers:
kochi
CC:
blink-reviews, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, blink-reviews-w3ctests_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

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} Committed: https://chromium.googlesource.com/chromium/src/+/1806913f25daa9da5ca69a0115fe74addaa35d32

Patch Set 1 #

Patch Set 2 : Remove one -expected.txt #

Total comments: 6

Patch Set 3 : Apply review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+186 lines, -252 lines) Patch
M third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Element-classlist-expected.txt View 1 2 21 chunks +91 lines, -91 lines 0 comments Download
D third_party/WebKit/LayoutTests/external/wpt/dom/nodes/MutationObserver-attributes-expected.txt View 1 1 chunk +0 lines, -45 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/HTMLElement/class-list-expected.txt View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/HTMLElement/class-list-quirks-expected.txt View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/HTMLElement/resources/class-list.js View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/HTMLOutputElement/dom-token-list.html View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/HTMLOutputElement/dom-token-list-expected.txt View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DOMTokenList.h View 1 2 1 chunk +6 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DOMTokenList.cpp View 1 2 6 chunks +58 lines, -97 lines 0 comments Download
M third_party/WebKit/Source/core/dom/SpaceSplitString.cpp View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/ClassList.h View 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/ClassList.cpp View 1 chunk +10 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/RelList.h View 1 chunk +1 line, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 25 (19 generated)
tkent
kochi@, would you review this please?
3 years, 7 months ago (2017-05-22 09:05:25 UTC) #7
kochi
https://codereview.chromium.org/2895903002/diff/20001/third_party/WebKit/Source/core/dom/DOMTokenList.cpp File third_party/WebKit/Source/core/dom/DOMTokenList.cpp (right): https://codereview.chromium.org/2895903002/diff/20001/third_party/WebKit/Source/core/dom/DOMTokenList.cpp#newcode92 third_party/WebKit/Source/core/dom/DOMTokenList.cpp:92: // InvalidCharacterError. This comment is identical to line 111-, ...
3 years, 7 months ago (2017-05-24 05:46:01 UTC) #14
tkent
https://codereview.chromium.org/2895903002/diff/20001/third_party/WebKit/Source/core/dom/DOMTokenList.cpp File third_party/WebKit/Source/core/dom/DOMTokenList.cpp (right): https://codereview.chromium.org/2895903002/diff/20001/third_party/WebKit/Source/core/dom/DOMTokenList.cpp#newcode92 third_party/WebKit/Source/core/dom/DOMTokenList.cpp:92: // InvalidCharacterError. On 2017/05/24 at 05:46:00, kochi wrote: > ...
3 years, 7 months ago (2017-05-24 06:05:34 UTC) #15
kochi
lgtm
3 years, 7 months ago (2017-05-24 06:23:46 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2895903002/40001
3 years, 7 months ago (2017-05-24 08:13:16 UTC) #21
commit-bot: I haz the power
3 years, 7 months ago (2017-05-24 09:48:18 UTC) #25
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/chromium/src/+/1806913f25daa9da5ca69a0115fe...

Powered by Google App Engine
This is Rietveld 408576698