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

Issue 580373002: [Invalidation Tracking] Trace StyleInvalidator setNeedsStyleRecalc (Closed)

Created:
6 years, 3 months ago by kouhei (in TOK)
Modified:
6 years, 2 months ago
Reviewers:
haraken, caseq, pdr., tasak, yurys
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-css, dglazkov+blink, ed+blinkwatch_opera.com, rwlbuis, rune+blink, tasak
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

[Invalidation Tracking] Trace StyleInvalidator setNeedsStyleRecalc This patch adds a set of trace events to track reason when StyleInvalidator invokes Node::setNeedsStyleRecalc. One of the trace events is guaranteed to be issued before StyleInvalidator issues setNeedsStyleRecalc on the node. The trace events come with InspectorStyleInvalidatorInvalidateEvent, which contains inspector node id, human readable reason string, and optionally the tagName/id/class/attr/invalidationList involved. This is to be used from devtools so we post process and find the StyleInvalidator trace event on the given node to see the detailed reason for why StyleInvalidator decided issue setNeedsStyleRecalc on the node. BUG=410701 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183177 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183643

Patch Set 1 #

Patch Set 2 : wip #

Patch Set 3 : working #

Patch Set 4 : minimize diff #

Total comments: 18

Patch Set 5 : rebased #

Total comments: 13

Patch Set 6 : rebased #

Total comments: 6

Patch Set 7 : structured json #

Patch Set 8 : Workaround regression by templates #

Patch Set 9 : add missing files #

Total comments: 2

Patch Set 10 : UNLIKELY #

Patch Set 11 : ALWAYS_INLINE #

Patch Set 12 : track custom pseudo #

Total comments: 7

Patch Set 13 : use auto #

Patch Set 14 : #

Patch Set 15 : no ::init() #

Patch Set 16 : revert change in StyleInvalidator.h #

Total comments: 2

Patch Set 17 : attributes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+165 lines, -20 lines) Patch
M Source/core/css/invalidation/DescendantInvalidationSet.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +5 lines, -0 lines 0 comments Download
M Source/core/css/invalidation/DescendantInvalidationSet.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +59 lines, -15 lines 0 comments Download
M Source/core/css/invalidation/StyleInvalidator.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +24 lines, -5 lines 0 comments Download
M Source/core/inspector/InspectorTraceEvents.h View 1 2 3 4 5 6 8 9 3 chunks +37 lines, -0 lines 0 comments Download
M Source/core/inspector/InspectorTraceEvents.cpp View 1 2 3 4 5 6 2 chunks +40 lines, -0 lines 0 comments Download

Messages

