blob: df558387f3ae9b5f9e3a6b095dec37ca1dd4c9ee [file] [log] [blame]
// Copyright 2019 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/test/webview_instrumentation_test_native_jni/MemoryMetricsLoggerUtils_jni.h"
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "base/test/task_environment.h"
#include "base/test/test_timeouts.h"
#include "components/embedder_support/android/metrics/memory_metrics_logger.h"
namespace android_webview {
// static
jboolean JNI_MemoryMetricsLoggerUtils_ForceRecordHistograms(JNIEnv* env) {
auto* memory_metrics_logger =
::metrics::MemoryMetricsLogger::GetInstanceForTesting();
if (!memory_metrics_logger)
return false;
TestTimeouts::Initialize();
base::test::SingleThreadTaskEnvironment task_environment;
base::RunLoop run_loop;
bool result = false;
memory_metrics_logger->ScheduleRecordForTesting(
base::BindLambdaForTesting([&](bool success) {
result = success;
run_loop.Quit();
}));
run_loop.Run();
return result;
}
} // namespace android_webview