Commit 15e004b4 authored by Carlos Caballero's avatar Carlos Caballero Committed by Commit Bot

Remove MessageLoopForIO references

MessageLoopForIO is going away soon. Using SingleThreadTaskEnvironment
will not work here as this code just needs to forward tasks to the real
TaskRunner registered in a different shared library. See function
comment for JNI_CronetTestUtil_PrepareNetworkThread for all the
details.

Bug: 891670
Change-Id: Ia9c99c4617338a2cfcd5be33fee49afd19e04eb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1795425Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
Reviewed-by: default avatarAsanka Herath <asanka@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#699491}
parent 67a022ba
......@@ -7,7 +7,9 @@
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/message_loop/message_pump.h"
#include "base/message_loop/message_pump_type.h"
#include "base/task/sequence_manager/sequence_manager.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/cronet/android/cronet_tests_jni_headers/CronetTestUtil_jni.h"
#include "components/cronet/android/cronet_url_request_adapter.h"
......@@ -17,13 +19,15 @@
#include "net/socket/socket_test_util.h"
#include "net/url_request/url_request.h"
using base::android::JavaParamRef;
namespace cronet {
namespace {
base::MessageLoop* g_message_loop = nullptr;
using ::base::MessagePump;
using ::base::MessagePumpType;
using ::base::android::JavaParamRef;
using ::base::sequence_manager::SequenceManager;
SequenceManager* g_sequence_manager = nullptr;
} // namespace
......@@ -77,8 +81,15 @@ net::URLRequest* TestUtil::GetURLRequest(jlong jrequest_adapter) {
}
static void PrepareNetworkThreadOnNetworkThread(jlong jcontext_adapter) {
g_message_loop = new base::MessageLoopForIO();
g_message_loop->SetTaskRunner(TestUtil::GetTaskRunner(jcontext_adapter));
g_sequence_manager =
base::sequence_manager::CreateSequenceManagerOnCurrentThreadWithPump(
MessagePump::Create(MessagePumpType::IO),
SequenceManager::Settings::Builder()
.SetMessagePumpType(MessagePumpType::IO)
.Build())
.release();
g_sequence_manager->SetDefaultTaskRunner(
TestUtil::GetTaskRunner(jcontext_adapter));
}
// Tests need to call into libcronet.so code on libcronet.so threads.
......@@ -97,10 +108,9 @@ void JNI_CronetTestUtil_PrepareNetworkThread(
}
static void CleanupNetworkThreadOnNetworkThread() {
DCHECK(g_message_loop);
DCHECK(g_message_loop->task_runner()->RunsTasksInCurrentSequence());
delete g_message_loop;
g_message_loop = nullptr;
DCHECK(g_sequence_manager);
delete g_sequence_manager;
g_sequence_manager = nullptr;
}
// Called from Java CronetTestUtil class.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment