New issue
Advanced search Search tips

Issue 823744 link

Starred by 3 users

Issue metadata

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

Blocked on: View detail
issue 914391
issue 914500

Blocking:
issue 543598
issue 841224



Sign in to add a comment

[EventTiming] implement Event Timing

Project Member Reported by maxlg@google.com, Mar 20 2018

Issue description

Comment 1 by maxlg@google.com, Mar 20 2018

1. Do the API record the entry to the buffer only after PO starts to observe the ‘event’ entry type?
2. If the event timing buffer is full, it doesn’t add entries to the buffer anymore, but generate a eventtimingbufferfull event, which is handled by oneventtimingbufferfull handler.
3. To clear the event timing buffer, we need to call performance.clearEventTimings().
1. We need to record all entries to the buffer before we hit onload.
2. That sounds about right to me.
3. Yup!

Comment 3 by maxlg@chromium.org, Mar 20 2018

About testability, can we somehow simulate a click event on a button while the main thread is busy? 
Cc: nzolghadr@chromium.org
Good question.

We probably want to restrict to "trusted" events. (I have a TODO to add this to the spec.) Otherwise we could just synthesize events in JS.

I think we'll need to use the same approach the pointer event tests have used here.

See here for an example:
https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerevent_pointerout_pen-manual.html?dr&q=pointerevent_pointerout_pen-manual.html&sq=package:chromium&l=1
https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_pointerleave_pen-manual-automation.js

+Navid in case we have a better approach now.

Comment 5 by maxlg@chromium.org, Mar 22 2018

Status: Started (was: Assigned)
We are moving towards a better cross browser web driver-y approach. But so far we only have the click API landed.
https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/resources/testdriver.js?l=60

The work is being done for the rest of the pointer action APIs. It should land sometime in Q2. But for now feel free to use the same approach as we are using which is what Tim pointed out.

Comment 7 by maxlg@chromium.org, Mar 23 2018

Thanks Navid! The API works. That's just what I need:)

Comment 8 Deleted

Comment 9 by maxlg@chromium.org, Mar 23 2018

Tim. One tricky question, is buffering before onload defines 'before' as the event's start-time or processing-time before onload-start. Intuitively it should use the start-time, but I found observer is using processing time (in other words, an observer can observe something happening before the observer is registered).
Oh, interesting. Intuitively, it feels like start time makes more sense, but this might fall apart with custom user timing entries, where the start time can be set to anything.

We should be consistent here - maybe the only reasonable thing is to use when the entry is created?

Comment 11 by maxlg@chromium.org, Mar 27 2018

As it happens only when the mainthread is so busy that a input happening before observer start is delayed until after the observer start to be dispatched & processed. We probably don't want to sacrifice performance on each event for the sake of this rare situation.

Comment 12 by maxlg@chromium.org, Mar 27 2018

For testing purpose, I am trying to simulate dispatching an event that can cause default actions or being handled before onload.

I've tried right clicks. But as right clicks will open a context menu, when there are multiple clicks, the second click may fall into the context menu created by the first click, unless the second click is fast enough that it can fall into the window before the context menu is created. 

Left clicks seem not working, because there is no handler or default actions that can be triggered before onload.

Do you know of any other way to do that?

Comment 13 by maxlg@google.com, Mar 28 2018

Discussed with tdresser@ offline. Putting a button before onload can solve the issue.

Comment 14 by maxlg@chromium.org, Apr 23 2018

Blocking: 543598
Project Member

Comment 15 by bugdroid1@chromium.org, May 7 2018

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

commit 6bc702ce4e6080adf5fff8e998e5138de88f1f7c
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Mon May 07 18:45:59 2018

[EventTiming] Implement Event Timing API

What does the API do?
The Event Timing API allows users to observe event latency. The Event Latency of
an event refers to the duration between the occurrence of an event and the time
all default actions and listeners on the event path are finished. It also
provides the ability to buffer event-timing entries before onload.

How to use this API?
1. new PerformanceObserver(callback).observe({ entryTypes: ['event'] });
2. performance API: getEntriesByType('event') and getEntries/getEntriesByName

