1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // 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
|