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}
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}