blob: e6d525d38d92c59cae25ac4b941021aaf7115dc5 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/embedder_support/android/util/features.h"
#include <jni.h>
#include <stddef.h>
#include <string>
#include "base/android/jni_string.h"
#include "base/compiler_specific.h"
#include "base/feature_list.h"
#include "base/notreached.h"
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "components/embedder_support/android/util_jni/EmbedderSupportFeatures_jni.h"
namespace embedder_support::features {
namespace {
// Array of features exposed through the Java EmbedderSupportFeatures API.
const base::Feature* const kFeaturesExposedToJava[] = {
&kAndroidChromeSchemeNavigationKillSwitch};
} // namespace
BASE_FEATURE(kAndroidChromeSchemeNavigationKillSwitch,
base::FEATURE_ENABLED_BY_DEFAULT);
static int64_t JNI_EmbedderSupportFeatures_GetFeature(JNIEnv* env,
int32_t ordinal) {
return reinterpret_cast<int64_t>(
UNSAFE_TODO(kFeaturesExposedToJava[ordinal]));
}
BASE_FEATURE(kInputStreamOptimizations, base::FEATURE_ENABLED_BY_DEFAULT);
} // namespace embedder_support::features
DEFINE_JNI(EmbedderSupportFeatures)