How is it implemented in this patch?
The main working logics are in EventTiming and Performance. Performance is
responsible for managing the event timing buffer and entries, while EventTiming
is responsible for the measuring logics.

API proposal doc - Minimal Event Timing Web Perf API:
https://github.com/WICG/event-timing/blob/master/README.md

Bug: 823744
Change-Id: Ife010bf141c5a3741b8a6f0e43e42e107bd734c2
Reviewed-on: https://chromium-review.googlesource.com/971361
Commit-Queue: Liquan (Max) Gǔ <maxlg@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556511}
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/fast/dom/Window/window-properties-performance-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-bufferbeforeonload.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-crossiframe.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-observer-manual.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-observethenonload.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-onloadthenobserve.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-retrievability.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/resources/event-timing-crossiframe-childframe.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/resources/event-timing-observer-manual-childframe.html
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/performance/event-timing/resources/event-timing-support.js
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/dom/events/event.cc
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/dom/events/event.h
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/dom/events/event_dispatcher.cc
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/dom/events/event_target.cc
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/events/event_type_names.json5
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/events/pointer_event.cc
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/events/pointer_event.h
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/BUILD.gn
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/event_timing.cc
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/event_timing.h
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance.cc
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance.h
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance.idl
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance_entry.cc
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance_entry.h
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance_event_timing.cc
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance_event_timing.h
[add] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/performance_event_timing.idl
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/window_performance.cc
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/core/timing/window_performance.h
[modify] https://crrev.com/6bc702ce4e6080adf5fff8e998e5138de88f1f7c/third_party/blink/renderer/platform/runtime_enabled_features.json5

Comment 16 by maxlg@chromium.org, May 26 2018

Cc: japhet@chromium.org
+Nate. Per https://chromium-review.googlesource.com/c/chromium/src/+/1050953/6, I will add a layout test and remove the test EventTimingBeforeOnLoad from window_performance_test.cc.
performance/event-timing/event-timing-bufferbeforeonload.html is found to be flaky on Linux site_per_process_webkit_layout_tests

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Tests/70097

FAIL Event Timing: click, onload. assert_greater_than: expected a number greater than 544.2 but got 544.0859375

Could you please take a look?

Thanks

Comment 18 by maxlg@chromium.org, May 29 2018

Thanks for reporting it. Unfortunately there is not enough error information to tell the line of failure. I will mark it as flaky and add more error information for observation before fixing it. Does it sound good to you?
Project Member

Comment 19 by bugdroid1@chromium.org, Jun 8 2018

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

commit d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Fri Jun 08 13:15:38 2018

[EventTiming] Filter event types

EventTiming cares about the following types, according to
https://github.com/wicg/event-timing.

* MouseEvents
* PointerEvents
* TouchEvents
* KeyboardEvents
* WheelEvents
* InputEvents
* CompositionEvents

For this reason, this CL is to filter out events other than these.

Bug: 823744
Change-Id: I5491d15256ca72ac7d22f1e547ce65851c0493a0
Reviewed-on: https://chromium-review.googlesource.com/1087798
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565617}
[add] https://crrev.com/d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-timingconditions.html
[modify] https://crrev.com/d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e/third_party/blink/renderer/core/dom/events/event.cc
[modify] https://crrev.com/d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e/third_party/blink/renderer/core/dom/events/event.h
[modify] https://crrev.com/d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e/third_party/blink/renderer/core/events/composition_event.cc
[modify] https://crrev.com/d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e/third_party/blink/renderer/core/events/composition_event.h
[modify] https://crrev.com/d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e/third_party/blink/renderer/core/timing/event_timing.cc
[modify] https://crrev.com/d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e/third_party/blink/renderer/core/timing/event_timing.h

Project Member

Comment 20 by bugdroid1@chromium.org, Jun 22 2018

Labels: merge-merged-3440
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4bd91fd69c572e6bea6912ea741d340e018f104

commit b4bd91fd69c572e6bea6912ea741d340e018f104
Author: Liquan(Max) Gu <maxlg@chromium.org>
Date: Fri Jun 22 15:31:58 2018

[EventTiming] Filter event types

