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

Issue 1198863006: First version of PerformanceObserver (Closed)

Created:
5 years, 6 months ago by MikeB
Modified:
5 years, 3 months ago
CC:
apavlov+blink_chromium.org, arv+blink, blink-reviews, caseq+blink_chromium.org, Inactive, devtools-reviews_chromium.org, kozyatinskiy+blink_chromium.org, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, sergeyv+blink_chromium.org, vivekg_samsung, vivekg, yurys+blink_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

First version of PerformanceObserver http://w3c.github.io/performance-timeline/#the-performance-observer-interface BUG=485613 Committed: https://crrev.com/4be99b78ed497a76b14ab6c45da229dd6e4d03bf git-svn-id: svn://svn.chromium.org/blink/trunk@202144 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Patch Set 1 #

Total comments: 3

Patch Set 2 : Throw javascript type error on missing typeFilter parameter. #

Patch Set 3 : Update v8 bindings #

Patch Set 4 : Connect performance events to listening callback #

Patch Set 5 : Send Resource entries to observers even if main buffer is full. #

Patch Set 6 : sync with head revision #

Patch Set 7 : Sync with latest spec draft (DOMString -> PerformanceEntryType and new PerformanceObserver -> windo… #

Total comments: 44

Patch Set 8 : Code review comments and switch back to "new PerformanceObserver" style. #

Patch Set 9 : PerformanceEntryType -> DOMString as per github.com/w3c/performance-timeline/pull/37 #

Patch Set 10 : Switch from microtask to timer for firing events. #

Total comments: 17

Patch Set 11 : Code review comments. Name changes and moving statics to PerformanceBase. #

Total comments: 9

Patch Set 12 : Code review comments #

Patch Set 13 : s/typeFilter/entryTypes/ #

Patch Set 14 : use WeakCallback #

Total comments: 7

Patch Set 15 : Add LayoutTest #

Total comments: 4

Patch Set 16 : remove Inspector calls and update LayoutTest. #

Total comments: 16

Patch Set 17 : Code review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+835 lines, -71 lines) Patch
A LayoutTests/fast/performance/performance-observer.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +45 lines, -0 lines 0 comments Download
A LayoutTests/fast/performance/performance-observer-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +15 lines, -0 lines 0 comments Download
M LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +5 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +5 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +9 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +5 lines, -0 lines 0 comments Download
A Source/bindings/core/v8/V8PerformanceObserverCallback.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +40 lines, -0 lines 0 comments Download
A Source/bindings/core/v8/V8PerformanceObserverCallback.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +76 lines, -0 lines 0 comments Download
A Source/bindings/core/v8/custom/V8PerformanceObserverCustom.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +51 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/custom/custom.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/core/v8/v8.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -0 lines 0 comments Download
M Source/bindings/templates/copyright_block.txt View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +10 lines, -0 lines 0 comments Download
M Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +4 lines, -0 lines 0 comments Download
M Source/core/timing/Performance.idl View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -1 line 0 comments Download
M Source/core/timing/PerformanceBase.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +23 lines, -2 lines 0 comments Download
M Source/core/timing/PerformanceBase.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 12 chunks +128 lines, -33 lines 0 comments Download
M Source/core/timing/PerformanceCompositeTiming.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/timing/PerformanceEntry.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +22 lines, -5 lines 0 comments Download
M Source/core/timing/PerformanceEntry.cpp View 1 2 3 4 5 6 7 2 chunks +16 lines, -0 lines 0 comments Download
M Source/core/timing/PerformanceMark.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/timing/PerformanceMeasure.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
A Source/core/timing/PerformanceObserver.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +60 lines, -0 lines 0 comments Download
A Source/core/timing/PerformanceObserver.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +107 lines, -0 lines 0 comments Download
A Source/core/timing/PerformanceObserver.idl View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +16 lines, -0 lines 0 comments Download
A Source/core/timing/PerformanceObserverCallback.h View 1 2 3 4 5 6 7 1 chunk +29 lines, -0 lines 0 comments Download
A Source/core/timing/PerformanceObserverEntryList.h View 1 2 3 4 5 6 7 1 chunk +38 lines, -0 lines 0 comments Download
A Source/core/timing/PerformanceObserverEntryList.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +74 lines, -0 lines 0 comments Download
A Source/core/timing/PerformanceObserverEntryList.idl View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +16 lines, -0 lines 0 comments Download
A Source/core/timing/PerformanceObserverInit.idl View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +10 lines, -0 lines 0 comments Download
M Source/core/timing/PerformanceRenderTiming.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/timing/PerformanceResourceTiming.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/timing/PerformanceUserTiming.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -4 lines 0 comments Download
M Source/core/timing/PerformanceUserTiming.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +19 lines, -15 lines 0 comments Download
M Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 47 (15 generated)
igrigorik
https://codereview.chromium.org/1198863006/diff/1/Source/core/timing/PerformanceObserver.cpp File Source/core/timing/PerformanceObserver.cpp (right): https://codereview.chromium.org/1198863006/diff/1/Source/core/timing/PerformanceObserver.cpp#newcode86 Source/core/timing/PerformanceObserver.cpp:86: // TODO(mpb) FWIW, "If the options' typeFilter attribute is ...
5 years, 6 months ago (2015-06-23 13:28:09 UTC) #2
MikeB
https://codereview.chromium.org/1198863006/diff/1/Source/core/timing/PerformanceObserver.cpp File Source/core/timing/PerformanceObserver.cpp (right): https://codereview.chromium.org/1198863006/diff/1/Source/core/timing/PerformanceObserver.cpp#newcode86 Source/core/timing/PerformanceObserver.cpp:86: // TODO(mpb) On 2015/06/23 13:28:09, igrigorik wrote: > FWIW, ...
5 years, 6 months ago (2015-06-24 17:19:23 UTC) #3
esprehn
What's up with this create* method? Please don't add more of those, this should use ...
5 years, 5 months ago (2015-07-18 22:24:17 UTC) #9
esprehn
Sigh I see the create* method discussion here: https://github.com/w3c/performance-timeline/pull/29 Okay we can do that then, ...
5 years, 5 months ago (2015-07-18 22:32:08 UTC) #10
blink-reviews
On Sat, Jul 18, 2015 at 3:32 PM, <esprehn@chromium.org> wrote: > Sigh I see the ...
5 years, 5 months ago (2015-07-20 17:55:03 UTC) #11
MikeB
I still have to adjust what we're doing with the UserTiming Mark/Measures. I think returning ...
5 years, 5 months ago (2015-07-20 23:06:50 UTC) #12
esprehn
this looks pretty good, please fix comments. I'm out for the next 2 weeks on ...
5 years, 5 months ago (2015-07-24 08:23:13 UTC) #15
MikeB
https://codereview.chromium.org/1198863006/diff/260001/Source/core/timing/PerformanceBase.cpp File Source/core/timing/PerformanceBase.cpp (right): https://codereview.chromium.org/1198863006/diff/260001/Source/core/timing/PerformanceBase.cpp#newcode93 Source/core/timing/PerformanceBase.cpp:93: PerformanceEntry::EntryType entryTypeEnum = PerformanceEntry::toEntryTypeEnum(entryType); On 2015/07/24 08:23:12, esprehn (ooo-until-aug-10) ...
5 years, 5 months ago (2015-07-24 19:30:38 UTC) #16
adamk
Still working on grokking this, but figured I'd get a set of comments out. The ...
5 years, 5 months ago (2015-07-24 21:26:30 UTC) #18
MikeB
https://codereview.chromium.org/1198863006/diff/280001/Source/core/timing/PerformanceObserverEntryList.idl File Source/core/timing/PerformanceObserverEntryList.idl (right): https://codereview.chromium.org/1198863006/diff/280001/Source/core/timing/PerformanceObserverEntryList.idl#newcode12 Source/core/timing/PerformanceObserverEntryList.idl:12: // TODO(philipj): getEntries() should take an optional FilterOptions argument. ...
5 years, 5 months ago (2015-07-24 23:07:15 UTC) #19
esprehn
This needs tests, once it's has those I think it's good to go. https://codereview.chromium.org/1198863006/diff/340001/Source/core/timing/PerformanceBase.cpp File ...
5 years, 4 months ago (2015-08-20 08:33:48 UTC) #20
haraken
BTW, I'm ok with the V8 custom bindings at the moment. I wrote up a ...
5 years, 4 months ago (2015-08-20 08:45:38 UTC) #21
yurys
https://codereview.chromium.org/1198863006/diff/340001/Source/core/inspector/AsyncCallTracker.h File Source/core/inspector/AsyncCallTracker.h (right): https://codereview.chromium.org/1198863006/diff/340001/Source/core/inspector/AsyncCallTracker.h#newcode91 Source/core/inspector/AsyncCallTracker.h:91: void didEnqueuePerformanceObserverEntries(ExecutionContext*, PerformanceObserver*); This will need a layout test. ...
5 years, 4 months ago (2015-08-20 15:28:39 UTC) #23
MikeB
On 2015/08/20 15:28:39, yurys wrote: > https://codereview.chromium.org/1198863006/diff/340001/Source/core/inspector/AsyncCallTracker.h > File Source/core/inspector/AsyncCallTracker.h (right): > > https://codereview.chromium.org/1198863006/diff/340001/Source/core/inspector/AsyncCallTracker.h#newcode91 > ...
5 years, 4 months ago (2015-08-20 16:24:46 UTC) #24
esprehn
On 2015/08/20 at 16:24:46, mpb wrote: > On 2015/08/20 15:28:39, yurys wrote: > > https://codereview.chromium.org/1198863006/diff/340001/Source/core/inspector/AsyncCallTracker.h ...
5 years, 4 months ago (2015-08-20 20:32:15 UTC) #25
adamk
On 2015/08/20 20:32:15, esprehn wrote: > On 2015/08/20 at 16:24:46, mpb wrote: > > On ...
5 years, 4 months ago (2015-08-20 20:45:55 UTC) #26
esprehn
On 2015/08/20 at 20:45:55, adamk wrote: > On 2015/08/20 20:32:15, esprehn wrote: > > ...
5 years, 4 months ago (2015-08-20 21:02:18 UTC) #27
MikeB
On 2015/08/20 15:28:39, yurys wrote: > https://codereview.chromium.org/1198863006/diff/340001/Source/core/inspector/AsyncCallTracker.h > File Source/core/inspector/AsyncCallTracker.h (right): > > https://codereview.chromium.org/1198863006/diff/340001/Source/core/inspector/AsyncCallTracker.h#newcode91 > ...
5 years, 4 months ago (2015-08-25 18:25:48 UTC) #28
MikeB
https://codereview.chromium.org/1198863006/diff/340001/Source/core/timing/PerformanceBase.cpp File Source/core/timing/PerformanceBase.cpp (right): https://codereview.chromium.org/1198863006/diff/340001/Source/core/timing/PerformanceBase.cpp#newcode335 Source/core/timing/PerformanceBase.cpp:335: PerformanceEntry* entry = m_userTiming->measure(measureName, startMark, endMark, exceptionState); On 2015/08/20 ...
5 years, 4 months ago (2015-08-25 19:42:42 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1198863006/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1198863006/360001
5 years, 3 months ago (2015-08-26 17:31:10 UTC) #31
commit-bot: I haz the power
Dry run: No L-G-T-M from a valid reviewer yet. Only full committers are accepted. Even ...
5 years, 3 months ago (2015-08-26 17:31:14 UTC) #33
yurys
https://codereview.chromium.org/1198863006/diff/360001/LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html File LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html (right): https://codereview.chromium.org/1198863006/diff/360001/LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html#newcode33 LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html:33: function timeout3() what's the value for the user of ...
5 years, 3 months ago (2015-08-26 19:17:05 UTC) #34
MikeB
https://codereview.chromium.org/1198863006/diff/360001/LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html File LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html (right): https://codereview.chromium.org/1198863006/diff/360001/LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html#newcode33 LayoutTests/inspector/sources/debugger-async/async-callstack-performance-observer.html:33: function timeout3() On 2015/08/26 19:17:05, yurys wrote: > what's ...
5 years, 3 months ago (2015-08-27 18:02:49 UTC) #35
yurys
Thanks. Let's add async stack tracking later if we feel it would be useful. The ...
5 years, 3 months ago (2015-08-27 18:19:30 UTC) #36
esprehn
So close! https://codereview.chromium.org/1198863006/diff/380001/LayoutTests/fast/performance/performance-observer.html File LayoutTests/fast/performance/performance-observer.html (right): https://codereview.chromium.org/1198863006/diff/380001/LayoutTests/fast/performance/performance-observer.html#newcode13 LayoutTests/fast/performance/performance-observer.html:13: function testPerformanceObserver() Just inline this code below. ...
5 years, 3 months ago (2015-09-09 22:41:40 UTC) #37
MikeB
https://codereview.chromium.org/1198863006/diff/380001/LayoutTests/fast/performance/performance-observer.html File LayoutTests/fast/performance/performance-observer.html (right): https://codereview.chromium.org/1198863006/diff/380001/LayoutTests/fast/performance/performance-observer.html#newcode13 LayoutTests/fast/performance/performance-observer.html:13: function testPerformanceObserver() On 2015/09/09 22:41:40, esprehn wrote: > Just ...
5 years, 3 months ago (2015-09-10 19:53:01 UTC) #38
esprehn
lgtm
5 years, 3 months ago (2015-09-10 19:58:55 UTC) #39
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1198863006/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1198863006/400001
5 years, 3 months ago (2015-09-10 21:05:13 UTC) #41
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 3 months ago (2015-09-10 22:32:45 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1198863006/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1198863006/400001
5 years, 3 months ago (2015-09-11 16:31:34 UTC) #45
commit-bot: I haz the power
Committed patchset #17 (id:400001) as https://src.chromium.org/viewvc/blink?view=rev&revision=202144
5 years, 3 months ago (2015-09-11 16:36:18 UTC) #46
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:22:57 UTC) #47
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/4be99b78ed497a76b14ab6c45da229dd6e4d03bf

Powered by Google App Engine
This is Rietveld 408576698