blob: aafba96954ef8f2cd929434e9b2be655c9fb7fb7 [file] [log] [blame]
// Copyright 2020 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.
#if defined(WEBLAYER_MANUAL_JNI_REGISTRATION)
#include "base/android/library_loader/library_loader_hooks.h" // nogncheck
#include "weblayer/browser/java/jni/WebViewCompatibilityHelperImpl_jni.h" // nogncheck
#include "weblayer/browser/java/weblayer_jni_registration.h" // nogncheck
#endif
namespace weblayer {
namespace {
#if defined(WEBLAYER_MANUAL_JNI_REGISTRATION)
void RegisterNonMainDexNativesHook() {
RegisterNonMainDexNatives(base::android::AttachCurrentThread());
}
#endif
} // namespace
bool MaybeRegisterNatives() {
#if defined(WEBLAYER_MANUAL_JNI_REGISTRATION)
JNIEnv* env = base::android::AttachCurrentThread();
if (Java_WebViewCompatibilityHelperImpl_requiresManualJniRegistration(env)) {
if (!RegisterMainDexNatives(env))
return false;
base::android::SetNonMainDexJniRegistrationHook(
RegisterNonMainDexNativesHook);
}
#endif
return true;
}
} // namespace weblayer