| // Copyright 2015 The Chromium Authors | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "content/browser/android/java/java_bridge_thread.h" | |
| #include "base/lazy_instance.h" | |
| #include "base/task/single_thread_task_runner.h" | |
| #include "build/build_config.h" | |
| #if !BUILDFLAG(IS_ANDROID) | |
| #error "JavaBridge only supports OS_ANDROID" | |
| #endif | |
| namespace content { | |
| namespace { | |
| base::LazyInstance<JavaBridgeThread>::DestructorAtExit g_background_thread = | |
| LAZY_INSTANCE_INITIALIZER; | |
| } // namespace | |
| JavaBridgeThread::JavaBridgeThread() | |
| : base::android::JavaHandlerThread("JavaBridge") { | |
| Start(); | |
| } | |
| JavaBridgeThread::~JavaBridgeThread() { | |
| Stop(); | |
| } | |
| // static | |
| bool JavaBridgeThread::CurrentlyOn() { | |
| return g_background_thread.Get().task_runner()->BelongsToCurrentThread(); | |
| } | |
| // static | |
| scoped_refptr<base::SingleThreadTaskRunner> JavaBridgeThread::GetTaskRunner() { | |
| return g_background_thread.Get().task_runner(); | |
| } | |
| } // namespace content |