0
Commit Graph

4 Commits

Author SHA1 Message Date
Carlos Caballero
72e8a209b5 Add BrowserTaskQueues::EnableAllQueues
After this patch all queues in BrowserTaskQueues will be disabled on
creation and users must explicitly enable them via a call to either
BrowserTaskQueues::EnableAllQueues or
BrowserTaskQueues::EnableAllExceptBestEffortQueues

This will help us ensure the invariant that no tasks will run before
BrowserMainLoop::CreateThreads still holds after we add an IO
scheduler.

Bug: 863341
Change-Id: I07d34ec84e166b12b9ab50448acde7f943f9cbbb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1611979
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#661772}
2019-05-21 16:51:17 +00:00
Carlos Caballero
f449fbb8b6 Remove check in BrowserUIThreadScheduler
This check is adding no value. Enabling BEST_EFFORT queues multiple
times in not bad per se. Moreover this does not play nicely with tests
as some will run the initialization code in
BrowserMainLoop::InitializeMainThread that posts a AfterStartupTask to
enable the queues and also call SetBrowserStartupIsCompleteForTesting
(to enable AfterStartupTasks). This leads to EnableBestEffortQueues()
being called twice and thus a CHECK fail.

We are in the process of refactoring all this code and eventually
AfterStartupTaskUtils will go away, so it makes little sense to come up
with a complicated workaround for this isse.

Removing the check for now should be enough and in the future we might
consider adding some sort of check back (it probably makes more sense
to check that we do not signal BrowserStartupCompleted multiple times)

Bug: 863341
Change-Id: I29acaccc281efe764579d968e38a06f9dcbe54dc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584502
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#654429}
2019-04-26 13:57:15 +00:00
Carlos Caballero
c472c2bfe2 Make sure BEST_EFFORT UI tasks do not run until after startup
Change scheduler to not run BEST_EFFORT tasks until after startup has
completed. This is a first step towards getting rid of
AfterStartupTaskUtils.

Bug: 863341
Change-Id: Ia3ca06f25090791b91f35a197c340fe59e5a1512
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1548483
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#652087}
2019-04-18 09:30:36 +00:00
Gabriel Charette
c8cca9965f Always run after-startup-tasks in the scope of the unit test that posted them.
Bug: 732018, 753403
Change-Id: I318e82f3aa2969d6e338a33905ec7cd256d32d9c
Reviewed-on: https://chromium-review.googlesource.com/538898
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493468}
2017-08-10 18:21:49 +00:00