blob: 445fb0378a82f1387ecca761722804de02307e9b [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#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[];
// Hang watcher log levels.
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[];
} // namespace base
#endif // BASE_THREADING_THREADING_FEATURES_H_