Filtering of scroll events.

Add a InputFilter object in the ScrollPredictor object. Each predicted
scroll event is sent to the filter and if Filtering flag is enabled,
the predicted scroll event position is replaced by the filtered returned
by the filter.

Firsts real events are sent to the filter to faster initialize its state.

Filter is reset with the predictor is reset.

A flag kFilteringScrollPrediction is added to disable/enable the scroll
filtering.

Bug: 984027
Change-Id: I04bc71f18647b7df5dd28bccd118b56bc083c1e6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1710757
Reviewed-by: David Bokan <[email protected]>
Reviewed-by: Ella Ge <[email protected]>
Commit-Queue: Axel Antoine <[email protected]>
Cr-Commit-Position: refs/heads/master@{#680900}
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index d4230b8..bff1506 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -614,6 +614,9 @@
 extern const char kFeaturePolicyName[];
 extern const char kFeaturePolicyDescription[];
 
+extern const char kFilteringScrollPredictionName[];
+extern const char kFilteringScrollPredictionDescription[];
+
 extern const char kForceEffectiveConnectionTypeName[];
 extern const char kForceEffectiveConnectionTypeDescription[];
 extern const char kEffectiveConnectionTypeUnknownDescription[];