Chromium Code Reviews| Index: content/common/input/web_input_event_traits.cc |
| diff --git a/content/common/input/web_input_event_traits.cc b/content/common/input/web_input_event_traits.cc |
| index fb34d9e282f3eb1627114af112ab9749e15a4e07..85c2d77f60d9094671a9cc5304fef34a57934d1a 100644 |
| --- a/content/common/input/web_input_event_traits.cc |
| +++ b/content/common/input/web_input_event_traits.cc |
| @@ -145,17 +145,33 @@ void Coalesce(const WebTouchEvent& event_to_coalesce, WebTouchEvent* event) { |
| bool CanCoalesce(const WebGestureEvent& event_to_coalesce, |
| const WebGestureEvent& event) { |
| - return event.type == event_to_coalesce.type && |
| - event.type == WebInputEvent::GestureScrollUpdate && |
| - event.sourceDevice == event_to_coalesce.sourceDevice && |
| - event.modifiers == event_to_coalesce.modifiers; |
| + if (event.type != event_to_coalesce.type || |
| + event.sourceDevice != event_to_coalesce.sourceDevice || |
| + event.modifiers != event_to_coalesce.modifiers) |
| + return false; |
| + |
| + if (event.type == WebInputEvent::GestureScrollUpdate) |
| + return true; |
| + |
| + if (event.type == WebInputEvent::GesturePinchUpdate && |
|
tdresser
2014/04/03 17:53:30
Can you add a comment explaining why the co-ordina
jdduke (slow)
2014/04/03 19:28:01
Done.
|
| + event.x == event_to_coalesce.x && |
| + event.y == event_to_coalesce.y) |
| + return true; |
| + |
| + return false; |
| } |
| void Coalesce(const WebGestureEvent& event_to_coalesce, |
| WebGestureEvent* event) { |
| DCHECK(CanCoalesce(event_to_coalesce, *event)); |
| - event->data.scrollUpdate.deltaX += event_to_coalesce.data.scrollUpdate.deltaX; |
| - event->data.scrollUpdate.deltaY += event_to_coalesce.data.scrollUpdate.deltaY; |
| + if (event->type == WebInputEvent::GestureScrollUpdate) { |
| + event->data.scrollUpdate.deltaX += |
| + event_to_coalesce.data.scrollUpdate.deltaX; |
| + event->data.scrollUpdate.deltaY += |
| + event_to_coalesce.data.scrollUpdate.deltaY; |
| + } else if (event->type == WebInputEvent::GesturePinchUpdate) { |
| + event->data.pinchUpdate.scale *= event_to_coalesce.data.pinchUpdate.scale; |
| + } |
| } |
| struct WebInputEventSize { |