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

Issue 876272 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Remove non-nestable / deferred tasks.

Project Member Reported by eseckler@chromium.org, Aug 21

Issue description

We should investigate if there are enough valid use cases to justify the complexity of deferred tasks in MessageLoop/SequenceManager.

If not, we should remove non-nestable task posting and replace it with local complexity at those callsites where nesting needs to be prevented (e.g. detect if nested + repost with a small delay).
 
+1 \o/
Fdoray@, there're a bunch of calls to SequencedTaskRunner::PostNonNestableTask too
There are several places where non-nestable tasks are used to work around lifetime issues:

https://cs.chromium.org/chromium/src/content/browser/frame_host/interstitial_page_impl.cc?l=298
https://cs.chromium.org/chromium/src/content/renderer/render_widget.cc?l=794

I think that now it should be possible to rewrite them cleanly with using nested observers (maybe we should provide a helper class for this). 
Components: Blink>Scheduling
Labels: -Type-Bug -Pri-3 Pri-2 Type-Feature
One more thing: DeleteSoon/ReleaseSoon tasks are currently also NonNestable:

https://cs.chromium.org/chromium/src/base/sequenced_task_runner.cc?type=cs&sq=package:chromium&g=0&l=23

Sign in to add a comment