New issue
Advanced search Search tips

Issue 749310 link

Starred by 1 user

Issue metadata

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


Sign in to add a comment

MessageLoop+MessagePump Task Scheduler Integration

Project Member Reported by robliao@chromium.org, Jul 26 2017

Issue description

This issue covers getting the MessageLoop task queue into the Task Scheduler task tracker.
 
Blockedon: 749312
Blockedon: 804930
Project Member

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

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

commit a27abd29f967f530c620acd7ab302066ee205382
Author: Robert Liao <robliao@chromium.org>
Date: Wed Jan 24 18:46:48 2018

Change Autofill Helper TaskScheduler::FlushForTesting() to Wait on TaskRunner tasks

base::TaskScheduler::GetInstance()->FlushForTesting() may have been too
big of a hammer to use here. I've moved this code back to a previous
style of waiting for the DB task runner to flush
(http://crrev.com/490312).

The main issue here is that FlushForTesting() often gets called on the
main thread, and with MessageLoop Task Scheduler redirection,
FlushForTesting will wait for MessageLoop tasks to complete. If a
MessageLoop task is waiting for the main thread to process a task and
the main thread is calling FlushForTesting(), a deadlock will occur.

If these components start using other task runners, a completion
callback mechanism will best support this file going forward.

BUG= 667892 ,749310

Change-Id: I0693bf7a00b25be9a95e2bae89ec3b4167ba4d4a
Reviewed-on: https://chromium-review.googlesource.com/874817
Reviewed-by: Pavel Yatsuk <pavely@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531624}
[modify] https://crrev.com/a27abd29f967f530c620acd7ab302066ee205382/chrome/browser/sync/test/integration/autofill_helper.cc

Blockedon: 810804
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 14 2018

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

commit a0a5c4046775f09dfff103972baf6ab12e33acc5
Author: Robert Liao <robliao@chromium.org>
Date: Wed Mar 14 23:02:43 2018

Add TaskScheduler Support to the MessageLoop Unit Tests

With TaskScheduler redirection, the MessageLoop will redirect tasks
only if a TaskScheduler is present. Otherwise, it will handle task
dispatch itself similar to today.

Direct dispatch is only expected to happen in unit tests and some
integration tests.

BUG=749310

Change-Id: Ia35f17a7a15155c8893020e7174573144bf7afb7
Reviewed-on: https://chromium-review.googlesource.com/932827
Commit-Queue: Robert Liao <robliao@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543232}
[modify] https://crrev.com/a0a5c4046775f09dfff103972baf6ab12e33acc5/base/message_loop/message_loop_unittest.cc

Comment 6 by gab@chromium.org, May 2 2018

Cc: robliao@chromium.org
Labels: -Pri-2 Pri-3
Owner: ----
Status: Available (was: Assigned)
Currently marking all unowned TaskScheduler features as P3 (not time critical), will re-triage when cycles free up.

Comment 7 by gab@chromium.org, May 3 2018

Blockedon: 813857
Blockedon: 840200
Blockedon: 840201
Blockedon: 840202

Sign in to add a comment