blob: 48c307793f8fb64c2d5e0c5a0af492e0d2bb5c9e [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.
#ifndef COMPONENTS_INPUT_FEATURES_H_
#define COMPONENTS_INPUT_FEATURES_H_
#include "base/component_export.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
namespace input::features {
#if BUILDFLAG(IS_ANDROID)
// If enabled, touch input on Android is handled on Viz process. The feature is
// still in development and might not have any functional effects yet.
// Design doc for InputVizard project for moving touch input to viz on Android:
// https://docs.google.com/document/d/1mcydbkgFCO_TT9NuFE962L8PLJWT2XOfXUAPO88VuKE
COMPONENT_EXPORT(INPUT) BASE_DECLARE_FEATURE(kInputOnViz);
// If enabled, Chrome will receive buffered/batched input from Android.
// Specifically, Chrome will NOT call
// https://developer.android.com/reference/kotlin/android/view/View#requestunbuffereddispatch.
// If |kInputOnViz| is also enabled, Chrome will call
// https://developer.android.com/ndk/reference/group/native-activity#ainputreceiver_createbatchedinputreceiver
// instead of the default
// https://developer.android.com/ndk/reference/group/native-activity#ainputreceiver_createunbatchedinputreceiver.
COMPONENT_EXPORT(INPUT) BASE_DECLARE_FEATURE(kUseAndroidBufferedInputDispatch);
#endif
COMPONENT_EXPORT(INPUT)
BASE_DECLARE_FEATURE(kLogBubblingTouchscreenGesturesForDebug);
COMPONENT_EXPORT(INPUT)
BASE_DECLARE_FEATURE(kIgnoreBubblingCollisionIfSourceDevicesMismatch);
COMPONENT_EXPORT(INPUT) BASE_DECLARE_FEATURE(kScrollBubblingFix);
COMPONENT_EXPORT(INPUT)
BASE_DECLARE_FEATURE(kUseFirstCoalescedFrameAsFlingGenerationTimestamp);
COMPONENT_EXPORT(INPUT) BASE_DECLARE_FEATURE(kRendererHangWatcher);
COMPONENT_EXPORT(INPUT)
BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, kRendererHangWatcherDelay);
COMPONENT_EXPORT(INPUT)
BASE_DECLARE_FEATURE(kUnresponsiveMultipleStackCollection);
COMPONENT_EXPORT(INPUT)
BASE_DECLARE_FEATURE_PARAM(base::TimeDelta,
kUnresponsiveMultipleStackCollectionDelay);
COMPONENT_EXPORT(INPUT)
BASE_DECLARE_FEATURE_PARAM(size_t, kUnresponsiveMultipleStackCollectionCount);
} // namespace input::features
#endif // COMPONENTS_INPUT_FEATURES_H_