
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}
28 lines
1.0 KiB
C++
28 lines
1.0 KiB
C++
// Copyright 2017 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "content/browser/after_startup_task_utils.h"
|
|
|
|
#include "content/browser/scheduler/browser_task_executor.h"
|
|
#include "content/public/browser/content_browser_client.h"
|
|
#include "content/public/common/content_client.h"
|
|
|
|
namespace content {
|
|
|
|
void SetBrowserStartupIsCompleteForTesting() {
|
|
content::BrowserTaskExecutor::EnableAllQueues();
|
|
// Forward the message to ContentBrowserClient if one is registered (there are
|
|
// many tests where one isn't but that's fine as that also means they get the
|
|
// default ContentBrowserClient::IsBrowserStartupComplete() which is always
|
|
// true).
|
|
ContentClient* content_client = GetContentClient();
|
|
if (content_client) {
|
|
ContentBrowserClient* content_browser_client = content_client->browser();
|
|
if (content_browser_client)
|
|
content_browser_client->SetBrowserStartupIsCompleteForTesting();
|
|
}
|
|
}
|
|
|
|
} // namespace content
|