New issue
Advanced search Search tips

Issue 758385 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: ----

Blocking:
issue 805566



Sign in to add a comment

[UserTimingL3] Implement User Timing L3 API

Project Member Reported by maxlg@chromium.org, Aug 23 2017

Issue description

Comment 1 by npm@chromium.org, Aug 23 2017

Should we spec it before doing the implementation?

Comment 2 by maxlg@chromium.org, Aug 23 2017

Sorry, you are right. We do need a spec. Maybe we had better hold it until the spec is ready.

Comment 3 by maxlg@chromium.org, Aug 31 2017

For the Performance.queueEntry(name, startTime, duration), do we need to validate name, start_time, duration? I guess taking string and time should be safe?
Cc: npm@chromium.org panicker@chromium.org


Shubhie, should negative start times be allowed?

Nicolas, the plan is to do an early prototype to help inform the spec process.

In terms of validation:
• name: should be the same as mark & measure
• time: we should make sure it's a high res timestamp.
• duration: we should make sure it's a high res timestamp.

I think that's it?
Negative durations are legal.

Comment 5 by maxlg@chromium.org, Sep 1 2017

Talked offline with Tim. These are what we will/won't implement for now:

CustomPerformanceEntry: Support the class, Support detail
Performance.queueEntry(): Support the method, support detail
Performance.mark(): Support detail, won't support ignoreForAnalytics
Performance.measure(): Support detail
PerformanceMark: Support detail, won't support ignoreForAnalytics
PerformanceMeasure: Support detail
PerformanceObserver.observe(): won't Support namespace

For queueEntry, start_time and duration parameters will be mandatory.

Comment 6 by maxlg@chromium.org, Sep 1 2017

Talked offline with Tim. We will write layout tests for them and hide them behind a runtime-enabled-feature flag which set to <missing>.

Comment 7 by maxlg@chromium.org, Sep 1 2017

Status: Started (was: Assigned)

Comment 8 by maxlg@chromium.org, Sep 1 2017

Blockedon: 725567
This task is blocked on "buffered" flag support in performance observer API.

Comment 9 by maxlg@chromium.org, Oct 10 2017

Summary: [CustomPerformanceTimeline] Prototype Custom Performance Timeline Events (was: Prototype Custom Performance Timeline Events)
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c

commit 669cfa8ae078544b76ca9e4b04c0e7dab8dae63c
Author: Liquan (Max) Gu <maxlg@chromium.org>
Date: Wed Jan 17 18:44:52 2018

[CustomUserTiming] Support custom time and detail for performance.mark

Custom User Timing allows user to use arbitrary timestamps and add
custom information for performance timeline (performance.mark and
performance.measure).

This CL implements the performance.mark part of Custom User Timing,
Basically, it adds an "startTime or PerformanceMarkOptions" argument
for performance.mark, and hidden behind a runtime-enabled-flag called
"CustomUserTiming". This feature is set to <Missing> status.

Bug: 758385
Change-Id: I157bc88866e232d07319959e148d9694bf13f11f
Reviewed-on: https://chromium-review.googlesource.com/850944
Commit-Queue: Liquan Gu <maxlg@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529826}
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/LayoutTests/http/tests/performance-timing/custom-user-timing/performanceobservers.js
[add] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/LayoutTests/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark.html
[add] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/LayoutTests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/README.txt
[add] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/LayoutTests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark-expected.txt
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/BUILD.gn
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/Performance.idl
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceBase.h
[add] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceMark.cpp
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceMark.h
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceMark.idl
[add] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceMarkOptions.idl
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceObserverTest.cpp
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceTest.cpp
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceUserTiming.cpp
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/PerformanceUserTiming.h
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/core/timing/WorkerPerformance.idl
[modify] https://crrev.com/669cfa8ae078544b76ca9e4b04c0e7dab8dae63c/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Comment 12 by maxlg@google.com, Jan 24 2018

Blocking: 805566
Project Member

Comment 13 by bugdroid1@chromium.org, Jan 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/11e9b068f567c48402dc4fdda72fb49a4523ed87

commit 11e9b068f567c48402dc4fdda72fb49a4523ed87
Author: Liquan (Max) Gu <maxlg@chromium.org>
Date: Wed Jan 24 21:06:17 2018

[UserTiming] Add tests to cover edge use-cases for measure API

Before we introduce CustomUserTiming, we need to ensure the edge cases behave
the same between the old and the new API while the feature flag of the new API
is off.

Hereby, we identify the following use cases. As the start/end marks are in
String type, when passing the following args, they are converted to respective
Strings:

{} -> '[object Object]'
null -> 'null'
51.15 -> '51.15'

This CL introduces some test cases to cover these behaviors.

