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_COMMON_INPUT_WEB_INPUT_EVENT_TRAITS_H_ 6 #define CONTENT_COMMON_INPUT_WEB_INPUT_EVENT_TRAITS_H_ 7 8 #include "base/basictypes.h" 9 #include "content/common/input/scoped_web_input_event.h" 10 #include "third_party/WebKit/public/web/WebInputEvent.h" 11 12 namespace content { 13 14 // Utility class for performing operations on and with WebInputEvents. 15 class CONTENT_EXPORT WebInputEventTraits { 16 public: 17 static const char* GetName(blink::WebInputEvent::Type type); 18 static size_t GetSize(blink::WebInputEvent::Type type); 19 static ScopedWebInputEvent Clone(const blink::WebInputEvent& event); 20 static void Delete(blink::WebInputEvent* event); 21 static bool CanCoalesce(const blink::WebInputEvent& event_to_coalesce, 22 const blink::WebInputEvent& event); 23 static void Coalesce(const blink::WebInputEvent& event_to_coalesce, 24 blink::WebInputEvent* event); 25 static bool IgnoresAckDisposition(blink::WebInputEvent::Type type); 26 }; 27 28 } // namespace content 29 30 #endif // CONTENT_COMMON_INPUT_WEB_INPUT_EVENT_TRAITS_H_ 31