blob: 075fee252ff10ba5ac00e3e978b332ecc3a8f321 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_EVENTS_BLINK_BLINK_FEATURES_H_
#define UI_EVENTS_BLINK_BLINK_FEATURES_H_
#include "base/feature_list.h"
namespace features {
// Enables resampling GestureScroll events on compositor thread.
extern const base::Feature kResamplingScrollEvents;
// This flag is used to set field parameters to choose predictor we use when
// resampling is disabled. It's used for gatherig accuracy metrics on finch
// without enabling resampling. It does not have any effect when the resampling
// flag is enabled.
extern const base::Feature kScrollPredictorTypeChoice;
// This feature allows native ET_MOUSE_EXIT events to be passed
// through to blink as mouse leave events. Traditionally these events were
// converted to mouse move events due to a number of inconsistencies on
// the native platforms. crbug.com/450631
extern const base::Feature kSendMouseLeaveEvents;
// When enabled, this feature prevents Blink from changing the hover state and
// dispatching mouse enter/exit events for elements under the mouse after the
// layout under the mouse cursor is changed.
extern const base::Feature kUpdateHoverFromLayoutChangeAtBeginFrame;
// When enabled, this feature prevents Blink from changing the hover state and
// dispatching mouse enter/exit events for elements under the mouse as the page
// is scrolled.
extern const base::Feature kUpdateHoverFromScrollAtBeginFrame;
// Enables handling touch events in compositor using impl side touch action
// knowledge.
extern const base::Feature kCompositorTouchAction;
// Enables fallback cursor mode for dpad devices.
extern const base::Feature kFallbackCursorMode;
// When enabled, this feature prevent blink sending key event to web unless it
// is on installed PWA.
extern const base::Feature kDontSendKeyEventsToJavascript;
// Skips the browser touch event filter, ensuring that events that reach the
// queue and would otherwise be filtered out will instead be passed onto the
// renderer compositor process as long as the page hasn't timed out. If
// skip_filtering_process is browser_and_renderer, also skip the renderer cc
// touch event filter, ensuring that events will be passed onto the renderer
// main thread. Which event types will be always forwarded is controlled by the
// "type" FeatureParam,
// which can be either "discrete" (default) or "all".
extern const base::Feature kSkipBrowserTouchFilter;
extern const char kSkipBrowserTouchFilterTypeParamName[];
extern const char kSkipBrowserTouchFilterTypeParamValueDiscrete[];
extern const char kSkipBrowserTouchFilterTypeParamValueAll[];
extern const char kSkipBrowserTouchFilterFilteringProcessParamName[];
extern const char kSkipBrowserTouchFilterFilteringProcessParamValueBrowser[];
extern const char
kSkipBrowserTouchFilterFilteringProcessParamValueBrowserAndRenderer[];
}
#endif // UI_EVENTS_BLINK_BLINK_FEATURES_H_