New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 599609 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 23
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug


Sign in to add a comment

Unresponsive sites shouldn't be permitted to block touch scrolling

Project Member Reported by rbyers@chromium.org, Mar 31 2016

Issue description

Aaround 5% of touch scrolls take longer than 100ms to begin on Chrome for Android (and a catastrophic 500ms delay is not unusual during page load) [from https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md].

In 2016 we want to cut off this long-tail of scroll start responsiveness completely. I.e. 99th percentile of touch scroll start should be <100ms.

Doing this responsibly without causing a bunch of developer pain requires care and thoughtfulness.  See http://bit.ly/user-agent-intervention

So first we're blocked on having really good features and developer guidance in place so that there's no good reason to ever block scrolling.  We're almost there with passive event listeners  ( issue 489802 ).

This bug tracks the next step of shipping an intervention that iteratively improves scroll responsiveness on the worst performing sites, effectively forcing all their touch listeners to be passive.  The details are tricky and contentious, but we intend to be very data-driven in sticking a good tradeoff and then iterating over time to ratchet up the quality of experience.  Design doc forthcoming.
 

Comment 1 by rbyers@chromium.org, Mar 31 2016

Blocking: 260732

Comment 2 by rbyers@chromium.org, Mar 31 2016

Blocking: 598248

Comment 3 by klo...@chromium.org, Mar 31 2016

Cc: klo...@chromium.org

Comment 4 by klo...@chromium.org, Mar 31 2016

Can we track the touch delay separately based on whether a page is loading or not?

5% makes the case sounds uncommon, while every of us experience this in the daily life.

Comment 5 by rbyers@chromium.org, Mar 31 2016

Labels: -Pri-3 Pri-2
Filed  issue 599630  to discuss tracking "during load" metrics separately.  Note that 5% of all scrolls is still extremely common (even though it may not sound that way).  It means 1 in 20 scrolls feel absolutely terrible.

Another data point: 12% is over 50ms (which is still bad).

See full data here: https://uma.googleplex.com/p/chrome/histograms/?endDate=03-30-2016&dayCount=1&histograms=Event.Latency.TouchToFirstScrollUpdateSwapBegin&fixupData=true&showMax=true&filters=channel%2Ceq%2C4%2Cplatform%2Ceq%2CA%2Cisofficial%2Ceq%2CTrue&implicitFilters=isofficial
Cc: nduca@chromium.org alexclarke@chromium.org
+1 to doing this. Do you have thoughts on how we determine which sites are unresponsive. Is it based on runtime measurements, some kind aggregated metric across multiple users or some other heuristic?

I can wait for the design doc too :)
I've got some thoughts (eg. I believe we should probably look at main
thread responsiveness irrespective of input).  But thoughts are cheap, what
we need is data.  Tim and Lan are analyzing deep reports to compute the
cost (potential breakage) and benefits (perf win) of a variety of
approaches.
Cc: lanwei@chromium.org
We're also going to be looking at using the listener target in the heuristic.  Maybe it's possible we could just cause all root-level (window, document, html and body) touch listeners to always be passive?  That would be nice and rational and my gut instinct is that the breakage may be tolerable - at least if we're careful with roll out and do some evangelism for touch-action.  The biggest risk will be event delegation scenarios (where the only listener is on the document but the framework routes the events to different elements, some of which may block scrolling) - those can be quite common.
We probably can't test using the event listener target using deep reports.

Should we land an UMA metric measuring how often root level touch listeners preventDefault?
Blockedon: 601990
Labels: Hotlist-Input-Dev M-53
Blockedon: 607151
Blockedon: 601037 604790
Blockedon: 601179
Blockedon: 607245
I have the framework for an intervention doc for this here: https://docs.google.com/document/d/1mlUcJZHLyz1fip7CNEiU0w7JgcxBZUilvOwg0i9ZvQc/edit
Mainly needs the results of the metrics we're gathering so we can choose a concrete trigger for the intervention.
Labels: Hotlist-Interventions
Blocking: 626196
Project Member

Comment 20 by sheriffbot@chromium.org, Jul 14 2016