Bug: 758385
Change-Id: I4ad60f907f3d794309bee1d8e3ce4268e2e5f49f
Reviewed-on: https://chromium-review.googlesource.com/883943
Commit-Queue: Liquan Gu <maxlg@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531683}
[modify] https://crrev.com/11e9b068f567c48402dc4fdda72fb49a4523ed87/third_party/WebKit/LayoutTests/fast/performance/performance-measure-exceptions-expected.txt
[modify] https://crrev.com/11e9b068f567c48402dc4fdda72fb49a4523ed87/third_party/WebKit/LayoutTests/fast/performance/performance-measure-exceptions.html

Comment 14 by maxlg@google.com, Mar 12 2018

Cc: tdres...@chromium.org
Summary: [CustomUserTiming] Implement Custom User Timing API (was: [CustomPerformanceTimeline] Prototype Custom Performance Timeline Events)

Comment 15 by maxlg@chromium.org, Apr 12 2018

Description: Show this description

Comment 16 by maxlg@chromium.org, Apr 12 2018

Summary: [User Timing L3] Implement User Timing L3 API (was: [CustomUserTiming] Implement Custom User Timing API)

Comment 17 by maxlg@chromium.org, Apr 12 2018

Summary: [UserTimingL3] Implement User Timing L3 API (was: [User Timing L3] Implement User Timing L3 API)
Project Member

Comment 18 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/656fcdd64468b638cf65b76209a05dd65812070f

commit 656fcdd64468b638cf65b76209a05dd65812070f
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Mon May 14 15:49:23 2018

[UserTimingL3] Support custom time and detail for performance.measure API

User Timing L3 allows user to use arbitrary timestamps and add
custom information for performance timeline (performance.mark and
performance.measure).

This CL implements the performance.measure part of Custom User Timing,
Basically, it allows custom start and end timestamps of performance.measure, and
support passing in custom details via an overloaded API.

The new feature is hidden behind a runtime-enabled-flag called
"UserTimingL3". This feature is set to <Missing> status.

Bug: 758385
Change-Id: I5722f5e99a0188e3a5b191bf3bfe007e8b274086
Reviewed-on: https://chromium-review.googlesource.com/871507
Commit-Queue: Liquan (Max) Gǔ <maxlg@chromium.org>
Reviewed-by: Yoav Weiss <yoav@yoav.ws>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558323}
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/WebKit/LayoutTests/http/tests/performance-timing/custom-user-timing/performanceobservers.js
[add] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/WebKit/LayoutTests/http/tests/performance-timing/custom-user-timing/po-customusertiming-featuredetection.html
[add] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/WebKit/LayoutTests/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure.html
[add] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/WebKit/LayoutTests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure-expected.txt
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/BUILD.gn
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance.cc
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance.h
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance.idl
[add] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance_measure.cc
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance_measure.h
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance_measure.idl
[add] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance_measure_options.idl
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance_user_timing.cc
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/performance_user_timing.h
[modify] https://crrev.com/656fcdd64468b638cf65b76209a05dd65812070f/third_party/blink/renderer/core/timing/window_performance_test.cc

Ping from bug triage: Any status update on this? 
@tdresser, do we need origin trial for L3 before fully upgrading it?
We don't need an origin trial, but we do need to get consensus on the spec.
Nicolas, what's the status on the spec here?
I'm not working on this particular spec but we should push it forward during TPAC. AFAIK L2 has reached CR so now we are good to ship all the L3 changes we want. I see that there is an issue on this but no feedback https://github.com/w3c/user-timing/issues/43
Project Member

Comment 23 by bugdroid1@chromium.org, Nov 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1500c78c9355c49f0e880364808357b274a37cbf

commit 1500c78c9355c49f0e880364808357b274a37cbf
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Thu Nov 22 05:45:24 2018

[UserTimingL3] Refactor entry list comparison logic in custom-user-timing/

In the original comparison logic of performance entries, entries are identified
based on entryType, name, detail (if listed) and startTime (if listed). An entry
is set to be found only when all of the attributes match. If any of the
attribute is not found, the test would just said the entry is not found. But
the developer wouldn't know which attribute cause the comparison to fail.

In a new logic, we use the name as the identifier for entries. Once the entry
is found, we then compare their attributes. In this way, developers would know
which attribute caused the failure by the error message.

Another benefit of the refactoring is that it factors out the logic of single
entry comparison. The logic will be useful for test cases in later patches.

Bug: 758385
Change-Id: Ib5721367228f32567efa74cd14a75688fbb34af7
Reviewed-on: https://chromium-review.googlesource.com/c/1346913
Commit-Queue: Liquan (Max) Gǔ <maxlg@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610314}
[modify] https://crrev.com/1500c78c9355c49f0e880364808357b274a37cbf/third_party/WebKit/LayoutTests/http/tests/performance-timing/custom-user-timing/performanceobservers.js