EventTiming cares about the following types, according to
https://github.com/wicg/event-timing.

* MouseEvents
* PointerEvents
* TouchEvents
* KeyboardEvents
* WheelEvents
* InputEvents
* CompositionEvents

For this reason, this CL is to filter out events other than these.

Bug: 823744
Change-Id: I5491d15256ca72ac7d22f1e547ce65851c0493a0
Reviewed-on: https://chromium-review.googlesource.com/1087798
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#565617}(cherry picked from commit d5c9dc60cbf5d6436f04573dfca3b355ce7d5c2e)
Reviewed-on: https://chromium-review.googlesource.com/1112177
Cr-Commit-Position: refs/branch-heads/3440@{#487}
Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733}
[add] https://crrev.com/b4bd91fd69c572e6bea6912ea741d340e018f104/third_party/WebKit/LayoutTests/performance/event-timing/event-timing-timingconditions.html
[modify] https://crrev.com/b4bd91fd69c572e6bea6912ea741d340e018f104/third_party/blink/renderer/core/dom/events/event.cc
[modify] https://crrev.com/b4bd91fd69c572e6bea6912ea741d340e018f104/third_party/blink/renderer/core/dom/events/event.h
[modify] https://crrev.com/b4bd91fd69c572e6bea6912ea741d340e018f104/third_party/blink/renderer/core/events/composition_event.cc
[modify] https://crrev.com/b4bd91fd69c572e6bea6912ea741d340e018f104/third_party/blink/renderer/core/events/composition_event.h
[modify] https://crrev.com/b4bd91fd69c572e6bea6912ea741d340e018f104/third_party/blink/renderer/core/timing/event_timing.cc
[modify] https://crrev.com/b4bd91fd69c572e6bea6912ea741d340e018f104/third_party/blink/renderer/core/timing/event_timing.h

Work on this is ongoing.
Cc: maxlg@chromium.org
Owner: npm@chromium.org
I've been using the Launch bug in several CLs related to EventTiming so as an update, the following revisions refer to this bug:

Add an Origin Trial for EventTiming
https://chromium.googlesource.com/chromium/src.git/+/26177caf2422fca75e0d3fe793dc04f66bf8213c

EventTiming: Implement processingEnd and fix duration
https://chromium.googlesource.com/chromium/src.git/+/05a8dcc9f9b94cbade61024e5d1c130737f666a7 

EventTiming: Implement First Input
https://chromium.googlesource.com/chromium/src.git/+/fb0340843831ff66336ae4357d302969d194d078

[M68 merge] Add an Origin Trial for EventTiming 
https://chromium.googlesource.com/chromium/src.git/+/2e1aec1830cea9c1668db8751db1ac800b6b780d

[M68 merge] EventTiming: Implement processingEnd and fix duration 
https://chromium.googlesource.com/chromium/src.git/+/a8a97439c6585e5a699fb18e7a9744fc6c88dc74

[M68 merge] EventTiming: Implement First Input
https://chromium.googlesource.com/chromium/src.git/+/134e010889e3695fc33584486eb21dde4a362f4d

EventTiming: create at most one firstInput entry
https://chromium.googlesource.com/chromium/src.git/+/c9e1e0dac7e69fd57053f8988f64b1903727f5a8

(Merge) EventTiming: create at most one firstInput entry
https://chromium.googlesource.com/chromium/src.git/+/f7111eada104774df0884c162edbbab273c4a355

[A couple of attempts to move EventTiming tests to WPT were almost immediately reverted.]

Move EventTiming tests to WPT Try 3 
https://chromium.googlesource.com/chromium/src.git/+/6f5f9c29d24b1a83e226a49f446575ffb372512e
And I keep pretending I'm bugdroid because I forgot to edit the bug in the latest CL.

The following revision refers to this bug:

[EventTiming] Always buffer firstInput
https://chromium.googlesource.com/chromium/src.git/+/b6e2cb9b364649724a1577b0c842074e12b82f27
Project Member

Comment 24 by bugdroid1@chromium.org, Dec 5

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

