Skip to content

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

The current Event Timing shadow dom null target test was poorly written
and likely hiding a real Chromium issue, that only happens
intermittently.

Previously: for some reason we would create two spans and simulate two
hover events-- but only make one of them long-running and then expect we
only get one Event Timing.

But the actual duration of an event is related to input and presentation
delay, and especially on infra there is no reason to assume the "fast"
event will be under 16ms.

Further, the PerformanceObserver is registered after the event and
afterNextPaint, but without buffering-- so it's a yield continuation
task + observer registration request racing against a presentation
feedback + observer callback.

Given all that, I think we often ran the test expectations only for the
first event, rather than the intended second event, or even for an
observer that captured both events.

(The reported failure is related to having two entries and expecting
one).

However, after simplifying the test to just test a single hover event, I
get fairly consistent failures about the target value not actually being
null. I can repro this in Chromium manual test outside of WPT.

A fix for Chromium implementation will follow.

Bug: 452637511
Change-Id: I2cb67554828669857fd765e78f9b103070de7608

Reviewed-on: https://chromium-review.googlesource.com/7048840
WPT-Export-Revision: 465e8949d8e639a69665f6dfeb8324aa05b3ceb7

The current Event Timing shadow dom null target test was poorly written
and likely hiding a real Chromium issue, that only happens
intermittently.

Previously: for some reason we would create two spans and simulate two
hover events-- but only make one of them long-running and then expect we
only get one Event Timing.

But the actual duration of an event is related to input and presentation
delay, and especially on infra there is no reason to assume the "fast"
event will be under 16ms.

Further, the PerformanceObserver is registered after the event and
afterNextPaint, but without buffering-- so it's a yield continuation
task + observer registration request racing against a presentation
feedback + observer callback.

Given all that, I think we often ran the test expectations only for the
first event, rather than the intended second event, or even for an
observer that captured both events.

(The reported failure is related to having two entries and expecting
one).

However, after simplifying the test to just test a single hover event, I
get fairly consistent failures about the target value not actually being
null. I can repro this in Chromium manual test outside of WPT.

A fix for Chromium implementation will follow.

Bug: 452637511
Change-Id: I2cb67554828669857fd765e78f9b103070de7608
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant