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

Side by Side Diff: content/common/input/input_param_traits.cc

Issue 2336803003: Make SyntheticPointerAction to flush the pointer action sequence (Closed)
Patch Set: controller Created 4 years, 2 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 2013 The Chromium Authors. All rights reserved. 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 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/common/input/input_param_traits.h" 5 #include "content/common/input/input_param_traits.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "content/common/content_param_traits.h" 9 #include "content/common/content_param_traits.h"
10 #include "content/common/input/synthetic_pinch_gesture_params.h" 10 #include "content/common/input/synthetic_pinch_gesture_params.h"
11 #include "content/common/input/synthetic_pointer_action_list_params.h"
11 #include "content/common/input/synthetic_pointer_action_params.h" 12 #include "content/common/input/synthetic_pointer_action_params.h"
12 #include "content/common/input/synthetic_smooth_drag_gesture_params.h" 13 #include "content/common/input/synthetic_smooth_drag_gesture_params.h"
13 #include "content/common/input/synthetic_smooth_scroll_gesture_params.h" 14 #include "content/common/input/synthetic_smooth_scroll_gesture_params.h"
14 #include "content/common/input_messages.h" 15 #include "content/common/input_messages.h"
15 #include "ui/events/blink/web_input_event_traits.h" 16 #include "ui/events/blink/web_input_event_traits.h"
16 17
17 namespace IPC { 18 namespace IPC {
18 namespace { 19 namespace {
19 template <typename GestureType> 20 template <typename GestureType>
20 std::unique_ptr<content::SyntheticGestureParams> ReadGestureParams( 21 std::unique_ptr<content::SyntheticGestureParams> ReadGestureParams(
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 p.gesture_params())); 79 p.gesture_params()));
79 break; 80 break;
80 case content::SyntheticGestureParams::PINCH_GESTURE: 81 case content::SyntheticGestureParams::PINCH_GESTURE:
81 WriteParam(m, *content::SyntheticPinchGestureParams::Cast( 82 WriteParam(m, *content::SyntheticPinchGestureParams::Cast(
82 p.gesture_params())); 83 p.gesture_params()));
83 break; 84 break;
84 case content::SyntheticGestureParams::TAP_GESTURE: 85 case content::SyntheticGestureParams::TAP_GESTURE:
85 WriteParam(m, *content::SyntheticTapGestureParams::Cast( 86 WriteParam(m, *content::SyntheticTapGestureParams::Cast(
86 p.gesture_params())); 87 p.gesture_params()));
87 break; 88 break;
88 case content::SyntheticGestureParams::POINTER_ACTION: 89 case content::SyntheticGestureParams::POINTER_ACTION:
tdresser 2016/09/30 13:24:30 Is this still used? Can we just send a list of len
lanwei 2016/10/21 21:53:07 Done.
89 WriteParam( 90 WriteParam(
90 m, *content::SyntheticPointerActionParams::Cast(p.gesture_params())); 91 m, *content::SyntheticPointerActionParams::Cast(p.gesture_params()));
91 break; 92 break;
93 case content::SyntheticGestureParams::POINTER_ACTION_LIST:
94 WriteParam(m, *content::SyntheticPointerActionListParams::Cast(
95 p.gesture_params()));
96 break;
92 } 97 }
93 } 98 }
94 99
95 bool ParamTraits<content::SyntheticGesturePacket>::Read( 100 bool ParamTraits<content::SyntheticGesturePacket>::Read(
96 const base::Pickle* m, 101 const base::Pickle* m,
97 base::PickleIterator* iter, 102 base::PickleIterator* iter,
98 param_type* p) { 103 param_type* p) {
99 content::SyntheticGestureParams::GestureType gesture_type; 104 content::SyntheticGestureParams::GestureType gesture_type;
100 if (!ReadParam(m, iter, &gesture_type)) 105 if (!ReadParam(m, iter, &gesture_type))
101 return false; 106 return false;
102 std::unique_ptr<content::SyntheticGestureParams> gesture_params; 107 std::unique_ptr<content::SyntheticGestureParams> gesture_params;
103 switch (gesture_type) { 108 switch (gesture_type) {
104 case content::SyntheticGestureParams::SMOOTH_SCROLL_GESTURE: 109 case content::SyntheticGestureParams::SMOOTH_SCROLL_GESTURE:
105 gesture_params = 110 gesture_params =
106 ReadGestureParams<content::SyntheticSmoothScrollGestureParams>(m, 111 ReadGestureParams<content::SyntheticSmoothScrollGestureParams>(m,
107 iter); 112 iter);
108 break; 113 break;
109 case content::SyntheticGestureParams::SMOOTH_DRAG_GESTURE: 114 case content::SyntheticGestureParams::SMOOTH_DRAG_GESTURE:
110 gesture_params = 115 gesture_params =
111 ReadGestureParams<content::SyntheticSmoothDragGestureParams>(m, iter); 116 ReadGestureParams<content::SyntheticSmoothDragGestureParams>(m, iter);
112 break; 117 break;
113 case content::SyntheticGestureParams::PINCH_GESTURE: 118 case content::SyntheticGestureParams::PINCH_GESTURE:
114 gesture_params = 119 gesture_params =
115 ReadGestureParams<content::SyntheticPinchGestureParams>(m, iter); 120 ReadGestureParams<content::SyntheticPinchGestureParams>(m, iter);
116 break; 121 break;
117 case content::SyntheticGestureParams::TAP_GESTURE: 122 case content::SyntheticGestureParams::TAP_GESTURE:
118 gesture_params = 123 gesture_params =
119 ReadGestureParams<content::SyntheticTapGestureParams>(m, iter); 124 ReadGestureParams<content::SyntheticTapGestureParams>(m, iter);
120 break; 125 break;
121 case content::SyntheticGestureParams::POINTER_ACTION: { 126 case content::SyntheticGestureParams::POINTER_ACTION:
122 gesture_params = 127 gesture_params =
123 ReadGestureParams<content::SyntheticPointerActionParams>(m, iter); 128 ReadGestureParams<content::SyntheticPointerActionParams>(m, iter);
124 break; 129 break;
125 } 130 case content::SyntheticGestureParams::POINTER_ACTION_LIST:
131 gesture_params =
132 ReadGestureParams<content::SyntheticPointerActionListParams>(m, iter);
133 break;
126 default: 134 default:
127 return false; 135 return false;
128 } 136 }
129 137
130 p->set_gesture_params(std::move(gesture_params)); 138 p->set_gesture_params(std::move(gesture_params));
131 return p->gesture_params() != NULL; 139 return p->gesture_params() != NULL;
132 } 140 }
133 141
134 void ParamTraits<content::SyntheticGesturePacket>::Log(const param_type& p, 142 void ParamTraits<content::SyntheticGesturePacket>::Log(const param_type& p,
135 std::string* l) { 143 std::string* l) {
(...skipping 17 matching lines...) Expand all
153 break; 161 break;
154 case content::SyntheticGestureParams::TAP_GESTURE: 162 case content::SyntheticGestureParams::TAP_GESTURE:
155 LogParam( 163 LogParam(
156 *content::SyntheticTapGestureParams::Cast(p.gesture_params()), 164 *content::SyntheticTapGestureParams::Cast(p.gesture_params()),
157 l); 165 l);
158 break; 166 break;
159 case content::SyntheticGestureParams::POINTER_ACTION: 167 case content::SyntheticGestureParams::POINTER_ACTION:
160 LogParam(*content::SyntheticPointerActionParams::Cast(p.gesture_params()), 168 LogParam(*content::SyntheticPointerActionParams::Cast(p.gesture_params()),
161 l); 169 l);
162 break; 170 break;
171 case content::SyntheticGestureParams::POINTER_ACTION_LIST:
172 LogParam(
173 *content::SyntheticPointerActionListParams::Cast(p.gesture_params()),
174 l);
175 break;
163 } 176 }
164 } 177 }
165 178
166 } // namespace IPC 179 } // namespace IPC
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698