Total messages: 39 (5 generated)
kouhei (in TOK)
I think this patch is ready for review now. Would you take a look?
6 years, 2 months ago (2014-09-29 06:27:47 UTC) #2
pdr.
https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h File Source/core/css/invalidation/DescendantInvalidationSet.h (right): https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h#newcode78 Source/core/css/invalidation/DescendantInvalidationSet.h:78: String toString() const; Lets make it hard to use ...
6 years, 2 months ago (2014-09-30 02:08:50 UTC) #3
kouhei (in TOK)
https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h File Source/core/css/invalidation/DescendantInvalidationSet.h (right): https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h#newcode78 Source/core/css/invalidation/DescendantInvalidationSet.h:78: String toString() const; On 2014/09/30 02:08:49, pdr wrote: > ...
6 years, 2 months ago (2014-09-30 02:22:00 UTC) #4
pdr.
https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h File Source/core/css/invalidation/DescendantInvalidationSet.h (right): https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h#newcode78 Source/core/css/invalidation/DescendantInvalidationSet.h:78: String toString() const; On 2014/09/30 02:22:00, kouhei wrote: > ...
6 years, 2 months ago (2014-09-30 03:21:57 UTC) #5
kouhei (in TOK)
https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h File Source/core/css/invalidation/DescendantInvalidationSet.h (right): https://codereview.chromium.org/580373002/diff/60001/Source/core/css/invalidation/DescendantInvalidationSet.h#newcode78 Source/core/css/invalidation/DescendantInvalidationSet.h:78: String toString() const; On 2014/09/30 03:21:57, pdr wrote: > ...
6 years, 2 months ago (2014-09-30 03:44:05 UTC) #6
pdr.
LGTM. Please wait for caseq's LGTM as well.
6 years, 2 months ago (2014-09-30 03:50:39 UTC) #7
yurys
https://codereview.chromium.org/580373002/diff/80001/Source/core/inspector/InspectorTraceEvents.cpp File Source/core/inspector/InspectorTraceEvents.cpp (right): https://codereview.chromium.org/580373002/diff/80001/Source/core/inspector/InspectorTraceEvents.cpp#newcode70 Source/core/inspector/InspectorTraceEvents.cpp:70: StringBuilder builder; Please use TracedValue instead for building the ...
6 years, 2 months ago (2014-09-30 09:21:14 UTC) #9
caseq
https://codereview.chromium.org/580373002/diff/80001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/80001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode252 Source/core/css/invalidation/DescendantInvalidationSet.cpp:252: fprintf(stderr, "%s\n", toString().ascii().data()); toDebugString() perhaps? https://codereview.chromium.org/580373002/diff/80001/Source/core/inspector/InspectorTraceEvents.cpp File Source/core/inspector/InspectorTraceEvents.cpp (right): ...
6 years, 2 months ago (2014-09-30 12:24:01 UTC) #10
kouhei (in TOK)
I've changed it to use TracedValue instead. PTAL. https://codereview.chromium.org/580373002/diff/80001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/80001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode252 Source/core/css/invalidation/DescendantInvalidationSet.cpp:252: fprintf(stderr, ...
6 years, 2 months ago (2014-10-01 04:16:15 UTC) #11
caseq
https://codereview.chromium.org/580373002/diff/100001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/100001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode212 Source/core/css/invalidation/DescendantInvalidationSet.cpp:212: value->pushString("*"); Can we please get it more structured -- ...
6 years, 2 months ago (2014-10-01 07:50:50 UTC) #12
kouhei (in TOK)
Thanks for your comments. PTAL https://codereview.chromium.org/580373002/diff/100001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/100001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode212 Source/core/css/invalidation/DescendantInvalidationSet.cpp:212: value->pushString("*"); On 2014/10/01 07:50:49, ...
6 years, 2 months ago (2014-10-02 02:16:46 UTC) #13
caseq
lgtm
6 years, 2 months ago (2014-10-02 08:16:50 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/580373002/120001
6 years, 2 months ago (2014-10-03 01:51:04 UTC) #16
commit-bot: I haz the power
Committed patchset #7 (id:120001) as 183177
6 years, 2 months ago (2014-10-03 03:59:29 UTC) #17
kouhei (in TOK)
A revert of this CL (patchset #7 id:120001) has been created in https://codereview.chromium.org/624133003/ by kouhei@chromium.org. ...
6 years, 2 months ago (2014-10-04 04:39:03 UTC) #18
kouhei (in TOK)
Here is a second attempt to land this. Would you take a look at patchset ...
6 years, 2 months ago (2014-10-07 10:53:57 UTC) #19
kouhei (in TOK)
6 years, 2 months ago (2014-10-07 11:11:59 UTC) #20
kouhei (in TOK)
According to tasak@, using templates to avoid if statement is already common in css code. ...
6 years, 2 months ago (2014-10-07 11:13:48 UTC) #21
kouhei (in TOK)
pdr: friendly ping. Please review this when you have time.
6 years, 2 months ago (2014-10-10 04:20:20 UTC) #22
pdr.
I apologize for the review delay. https://codereview.chromium.org/580373002/diff/160001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/160001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode49 Source/core/css/invalidation/DescendantInvalidationSet.cpp:49: template <StyleInvalidationTracingEnabledFlag styleInvalidationTracingEnabled> ...
6 years, 2 months ago (2014-10-10 04:36:07 UTC) #23
kouhei (in TOK)
https://codereview.chromium.org/580373002/diff/160001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/160001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode49 Source/core/css/invalidation/DescendantInvalidationSet.cpp:49: template <StyleInvalidationTracingEnabledFlag styleInvalidationTracingEnabled> On 2014/10/10 04:36:07, pdr wrote: > ...
6 years, 2 months ago (2014-10-10 07:15:07 UTC) #24
pdr.
On 2014/10/10 at 07:15:07, kouhei wrote: > https://codereview.chromium.org/580373002/diff/160001/Source/core/css/invalidation/DescendantInvalidationSet.cpp > File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): > > https://codereview.chromium.org/580373002/diff/160001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode49 ...
6 years, 2 months ago (2014-10-11 03:16:18 UTC) #25
pdr.
On 2014/10/11 at 03:16:18, pdr wrote: > On 2014/10/10 at 07:15:07, kouhei wrote: > > ...
6 years, 2 months ago (2014-10-13 21:14:29 UTC) #26
kouhei (in TOK)
On 2014/10/13 21:14:29, pdr wrote: > On 2014/10/11 at 03:16:18, pdr wrote: > > On ...
6 years, 2 months ago (2014-10-13 23:54:02 UTC) #27
kouhei (in TOK)
On 2014/10/13 23:54:02, kouhei wrote: > On 2014/10/13 21:14:29, pdr wrote: > > On 2014/10/11 ...
6 years, 2 months ago (2014-10-14 01:14:17 UTC) #28
pdr.
Just a few minor questions https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp File Source/core/Init.cpp (right): https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp#newcode106 Source/core/Init.cpp:106: DescendantInvalidationSet::init(); // Depends on ...
6 years, 2 months ago (2014-10-14 01:36:47 UTC) #29
kouhei (in TOK)
https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp File Source/core/Init.cpp (right): https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp#newcode106 Source/core/Init.cpp:106: DescendantInvalidationSet::init(); // Depends on EventTracer::initialize() On 2014/10/14 01:36:47, pdr ...
6 years, 2 months ago (2014-10-14 02:02:10 UTC) #30
kouhei (in TOK)
https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp File Source/core/Init.cpp (right): https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp#newcode106 Source/core/Init.cpp:106: DescendantInvalidationSet::init(); // Depends on EventTracer::initialize() On 2014/10/14 02:02:10, kouhei ...
6 years, 2 months ago (2014-10-14 04:18:14 UTC) #31
pdr.
On 2014/10/14 at 04:18:14, kouhei wrote: > https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp > File Source/core/Init.cpp (right): > > https://codereview.chromium.org/580373002/diff/280001/Source/core/Init.cpp#newcode106 ...
6 years, 2 months ago (2014-10-14 04:23:58 UTC) #32
kouhei (in TOK)
tasak,haraken: Would you do a second pass on this CL? This patch is touching performance ...
6 years, 2 months ago (2014-10-14 04:28:08 UTC) #34
tasak
lgtm https://codereview.chromium.org/580373002/diff/360001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/360001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode248 Source/core/css/invalidation/DescendantInvalidationSet.cpp:248: value->beginArray("ids"); Nit: attributes?
6 years, 2 months ago (2014-10-14 04:35:54 UTC) #35
kouhei (in TOK)
https://codereview.chromium.org/580373002/diff/360001/Source/core/css/invalidation/DescendantInvalidationSet.cpp File Source/core/css/invalidation/DescendantInvalidationSet.cpp (right): https://codereview.chromium.org/580373002/diff/360001/Source/core/css/invalidation/DescendantInvalidationSet.cpp#newcode248 Source/core/css/invalidation/DescendantInvalidationSet.cpp:248: value->beginArray("ids"); On 2014/10/14 04:35:53, tasak wrote: > Nit: attributes? ...
6 years, 2 months ago (2014-10-14 04:42:49 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/580373002/380001
6 years, 2 months ago (2014-10-14 04:43:59 UTC) #38
commit-bot: I haz the power
6 years, 2 months ago (2014-10-14 05:50:25 UTC) #39
Message was sent while issue was closed.
Committed patchset #17 (id:380001) as 183643

Powered by Google App Engine
This is Rietveld 408576698