commit be290fb7d750c56e0a2845e0664ab49026d8a0d5
Author: Nicolas Pena <npm@chromium.org>
Date: Wed Dec 05 15:28:06 2018

Reland "[EventTiming] Always buffer firstInput"

This is a reland of b6e2cb9b364649724a1577b0c842074e12b82f27

Flaky tests are fixed: the assumption that wait is sufficient to expect
input events to be processed is false.

Original change's description:
> [EventTiming] Always buffer firstInput
>
> Before, we'd buffer the firstInput entry only if it happened before
> onload. This CL forces firstInput to always be buffered. This means
> EventTiming code is called more in some tests, so the event hardware
> timestamp is no longer guaranteed to be nonzero, and a couple of xr
> tests require double RAF to avoid competing with the swap promises from
> Event Timing.
>
> Bug: 841224, 843184
>
> Change-Id: I942b934c387798c100da4ecfff52affb66ab94e8
> Reviewed-on: https://chromium-review.googlesource.com/c/1355880
> Reviewed-by: Timothy Dresser <tdresser@chromium.org>
> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#612703}

Bug: 823744, 843184
Change-Id: I5286f3748d35c0c9d5972d301cd5abcf6e453da4
Reviewed-on: https://chromium-review.googlesource.com/c/1358910
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613973}
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/renderer/core/timing/event_timing.cc
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/renderer/core/timing/window_performance.cc
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/renderer/core/timing/window_performance.h
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/web_tests/external/wpt/event-timing/event-timing-bufferbeforeonload.html
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/web_tests/external/wpt/event-timing/event-timing-onloadthenobserve-firstInput.html
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/web_tests/external/wpt/event-timing/event-timing-onloadthenobserve.html
[add] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/web_tests/external/wpt/event-timing/event-timing-retrieve-firstInput.html
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/web_tests/xr/events_session_resetpose.html
[modify] https://crrev.com/be290fb7d750c56e0a2845e0664ab49026d8a0d5/third_party/blink/web_tests/xr/xrFrameOfReference_stage_updates.html

Project Member

Comment 25 by bugdroid1@chromium.org, Dec 6

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

commit fa0f7396931a4b55b3f8aba9de6345817a4fa081
Author: Nicolas Pena <npm@chromium.org>
Date: Thu Dec 06 15:33:01 2018

[EventTiming] Make PerformanceEventTiming Exposed=Window

This CL makes PerformanceEventTiming IDL consistent with the spec, after
https://github.com/WICG/event-timing/pull/16. Note that EventCount is
not yet implemented.

Bug: 823744
Change-Id: I01779ed82cba0cfea0542ab74cc95b4e7adc8aac
Reviewed-on: https://chromium-review.googlesource.com/c/1363961
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614360}
[modify] https://crrev.com/fa0f7396931a4b55b3f8aba9de6345817a4fa081/third_party/blink/renderer/core/timing/performance_event_timing.idl

Project Member

Comment 26 by bugdroid1@chromium.org, Dec 12

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

commit 150bf5f7bebda013d819d72ff1b590fa188c321c
Author: Nicolas Pena <npm@chromium.org>
Date: Wed Dec 12 20:43:50 2018

[EventTiming] Report events without event handlers

This CL allows reporting events without event handlers. In particular,
this implies that slow clicks cause slow mousedown events, so the tests
are modified accordingly.

Bug: 823744
Change-Id: I9578519ae538496404bb220001d3ca97565b7bd7
Reviewed-on: https://chromium-review.googlesource.com/c/1368458
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616026}
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/renderer/core/timing/event_timing.cc
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-bufferbeforeonload.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-crossiframe.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-observethenonload.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-onloadthenobserve-firstInput.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-onloadthenobserve.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-only-observe-firstInput.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-retrievability.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-retrieve-firstInput.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/event-timing-timingconditions.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/resources/event-timing-crossiframe-childframe.html
[modify] https://crrev.com/150bf5f7bebda013d819d72ff1b590fa188c321c/third_party/blink/web_tests/external/wpt/event-timing/resources/event-timing-support.js

Cc: sadrul@chromium.org
Blockedon: 914391
Blockedon: 914500

Sign in to add a comment