Labels: -M-53 M-54 MovedFrom-53
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Started (was: Assigned)
Is the root scroller intervention tracked here too?  I couldn't find a separate big for it (probably should have one for launch / regression tracking).  Anyway a site that appears broken by it: http://m.soundtransit.org/schedules?direction=outbound#40_100479.  Click on "view map", can't really pan the map vertically - scrolls instead.  I expect some breakage like this and it's still probably the right choice, but we need to keep an eye on it and publish good guidance.
Thanks Rick for sharing this case.
This intervention feels similar to the doc.write intervention. I'm mostly done with the doc.write launch plan and will start one for the passive event listener intervention.
Tim, do you think M54 is realistic for the root scroller intervention?
The work is tracked in  issue 625675 .

Dave might have more insight on whether M54 is realistic.

The blocker right now is making sure the data all looks sane.
In Dev, the performance results are looking pretty solid, but we'll be much more likely to hear about breakage once it's in Beta.
Labels: -M-54
Project Member

Comment 28 by bugdroid1@chromium.org, Dec 16 2016

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

commit 2c6c355f995d54c481419acebed7f988207c57c4
Author: tdresser <tdresser@chromium.org>
Date: Fri Dec 16 15:17:33 2016

Force events to be non blocking if main thread is unresponsive.

Behind the MainThreadBusyScrollIntervention content feature.

