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

Issue 1695163003: Support slotchange events (Closed)

Created:
4 years, 10 months ago by hayato
Modified:
4 years, 10 months ago
CC:
blink-reviews, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof, webcomponents-bugzilla_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support slotchange events This is a proof of concept to support *slotchange* events at the end of a microtask. The spec discussion is here: https://github.com/w3c/webcomponents/issues/288 Because slot elements are guarded by ShadowDOMV1 flag, this new events will be seen only when the flag is enabled. BUG=531990 Committed: https://crrev.com/f277728808e60a8b6e7fa9d562bfc3c02501de7d Cr-Commit-Position: refs/heads/master@{#376090}

Patch Set 1 #

Patch Set 2 : wip #

Patch Set 3 : rebased #

Patch Set 4 : rebased #

Total comments: 6

Patch Set 5 : Use PassRefPtr #

Patch Set 6 : minor #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -9 lines) Patch
A + third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html View 1 2 2 chunks +29 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Node.cpp View 1 2 3 4 2 chunks +6 lines, -0 lines 2 comments Download
M third_party/WebKit/Source/core/dom/shadow/SlotAssignment.cpp View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/events/Event.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/events/EventTypeNames.in View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLSlotElement.h View 1 2 3 2 chunks +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLSlotElement.cpp View 1 2 3 4 3 chunks +25 lines, -0 lines 4 comments Download

Messages

Total messages: 45 (16 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1695163003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1695163003/1
4 years, 10 months ago (2016-02-15 07:20:15 UTC) #2
hayato
wip
4 years, 10 months ago (2016-02-15 07:30:42 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1695163003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1695163003/20001
4 years, 10 months ago (2016-02-15 07:33:32 UTC) #6
hayato
rebased
4 years, 10 months ago (2016-02-15 07:38:50 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1695163003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1695163003/40001
4 years, 10 months ago (2016-02-15 07:39:27 UTC) #9
hayato
rebased
4 years, 10 months ago (2016-02-15 07:40:01 UTC) #11
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1695163003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1695163003/60001
4 years, 10 months ago (2016-02-15 07:40:54 UTC) #12
hayato
PTAL kouhei@, could you check the usage of a microtask in this CL? I am ...
4 years, 10 months ago (2016-02-15 07:46:25 UTC) #14
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-15 10:34:11 UTC) #16
kouhei (in TOK)
Sorry I caught flu now. yhirano: Would you take a look at microtask usage?
4 years, 10 months ago (2016-02-16 07:31:54 UTC) #18
yhirano
https://codereview.chromium.org/1695163003/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/1695163003/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp#newcode697 third_party/WebKit/Source/core/dom/Node.cpp:697: Microtask::enqueueMicrotask(WTF::bind(&Document::updateDistribution, &document())); WTF::bind stores an off-heap pointer as is. ...
4 years, 10 months ago (2016-02-17 05:23:12 UTC) #19
hayato
Use PassRefPtr
4 years, 10 months ago (2016-02-17 06:04:52 UTC) #22
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1695163003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1695163003/80001
4 years, 10 months ago (2016-02-17 06:05:11 UTC) #23
hayato
minor
4 years, 10 months ago (2016-02-17 06:07:08 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1695163003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1695163003/100001
4 years, 10 months ago (2016-02-17 06:07:24 UTC) #26
hayato
Thank you for the review. https://codereview.chromium.org/1695163003/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/1695163003/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp#newcode697 third_party/WebKit/Source/core/dom/Node.cpp:697: Microtask::enqueueMicrotask(WTF::bind(&Document::updateDistribution, &document())); On 2016/02/17 ...
4 years, 10 months ago (2016-02-17 06:07:33 UTC) #27
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-17 08:00:06 UTC) #29
yhirano
microtask related part lgtm (I haven't read the spec discussion).
4 years, 10 months ago (2016-02-18 00:34:10 UTC) #30
kochi
https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp File third_party/WebKit/Source/core/html/HTMLSlotElement.cpp (right): https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp#newcode108 third_party/WebKit/Source/core/html/HTMLSlotElement.cpp:108: m_oldDistributedNodes.swap(m_distributedNodes); Is there any possibility that clearDistribution() is called ...
4 years, 10 months ago (2016-02-18 03:40:57 UTC) #31
hayato
https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp File third_party/WebKit/Source/core/html/HTMLSlotElement.cpp (right): https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp#newcode108 third_party/WebKit/Source/core/html/HTMLSlotElement.cpp:108: m_oldDistributedNodes.swap(m_distributedNodes); On 2016/02/18 03:40:56, kochi wrote: > Is there ...
4 years, 10 months ago (2016-02-18 03:51:56 UTC) #32
kochi
On 2016/02/18 03:51:56, hayato wrote: > https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp > File third_party/WebKit/Source/core/html/HTMLSlotElement.cpp (right): > > https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp#newcode108 > ...
4 years, 10 months ago (2016-02-18 03:59:51 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1695163003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1695163003/100001
4 years, 10 months ago (2016-02-18 04:18:35 UTC) #35
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 10 months ago (2016-02-18 04:25:22 UTC) #37
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/f277728808e60a8b6e7fa9d562bfc3c02501de7d Cr-Commit-Position: refs/heads/master@{#376090}
4 years, 10 months ago (2016-02-18 04:26:42 UTC) #39
esprehn
This should be behind a flag, as it stands it's just a performance regression causing ...
4 years, 10 months ago (2016-02-18 17:30:43 UTC) #41
esprehn
https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/1695163003/diff/100001/third_party/WebKit/Source/core/dom/Node.cpp#newcode697 third_party/WebKit/Source/core/dom/Node.cpp:697: Microtask::enqueueMicrotask(WTF::bind(&Document::updateDistribution, PassRefPtrWillBeRawPtr<Document>(&document()))); This is also adding an extra microtask ...
4 years, 10 months ago (2016-02-18 18:07:37 UTC) #42
hayato
> This should be behind a flag, as it stands it's just a performance regression ...
4 years, 10 months ago (2016-02-19 02:59:39 UTC) #43
hayato
As per the spec discussion, let me try a mutation observer approach in another CL. ...
4 years, 10 months ago (2016-02-19 03:18:04 UTC) #44
hayato
4 years, 10 months ago (2016-02-19 06:15:31 UTC) #45
Message was sent while issue was closed.
FYI. The patch to make the microtask be behind the flag is here:
https://codereview.chromium.org/1715623002/

Powered by Google App Engine
This is Rietveld 408576698