This CL introduce a service worker specific task queue, and use it for
ServiceWorkerStorageControl mojo remote instead of
base::SequencedTaskRunnerHandle::Get() if
features::kServiceWorkerStorageControlResponseQueue is
enabled. ServiceWorkerStorageControl is a part of the critical path of
the first navigation. We expect that the high priority task runner
provides better startup performance.
The service worker task queue has a highest priority during startup,
and is updated to have a normal priority after startup.
Bug: 1146713
Change-Id: I1cc782486718d62eb319f68b6430faff1d3215b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3503158
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Minoru Chikamune <chikamune@chromium.org>
Cr-Commit-Position: refs/heads/main@{#983832}
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}