// Copyright 2018 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 "android_webview/browser/aw_content_browser_client.h" #include "android_webview/browser/aw_feature_list_creator.h" #include "base/task/thread_pool/thread_pool_instance.h" #include "base/test/task_environment.h" #include "mojo/core/embedder/embedder.h" #include "testing/gtest/include/gtest/gtest.h" namespace android_webview { class AwContentBrowserClientTest : public testing::Test { protected: void SetUp() override { mojo::core::Init(); } }; TEST_F(AwContentBrowserClientTest, DisableCreatingThreadPool) { AwFeatureListCreator aw_feature_list_creator; AwContentBrowserClient client(&aw_feature_list_creator); EXPECT_TRUE(client.CreateThreadPool("Hello")); EXPECT_TRUE(base::ThreadPoolInstance::Get()); // Have to start the threed pool to shut it down, have to shut it down to // destroy it. base::ThreadPoolInstance::Get()->Start( base::ThreadPoolInstance::InitParams(1)); base::ThreadPoolInstance::Get()->Shutdown(); base::ThreadPoolInstance::Get()->JoinForTesting(); base::ThreadPoolInstance::Set(nullptr); AwContentBrowserClient::DisableCreatingThreadPool(); EXPECT_FALSE(client.CreateThreadPool("Hello")); EXPECT_FALSE(base::ThreadPoolInstance::Get()); } } // namespace android_webview