• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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_COMMON_INPUT_EVENT_STREAM_VALIDATOR
6 #define CONTENT_COMMON_INPUT_EVENT_STREAM_VALIDATOR
7 
8 #include <string>
9 
10 #include "content/common/input/gesture_event_stream_validator.h"
11 #include "content/common/input/touch_event_stream_validator.h"
12 
13 namespace blink {
14 class WebInputEvent;
15 }
16 
17 namespace content {
18 
19 // DCHECKs that the stream of WebInputEvents passed to OnEvent is
20 // valid. Currently only validates touch and touchscreen gesture events.
21 class InputEventStreamValidator {
22  public:
23   InputEventStreamValidator();
24   ~InputEventStreamValidator();
25 
26   void Validate(const blink::WebInputEvent&);
27 
28  private:
29   bool ValidateImpl(const blink::WebInputEvent&, std::string* error_msg);
30 
31   GestureEventStreamValidator gesture_validator_;
32   TouchEventStreamValidator touch_validator_;
33   std::string error_msg_;
34   const bool enabled_;
35 
36   DISALLOW_COPY_AND_ASSIGN(InputEventStreamValidator);
37 };
38 
39 }  // namespace content
40 
41 #endif  // CONTENT_COMMON_INPUT_EVENT_STREAM_VALIDATOR
42