Fix emulator build error
[platform/framework/web/chromium-efl.git] / base / android / base_feature_map.cc
1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/android/base_features.h"
6 #include "base/android/feature_map.h"
7 #include "base/base_jni/BaseFeatureMap_jni.h"
8 #include "base/no_destructor.h"
9
10 namespace base::android {
11
12 namespace {
13
14 // Array of features exposed through the Java BaseFeatureMap API. Entries in
15 // this array refer to features defined in base_features.h.
16 const base::Feature* const kFeaturesExposedToJava[] = {
17     &features::kBrowserProcessMemoryPurge,
18     &features::kCrashBrowserOnChildMismatchIfBrowserChanged,
19     &features::kCrashBrowserOnAnyChildMismatch,
20 };  // namespace
21
22 // static
23 base::android::FeatureMap* GetFeatureMap() {
24   static base::NoDestructor<base::android::FeatureMap> kFeatureMap(std::vector(
25       std::begin(kFeaturesExposedToJava), std::end(kFeaturesExposedToJava)));
26   return kFeatureMap.get();
27 }
28
29 }  // namespace
30
31 static jlong JNI_BaseFeatureMap_GetNativeMap(JNIEnv* env) {
32   return reinterpret_cast<jlong>(GetFeatureMap());
33 }
34
35 }  // namespace base::android