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

Issue 2449673002: Refactor InspectorWebPerfAgent: update lifecycle management to be per Local Frame root; replace hea… (Closed)

Created:
4 years, 1 month ago by panicker
Modified:
4 years, 1 month ago
CC:
apavlov+blink_chromium.org, blink-reviews, caseq+blink_chromium.org, chromium-reviews, devtools-reviews_chromium.org, kozyatinskiy+blink_chromium.org, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, pfeldman
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Refactor InspectorWebPerfAgent: update lifecycle management to be per Local Frame root; replace heapset of locations with frames. BUG=635596 Committed: https://crrev.com/e4a2d76b144acd15b8600162950e973965ababb9 Cr-Commit-Position: refs/heads/master@{#429149}

Patch Set 1 #

Total comments: 14

Patch Set 2 : Address review comments #

Patch Set 3 : check existence of performance->frame() #

Patch Set 4 : Update unittests #

Total comments: 4

Patch Set 5 : Move Performance* set to agent from LocalFrame; update review comments #

Patch Set 6 : remove unneeded header include #

Patch Set 7 : Document usage for agent; minor tweaks #

Patch Set 8 : sync and rebase #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+203 lines, -91 lines) Patch
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 2 3 4 5 6 7 4 chunks +10 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 2 3 4 5 6 7 4 chunks +20 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrameTest.cpp View 1 2 3 4 5 6 4 chunks +20 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorWebPerfAgent.h View 1 2 3 4 5 6 7 3 chunks +38 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorWebPerfAgent.cpp View 1 2 3 4 5 6 5 chunks +61 lines, -38 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorWebPerfAgentTest.cpp View 1 2 3 4 4 chunks +18 lines, -22 lines 0 comments Download
M third_party/WebKit/Source/core/timing/Performance.h View 1 2 3 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/timing/Performance.cpp View 1 2 3 4 chunks +29 lines, -15 lines 2 comments Download
M third_party/WebKit/Source/core/timing/PerformanceTest.cpp View 1 2 3 4 2 chunks +4 lines, -11 lines 0 comments Download

Messages