Uses the estimated input latency
(https://docs.google.com/document/d/1b9slyaB9yho91YTOkAQfpCdULFkZM9LqsipcX3t7He8/)
to determine when the main thread is unresponsive. When the main thread
is unresponsive, forces events to be non-blocking.

To be enabled via Finch.

TEST=MainThreadEventQueueTest.ForcedNonBlockingDueToUnresponsiveMainThread,
     RenderWidgetUnittest.RenderWidgetInputEventUmaMetrics
     QueueingTimeEstimatorTest.EstimateQueueingTimeDuringSingleLongTaskIncompleteWindow
     QueueingTimeEstimatorTest.EstimateQueueingTimeDuringSingleLongTaskExceedingWindow
BUG= 599609 

Review-Url: https://codereview.chromium.org/2273703002
Cr-Commit-Position: refs/heads/master@{#439106}

[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/content/public/common/content_features.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/content/public/common/content_features.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/content/renderer/input/main_thread_event_queue.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/content/renderer/input/render_widget_input_handler.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/device/base/synchronization/one_writer_seqlock.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/device/base/synchronization/one_writer_seqlock.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/device/base/synchronization/shared_memory_seqlock_buffer.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/scheduler/base/queueing_time_estimator.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/scheduler/base/queueing_time_estimator.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/scheduler/base/queueing_time_estimator_unittest.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/Source/platform/scheduler/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/public/platform/WebInputEvent.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/public/platform/scheduler/renderer/renderer_scheduler.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/public/platform/scheduler/test/fake_renderer_scheduler.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/third_party/WebKit/public/platform/scheduler/test/mock_renderer_scheduler.h
[modify] https://crrev.com/2c6c355f995d54c481419acebed7f988207c57c4/tools/metrics/histograms/histograms.xml

Blocking: 684703
Project Member

Comment 30 by bugdroid1@chromium.org, Feb 9 2017

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

commit 0c4dc23c2c1a24df3f57347c0765b4872730c632
Author: tdresser <tdresser@chromium.org>
Date: Thu Feb 09 13:24:55 2017

Pass main thread responsiveness threshold via Finch

This will allow us to tune when a page is considered unresponsive
for the main thread responsiveness intervention.

To test, use:
--enable-features="MainThreadBusyScrollIntervention"
--force-fieldtrials=MainThreadResponsivenessScrollIntervention/Enabled150

BUG= 599609 
TEST=MainThreadEventQueueInitializationTest, RendererSchedulerImplTest, manual testing of passing via commandline.

Review-Url: https://codereview.chromium.org/2581243004
Cr-Commit-Position: refs/heads/master@{#449276}

[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/content/renderer/input/main_thread_event_queue.h
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/content/renderer/input/main_thread_event_queue_unittest.cc
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/third_party/WebKit/Source/platform/scheduler/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/third_party/WebKit/public/platform/scheduler/renderer/renderer_scheduler.h
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/third_party/WebKit/public/platform/scheduler/test/fake_renderer_scheduler.h
[modify] https://crrev.com/0c4dc23c2c1a24df3f57347c0765b4872730c632/third_party/WebKit/public/platform/scheduler/test/mock_renderer_scheduler.h

Project Member

Comment 31 by bugdroid1@chromium.org, Feb 13 2017

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

commit a1731fe3102fa6716917dc513a1725af7ce8dfa4
Author: tdresser <tdresser@chromium.org>
Date: Mon Feb 13 15:16:41 2017

Disable touch ack timeout if MT responsiveness scroll intervention on.

If the main thread responsiveness scroll intervention is on, disable
the touch ack timeout. See the intent to implement for details:

https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/CGeXqTudllA/3t72vfXOBAAJ

BUG= 599609 
TEST=Manually tested locally.

Review-Url: https://codereview.chromium.org/2689633003
Cr-Commit-Position: refs/heads/master@{#449959}

[modify] https://crrev.com/a1731fe3102fa6716917dc513a1725af7ce8dfa4/content/browser/renderer_host/input/input_router_config_helper.cc

Project Member

Comment 32 by bugdroid1@chromium.org, Feb 13 2017

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

commit 725e6577e9c3d03aeb9dea5851422813ec6e84e5
Author: tdresser <tdresser@chromium.org>
Date: Mon Feb 13 17:19:50 2017

Log when PreventDefaulting event forced uncancellable.

Logs to JS console and records a use counter when an uncancellable event has
preventDefault called on it, for the main thread unresponsiveness scrolling
intervention, as well as in the general case.

Also migrates the existing forced passive document level listeners warning to
use the InterventionMessageSource.

Use Counters added:
UncancellableTouchEventPreventDefaulted
UncancellableTouchEventDueToMainThreadResponsivenessPreventDefaulted

BUG= 599609 
TEST=TouchEventTest

Review-Url: https://codereview.chromium.org/2680973010
Cr-Commit-Position: refs/heads/master@{#449987}

[modify] https://crrev.com/725e6577e9c3d03aeb9dea5851422813ec6e84e5/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/725e6577e9c3d03aeb9dea5851422813ec6e84e5/third_party/WebKit/Source/core/events/TouchEvent.cpp
[add] https://crrev.com/725e6577e9c3d03aeb9dea5851422813ec6e84e5/third_party/WebKit/Source/core/events/TouchEventTest.cpp
[modify] https://crrev.com/725e6577e9c3d03aeb9dea5851422813ec6e84e5/third_party/WebKit/Source/core/frame/UseCounter.h
[modify] https://crrev.com/725e6577e9c3d03aeb9dea5851422813ec6e84e5/tools/metrics/histograms/histograms.xml

Project Member

Comment 33 by bugdroid1@chromium.org, Jun 28 2017

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

commit f8d10a08eb9ae82564e45352f27bcff0197be110
Author: tdresser <tdresser@chromium.org>
Date: Wed Jun 28 22:18:26 2017

Record accuracy of expected queueing time metric.

We plan to use the expected queueing time metric to estimate renderer
main thread responsiveness from the renderer compositor. If the
renderer main thread is unresponsive, we'll then avoid blocking scroll
on input.

This patch measures how good the expected queueing time metric is
at predicting main thread responsiveness.

See the document here for details:
https://docs.google.com/document/d/1R4AMGyo1vyrfeCofqVSb06RqPExuRddVFDJdONenwt0/edit#heading=h.uamzit3mgd7h

BUG= 599609 
TEST=RenderWidgetHostLatencyTrackerTest.ExpectedQueueingTimeAccuracy

Review-Url: https://codereview.chromium.org/2954473002
Cr-Commit-Position: refs/heads/master@{#483169}

[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/content/renderer/input/render_widget_input_handler.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/third_party/WebKit/Source/platform/scheduler/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/third_party/WebKit/public/platform/scheduler/renderer/renderer_scheduler.h
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/third_party/WebKit/public/platform/scheduler/test/fake_renderer_scheduler.h
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/third_party/WebKit/public/platform/scheduler/test/mock_renderer_scheduler.h
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/ui/latency/ipc/latency_info_param_traits.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/ui/latency/latency_info.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/ui/latency/latency_info.h
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/ui/latency/mojo/DEPS
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/ui/latency/mojo/latency_info.mojom
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/ui/latency/mojo/latency_info_struct_traits.cc
[modify] https://crrev.com/f8d10a08eb9ae82564e45352f27bcff0197be110/ui/latency/mojo/latency_info_struct_traits.h

Project Member

Comment 34 by bugdroid1@chromium.org, Aug 3 2017

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

commit 83302052370b60f5245a4bca48b1bfb1b2b7aa15
Author: Tim Dresser <tdresser@chromium.org>
Date: Thu Aug 03 12:37:19 2017

Invert metrics for measure Expected Queueing Time accuracy.

crrev.com/f8d10a0 added metrics for measuring EQT accuracy, but
did so incorrectly for the type of analysis we need to perform.

Previously, we reported queueing time with various threshold on expected
queueing time. However, in order to compute the error in estimating queueing
time based on expected queueing time, we need to instead report expected
queueing time with various thresholds on queueing time.

We plan to use the expected queueing time metric to estimate renderer
main thread responsiveness from the renderer compositor. If the
renderer main thread is unresponsive, we'll then avoid blocking scroll
on input.

This patch measures how good the expected queueing time metric is
at predicting main thread responsiveness.

See the document here for details:
https://docs.google.com/document/d/1R4AMGyo1vyrfeCofqVSb06RqPExuRddVFDJdONenwt0/edit#heading=h.uamzit3mgd7h

Bug:  599609 
Change-Id: Ib594933a24711aac9f158293bdece81eaf301c51
Reviewed-on: https://chromium-review.googlesource.com/598112
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491710}
[modify] https://crrev.com/83302052370b60f5245a4bca48b1bfb1b2b7aa15/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
[modify] https://crrev.com/83302052370b60f5245a4bca48b1bfb1b2b7aa15/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
[modify] https://crrev.com/83302052370b60f5245a4bca48b1bfb1b2b7aa15/tools/metrics/histograms/histograms.xml

Project Member

Comment 35 by bugdroid1@chromium.org, Apr 29 2018

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

commit 5d32e5baac25a09d120e0f5d8dd53d62265f8ae0
Author: Nicolas Pena <npm@chromium.org>
Date: Sun Apr 29 01:26:58 2018

Remove MainThreadBusyScrollIntervention

Bug:  599609 ,  832680 
Change-Id: Ib8db17ca291203b6b676a6c74e16db20c14bf3d6
Reviewed-on: https://chromium-review.googlesource.com/1012934
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554662}
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/browser/renderer_host/input/input_router_config_helper.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/public/common/content_features.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/public/common/content_features.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/renderer/input/main_thread_event_queue.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/renderer/input/main_thread_event_queue_unittest.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/renderer/input/render_widget_input_handler.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/device/base/synchronization/one_writer_seqlock.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/device/base/synchronization/one_writer_seqlock.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/device/base/synchronization/shared_memory_seqlock_buffer.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/public/platform/scheduler/test/fake_renderer_scheduler.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/public/platform/scheduler/test/mock_renderer_scheduler.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/public/platform/scheduler/web_main_thread_scheduler.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/public/platform/web_feature.mojom
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/public/platform/web_input_event.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/core/events/touch_event.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/core/events/touch_event_test.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/BUILD.gn
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl_unittest.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/scheduler/renderer/queueing_time_estimator.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/scheduler/renderer/queueing_time_estimator.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/scheduler/renderer/queueing_time_estimator_unittest.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/third_party/blink/renderer/platform/scheduler/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/ui/latency/ipc/latency_info_param_traits.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/ui/latency/latency_info.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/ui/latency/latency_info.h
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/ui/latency/mojo/latency_info.mojom
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/ui/latency/mojo/latency_info_struct_traits.cc
[modify] https://crrev.com/5d32e5baac25a09d120e0f5d8dd53d62265f8ae0/ui/latency/mojo/latency_info_struct_traits.h

Status: Fixed (was: Started)
We've done all we intend to here.
Cc: altimin@chromium.org
We ended up not shipping the intervention, or did I misread? I'm just wondering whether there was a particular reason that made this ineffective?
Sorry, yeah, we decided not to ship this intervention.

The passive root element intervention accomplished much of what we were trying to accomplish here, and we felt this was a bit too hard to reason about for web developers.

Sign in to add a comment