Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(641)

Side by Side Diff: content/browser/renderer_host/input/gesture_event_packet.cc

Issue 170673005: [Android] More eager gesture recognition hardening (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add type DCHECK Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/input/gesture_event_packet.h" 5 #include "content/browser/renderer_host/input/gesture_event_packet.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 using blink::WebGestureEvent; 9 using blink::WebGestureEvent;
10 using blink::WebInputEvent; 10 using blink::WebInputEvent;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 GestureEventPacket::GestureEventPacket() 45 GestureEventPacket::GestureEventPacket()
46 : gesture_count_(0), 46 : gesture_count_(0),
47 gesture_source_(UNDEFINED) {} 47 gesture_source_(UNDEFINED) {}
48 48
49 GestureEventPacket::GestureEventPacket(GestureSource source) 49 GestureEventPacket::GestureEventPacket(GestureSource source)
50 : gesture_count_(0), 50 : gesture_count_(0),
51 gesture_source_(source) { 51 gesture_source_(source) {
52 DCHECK_NE(gesture_source_, UNDEFINED); 52 DCHECK_NE(gesture_source_, UNDEFINED);
53 } 53 }
54 54
55 GestureEventPacket::GestureEventPacket(const GestureEventPacket& other)
56 : gesture_count_(other.gesture_count_),
57 gesture_source_(other.gesture_source_) {
58 std::copy(other.gestures_, other.gestures_ + other.gesture_count_, gestures_);
59 }
60
55 GestureEventPacket::~GestureEventPacket() {} 61 GestureEventPacket::~GestureEventPacket() {}
56 62
63 GestureEventPacket& GestureEventPacket::operator=(
64 const GestureEventPacket& other) {
65 gesture_count_ = other.gesture_count_;
66 gesture_source_ = other.gesture_source_;
67 std::copy(other.gestures_, other.gestures_ + other.gesture_count_, gestures_);
68 return *this;
69 }
70
57 void GestureEventPacket::Push(const blink::WebGestureEvent& gesture) { 71 void GestureEventPacket::Push(const blink::WebGestureEvent& gesture) {
72 DCHECK(WebInputEvent::isGestureEventType(gesture.type));
58 CHECK_LT(gesture_count_, static_cast<size_t>(kMaxGesturesPerTouch)); 73 CHECK_LT(gesture_count_, static_cast<size_t>(kMaxGesturesPerTouch));
59 gestures_[gesture_count_++] = gesture; 74 gestures_[gesture_count_++] = gesture;
60 } 75 }
61 76
62 GestureEventPacket GestureEventPacket::FromTouch(const WebTouchEvent& event) { 77 GestureEventPacket GestureEventPacket::FromTouch(const WebTouchEvent& event) {
63 return GestureEventPacket(ToGestureSource(event)); 78 return GestureEventPacket(ToGestureSource(event));
64 } 79 }
65 80
66 GestureEventPacket GestureEventPacket::FromTouchTimeout( 81 GestureEventPacket GestureEventPacket::FromTouchTimeout(
67 const WebGestureEvent& event) { 82 const WebGestureEvent& event) {
68 GestureEventPacket packet(TOUCH_TIMEOUT); 83 GestureEventPacket packet(TOUCH_TIMEOUT);
69 packet.Push(event); 84 packet.Push(event);
70 return packet; 85 return packet;
71 } 86 }
72 87
73 } // namespace content 88 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698