Labels: Pri-1
Nicolas, what's the status of the spec work? Are we blocking on it?
Good you ask! Spec work is mostly done since https://github.com/w3c/user-timing/pull/46 has landed, so not blocked on spec. I'm missing constructors though, but that's a smaller change.

Could you go over https://w3c.github.io/user-timing/ and make sure Chrome's IDL follows? I think I simplified the API a bit but Chrome's implementation is still on the old proposal.
Spec work is done so please send an I2S and change Chrome's implementation so that it aligns with https://w3c.github.io/user-timing. I didn't get a clear answer on whether the Fetch use case requires a PerformanceMeasure constructor so for now we're only having a PerformanceMark constructor.
I see, I will work on it soon. Thanks!

Comment 29 by maxlg@google.com, Jan 17 (5 days ago)

What's the behavior should be when we pass NaN or infinities to the second argument of performance.mark() or as startTime? Should the spec discuss about it?

Comment 30 by npm@chromium.org, Jan 17 (5 days ago)

Yea Ilya was also asking about having some checks to ensure sane values. I think maybe we should throw an exception for values <= 0 and >= something, not sure what the something should be? (It shouldn't be CurrentTimeTicks() because that would incur the cost of actually calling that).

Comment 31 Deleted

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 21 (2 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64c192c467773e40249baf225ad3d2756694b174

commit 64c192c467773e40249baf225ad3d2756694b174
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Mon Jan 21 18:56:44 2019

[UserTimingL3] Mark API: DoubleOrOptions to Options

According to the latest spec, the performance.mark API should only take an optional PerformanceMarkOptions as the second argument: https://w3c.github.io/user-timing. With the new change, we no longer allow the L3 users to pass in timestamp directly, but only allow them to set the attribute in the options.

To align with this change, we need to change the implementation of the API, and the related tests.

This CL is to reflect the above change.

Bug: 758385
Change-Id: I12a320f3c5f4faa57fe836fa52a463499aaf6d38
Reviewed-on: https://chromium-review.googlesource.com/c/1418070
Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
Auto-Submit: Liquan (Max) Gu <maxlg@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624641}
[modify] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/renderer/core/timing/performance.cc
[modify] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/renderer/core/timing/performance.h
[modify] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/renderer/core/timing/performance.idl
[modify] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/renderer/core/timing/performance_user_timing.cc
[modify] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/renderer/core/timing/performance_user_timing.h
[modify] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark.html
[modify] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure.html
[add] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type-expected.txt
[add] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type.html
[delete] https://crrev.com/a54ca0d43b47c139953f45f8639fb99b90ae939a/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark-expected.txt
[delete] https://crrev.com/a54ca0d43b47c139953f45f8639fb99b90ae939a/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure-expected.txt
[add] https://crrev.com/64c192c467773e40249baf225ad3d2756694b174/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type-expected.txt

Project Member

Comment 33 by bugdroid1@chromium.org, Jan 21 (2 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/227bf604108c1a7c139d992c5b4e416c7cc501be

commit 227bf604108c1a7c139d992c5b4e416c7cc501be
Author: Findit <findit-for-me@appspot.gserviceaccount.com>
Date: Mon Jan 21 19:31:08 2019

Revert "[UserTimingL3] Mark API: DoubleOrOptions to Options"

This reverts commit 64c192c467773e40249baf225ad3d2756694b174.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 624641 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzY0YzE5MmM0Njc3NzNlNDAyNDliYWYyMjVhZDNkMjc1NjY5NGIxNzQM

Sample Failed Build: https://ci.chromium.org/buildbot/chromium/linux-rel/16086

Sample Failed Step: compile

Original change's description:
> [UserTimingL3] Mark API: DoubleOrOptions to Options
> 
> According to the latest spec, the performance.mark API should only take an optional PerformanceMarkOptions as the second argument: https://w3c.github.io/user-timing. With the new change, we no longer allow the L3 users to pass in timestamp directly, but only allow them to set the attribute in the options.
> 
> To align with this change, we need to change the implementation of the API, and the related tests.
> 
> This CL is to reflect the above change.
> 
> Bug: 758385
> Change-Id: I12a320f3c5f4faa57fe836fa52a463499aaf6d38
> Reviewed-on: https://chromium-review.googlesource.com/c/1418070
> Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
> Auto-Submit: Liquan (Max) Gu <maxlg@chromium.org>
> Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#624641}

Change-Id: I528ff643854cc99019ed1c121d957e3b663ecce7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 758385
Reviewed-on: https://chromium-review.googlesource.com/c/1426006
Cr-Commit-Position: refs/heads/master@{#624645}
[modify] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/renderer/core/timing/performance.cc
[modify] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/renderer/core/timing/performance.h
[modify] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/renderer/core/timing/performance.idl
[modify] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/renderer/core/timing/performance_user_timing.cc
[modify] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/renderer/core/timing/performance_user_timing.h
[modify] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark.html
[modify] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure.html
[delete] https://crrev.com/58db3f4abe63721b8508ae2668457fd0afb18d7c/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type-expected.txt
[delete] https://crrev.com/58db3f4abe63721b8508ae2668457fd0afb18d7c/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type.html
[add] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark-expected.txt
[add] https://crrev.com/227bf604108c1a7c139d992c5b4e416c7cc501be/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure-expected.txt
[delete] https://crrev.com/58db3f4abe63721b8508ae2668457fd0afb18d7c/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type-expected.txt

Project Member

Comment 34 by bugdroid1@chromium.org, Yesterday (42 hours ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cbc69a32e41bcd9937b5a081925ddd615c5cd27c

commit cbc69a32e41bcd9937b5a081925ddd615c5cd27c
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Tue Jan 22 01:16:09 2019

Reland "[UserTimingL3] Mark API: DoubleOrOptions to Options"

This is a reland of 64c192c467773e40249baf225ad3d2756694b174.

The original CL didn't remove a union type that the IDL no longer generated, which was the cause of the compile failure. The trybot and the local build didn't capture this error.

Original change's description:
> [UserTimingL3] Mark API: DoubleOrOptions to Options
>
> According to the latest spec, the performance.mark API should only take an optional PerformanceMarkOptions as the second argument: https://w3c.github.io/user-timing. With the new change, we no longer allow the L3 users to pass in timestamp directly, but only allow them to set the attribute in the options.
>
> To align with this change, we need to change the implementation of the API, and the related tests.
>
> This CL is to reflect the above change.
>
> Bug: 758385
> Change-Id: I12a320f3c5f4faa57fe836fa52a463499aaf6d38
> Reviewed-on: https://chromium-review.googlesource.com/c/1418070
> Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
> Auto-Submit: Liquan (Max) Gu <maxlg@chromium.org>
> Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#624641}

Bug: 758385,  923926 
Change-Id: I4b4d31989f9187cd7cca4c2fa150472aefd7cc5d
Reviewed-on: https://chromium-review.googlesource.com/c/1426081
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624708}
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/renderer/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/renderer/core/timing/performance.cc
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/renderer/core/timing/performance.h
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/renderer/core/timing/performance.idl
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/renderer/core/timing/performance_user_timing.cc
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/renderer/core/timing/performance_user_timing.h
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark.html
[modify] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure.html
[add] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type-expected.txt
[add] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type.html
[delete] https://crrev.com/cd6620389e6584de465e61977f69caa87467b7bc/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-mark-expected.txt
[delete] https://crrev.com/cd6620389e6584de465e61977f69caa87467b7bc/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure-expected.txt
[add] https://crrev.com/cbc69a32e41bcd9937b5a081925ddd615c5cd27c/third_party/blink/web_tests/virtual/custom-user-timing/http/tests/performance-timing/custom-user-timing/usertimingl3-mark-type-expected.txt

Project Member

Comment 35 by bugdroid1@chromium.org, Yesterday (37 hours ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0e69440a772a6802b483e38febde4c84252ff545

commit 0e69440a772a6802b483e38febde4c84252ff545
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Tue Jan 22 05:55:39 2019

[UserTimingL3] Measure API: not accept timestamp as the second or third argument

According to the latest spec, the performance.measure API should only take an optional StringOrPerformanceMeasureOptions as the second argument and optional String as the third argument : https://w3c.github.io/user-timing. With the new change, we no longer allow the L3 users to pass in timestamp directly, but only allow them to set the attribute in the options.

To align with this change, we need to change the implementation of the API, and the related tests.

This CL is to reflect the above change.

Note that this CL also changes the startOrOptions argument to be nullable. Otherwise, null/undefined passed in will be interpreted as {}.

Bug: 758385
Change-Id: If7b56291d34344f1e194ab4ff0c878ca947e4be4
Reviewed-on: https://chromium-review.googlesource.com/c/1418878
Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624734}
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/renderer/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/renderer/core/timing/performance.cc
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/renderer/core/timing/performance.h
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/renderer/core/timing/performance.idl
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/renderer/core/timing/performance_test.cc
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/renderer/core/timing/window_performance_test.cc
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-featuredetection.html
[modify] https://crrev.com/0e69440a772a6802b483e38febde4c84252ff545/third_party/blink/web_tests/http/tests/performance-timing/custom-user-timing/po-customusertiming-measure.html

Sign in to add a comment