1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_TAP_SUPPRESSION_CONTROLLER_CLIENT_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_TAP_SUPPRESSION_CONTROLLER_CLIENT_H_ 7 8 namespace content { 9 10 // This class provides an interface for callbacks made by 11 // TapSuppressionController. 12 class TapSuppressionControllerClient { 13 public: 14 virtual ~TapSuppressionControllerClient() {} 15 16 // Derived classes should implement this function to return the maximum time 17 // they allow between a GestureFlingCancel and its corresponding tap down. 18 virtual int MaxCancelToDownTimeInMs() = 0; 19 20 // Derived classes should implement this function to return the maximum time 21 // they allow between a single tap's down and up events. 22 virtual int MaxTapGapTimeInMs() = 0; 23 24 // Called whenever the deferred tap down (if saved) should be dropped totally. 25 virtual void DropStashedTapDown() = 0; 26 27 // Called whenever the deferred tap down (if saved) should be forwarded to the 28 // renderer. In this case, the tap down should go back to normal path it was 29 // on before being deferred. 30 virtual void ForwardStashedTapDownForDeferral() = 0; 31 32 // Called whenever the deferred tap down (if saved) should be forwarded to the 33 // renderer. In this case, the tap down should skip deferral filter, because 34 // it is handled here, and there is no need to delay it more. 35 virtual void ForwardStashedTapDownSkipDeferral() = 0; 36 37 protected: 38 TapSuppressionControllerClient() {} 39 40 private: 41 DISALLOW_COPY_AND_ASSIGN(TapSuppressionControllerClient); 42 }; 43 44 } // namespace content 45 46 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_TAP_SUPPRESSION_CONTROLLER_CLIENT_H_ 47