Total messages: 34 (16 generated)
panicker
Hey folks, I've updated this to be per local-frame root, as this seems easier to ...
4 years, 1 month ago (2016-10-24 23:51:47 UTC) #2
panicker
Friendly morning ping.
4 years, 1 month ago (2016-10-26 18:48:21 UTC) #3
caseq
https://codereview.chromium.org/2449673002/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/2449673002/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode559 third_party/WebKit/Source/core/frame/LocalFrame.cpp:559: if (!inspectorWebPerfAgent()->isEnabled()) can we perhaps get rid of enable/disable ...
4 years, 1 month ago (2016-10-26 21:19:41 UTC) #4
panicker
(still working on registering listeners vs walking the frame tree) https://codereview.chromium.org/2449673002/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/2449673002/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode559 ...
4 years, 1 month ago (2016-10-27 23:06:53 UTC) #5
panicker
PTAL https://codereview.chromium.org/2449673002/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/2449673002/diff/1/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode882 third_party/WebKit/Source/core/frame/LocalFrame.cpp:882: m_inspectorWebPerfAgentObservers(false), On 2016/10/26 21:19:41, caseq wrote: > that's ...
4 years, 1 month ago (2016-10-28 00:09:25 UTC) #6
panicker
PTAL. Updated unittests.
4 years, 1 month ago (2016-10-31 20:12:44 UTC) #7
caseq
lgtm % comments https://codereview.chromium.org/2449673002/diff/60001/third_party/WebKit/Source/core/frame/LocalFrame.h File third_party/WebKit/Source/core/frame/LocalFrame.h (right): https://codereview.chromium.org/2449673002/diff/60001/third_party/WebKit/Source/core/frame/LocalFrame.h#newcode279 third_party/WebKit/Source/core/frame/LocalFrame.h:279: HeapHashSet<Member<Performance>> m_webPerformanceObservers; Can you rather put ...
4 years, 1 month ago (2016-10-31 22:41:55 UTC) #8
panicker
PTAL https://codereview.chromium.org/2449673002/diff/60001/third_party/WebKit/Source/core/frame/LocalFrame.h File third_party/WebKit/Source/core/frame/LocalFrame.h (right): https://codereview.chromium.org/2449673002/diff/60001/third_party/WebKit/Source/core/frame/LocalFrame.h#newcode279 third_party/WebKit/Source/core/frame/LocalFrame.h:279: HeapHashSet<Member<Performance>> m_webPerformanceObservers; On 2016/10/31 22:41:54, caseq wrote: > ...
4 years, 1 month ago (2016-11-01 03:03:33 UTC) #9
panicker
Pavel, Dima - could one of you please review for OWNERS? Thanks!
4 years, 1 month ago (2016-11-01 17:20:12 UTC) #11
dgozman
lgtm
4 years, 1 month ago (2016-11-01 17:48:36 UTC) #12
panicker
thanks for the review! Will submit soon.
4 years, 1 month ago (2016-11-01 17:51:37 UTC) #14
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/2449673002/140001
4 years, 1 month ago (2016-11-01 23:05:52 UTC) #25
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 1 month ago (2016-11-01 23:18:00 UTC) #26
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/e4a2d76b144acd15b8600162950e973965ababb9 Cr-Commit-Position: refs/heads/master@{#429149}
4 years, 1 month ago (2016-11-01 23:22:13 UTC) #28
krasin1
https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Source/core/timing/Performance.cpp File third_party/WebKit/Source/core/timing/Performance.cpp (right): https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Source/core/timing/Performance.cpp#newcode66 third_party/WebKit/Source/core/timing/Performance.cpp:66: LocalFrame* localRoot = frame()->localFrameRoot(); For the record, this broke ...
4 years, 1 month ago (2016-11-02 20:06:14 UTC) #30
krasin1
On 2016/11/02 20:06:14, krasin1 wrote: > https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Source/core/timing/Performance.cpp > File third_party/WebKit/Source/core/timing/Performance.cpp (right): > > https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Source/core/timing/Performance.cpp#newcode66 > ...
4 years, 1 month ago (2016-11-02 20:15:46 UTC) #31
panickercorp
https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Source/core/timing/Performance.cpp File third_party/WebKit/Source/core/timing/Performance.cpp (right): https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Source/core/timing/Performance.cpp#newcode66 third_party/WebKit/Source/core/timing/Performance.cpp:66: LocalFrame* localRoot = frame()->localFrameRoot(); On 2016/11/02 20:06:14, krasin1 wrote: ...
4 years, 1 month ago (2016-11-02 20:17:47 UTC) #33
krasin1
4 years, 1 month ago (2016-11-02 20:22:00 UTC) #34
Message was sent while issue was closed.
On 2016/11/02 20:17:47, panicker wrote:
>
https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Sou...
> File third_party/WebKit/Source/core/timing/Performance.cpp (right):
> 
>
https://codereview.chromium.org/2449673002/diff/140001/third_party/WebKit/Sou...
> third_party/WebKit/Source/core/timing/Performance.cpp:66: LocalFrame*
localRoot
> = frame()->localFrameRoot();
> On 2016/11/02 20:06:14, krasin1 wrote:
> > For the record, this broke UBSan bots:
> >
>
https://build.chromium.org/p/chromium.fyi/builders/UBSanVptr%20Linux/builds/1452
> > 
> > The reason is that frame() can return NULL on destruction. What is the
correct
> > fix here? Just quit from the destructor early?
> 
> Apologies!
No worries.

> Should that have run on presubmit?
I am working to make this a part of the presubmit queue:
https://crbug.com/612594, but as of now it's not. 
> 
> I'll prepare a fix and send right away. Thanks!
> (yes cannot assume frame is non-null)
Alternatively, you can take a look at
https://codereview.chromium.org/2470183002/

Powered by Google App Engine
This is Rietveld 408576698