#ifndef BASE_THREADING_THREADING_FEATURES_H_
#define BASE_THREADING_THREADING_FEATURES_H_
#include "base/base_export.h"
#include "base/feature_list.h"
#include "build/build_config.h"
#if BUILDFLAG(IS_APPLE)
#include "base/metrics/field_trial_params.h"
#endif
namespace base {
#if BUILDFLAG(IS_APPLE)
BASE_EXPORT BASE_DECLARE_FEATURE(kOptimizedRealtimeThreadingMac);
BASE_EXPORT BASE_DECLARE_FEATURE_PARAM(
bool,
kOptimizedRealtimeThreadingMacPreemptible);
BASE_EXPORT BASE_DECLARE_FEATURE_PARAM(double,
kOptimizedRealtimeThreadingMacBusy);
BASE_EXPORT BASE_DECLARE_FEATURE_PARAM(double,
kOptimizedRealtimeThreadingMacBusyLimit);
BASE_EXPORT BASE_DECLARE_FEATURE(kUserInteractiveCompositingMac);
#endif
BASE_EXPORT BASE_DECLARE_FEATURE(kEnableHangWatcher);
BASE_EXPORT BASE_DECLARE_FEATURE(kEnableHangWatcherOnGpuProcess);
BASE_EXPORT extern const char kHangWatcherMonitoringPeriodParam[];
BASE_EXPORT extern const char kBrowserProcessIoThreadLogLevelParam[];
BASE_EXPORT extern const char kBrowserProcessUiThreadLogLevelParam[];
BASE_EXPORT extern const char kBrowserProcessThreadPoolLogLevelParam[];
BASE_EXPORT extern const char kGpuProcessIoThreadLogLevelParam[];
BASE_EXPORT extern const char kGpuProcessMainThreadLogLevelParam[];
BASE_EXPORT extern const char kGpuProcessCompositorThreadLogLevelParam[];
BASE_EXPORT extern const char kGpuProcessThreadPoolLogLevelParam[];
BASE_EXPORT extern const char kRendererProcessIoThreadLogLevelParam[];
BASE_EXPORT extern const char kRendererProcessMainThreadLogLevelParam[];
BASE_EXPORT extern const char kRendererProcessThreadPoolLogLevelParam[];
BASE_EXPORT extern const char kRendererProcessCompositorThreadLogLevelParam[];
BASE_EXPORT extern const char kUtilityProcessIoThreadLogLevelParam[];
BASE_EXPORT extern const char kUtilityProcessMainThreadLogLevelParam[];
BASE_EXPORT extern const char kUtilityProcessThreadPoolLogLevelParam[];
}
#endif