OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 RefPtrWillBeRawPtr<Touch> touch1 = Touch::create(toLocalFrame(webViewImpl->p
age()->mainFrame()), document.get(), p1.id, p1.screenPosition, p1.position, Floa
tSize(p1.radiusX, p1.radiusY), p1.rotationAngle, p1.force); | 126 RefPtrWillBeRawPtr<Touch> touch1 = Touch::create(toLocalFrame(webViewImpl->p
age()->mainFrame()), document.get(), p1.id, p1.screenPosition, p1.position, Floa
tSize(p1.radiusX, p1.radiusY), p1.rotationAngle, p1.force); |
127 | 127 |
128 // Test touchstart. | 128 // Test touchstart. |
129 { | 129 { |
130 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); | 130 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); |
131 touchList->append(touch0); | 131 touchList->append(touch0); |
132 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList
.get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow,
false, false, false, false, false); | 132 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList
.get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow,
false, false, false, false, false); |
133 | 133 |
134 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); | 134 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); |
135 ASSERT_EQ(1u, webTouchBuilder.touchesLength); | 135 ASSERT_EQ(1u, webTouchBuilder.touchesLength); |
136 ASSERT_EQ(0u, webTouchBuilder.changedTouchesLength); | |
137 EXPECT_EQ(WebInputEvent::TouchStart, webTouchBuilder.type); | 136 EXPECT_EQ(WebInputEvent::TouchStart, webTouchBuilder.type); |
138 EXPECT_EQ(WebTouchPoint::StatePressed, webTouchBuilder.touches[0].state)
; | 137 EXPECT_EQ(WebTouchPoint::StatePressed, webTouchBuilder.touches[0].state)
; |
139 EXPECT_FLOAT_EQ(p0.screenPosition.x, webTouchBuilder.touches[0].screenPo
sition.x); | 138 EXPECT_FLOAT_EQ(p0.screenPosition.x, webTouchBuilder.touches[0].screenPo
sition.x); |
140 EXPECT_FLOAT_EQ(p0.screenPosition.y, webTouchBuilder.touches[0].screenPo
sition.y); | 139 EXPECT_FLOAT_EQ(p0.screenPosition.y, webTouchBuilder.touches[0].screenPo
sition.y); |
141 EXPECT_FLOAT_EQ(p0.position.x, webTouchBuilder.touches[0].position.x); | 140 EXPECT_FLOAT_EQ(p0.position.x, webTouchBuilder.touches[0].position.x); |
142 EXPECT_FLOAT_EQ(p0.position.y, webTouchBuilder.touches[0].position.y); | 141 EXPECT_FLOAT_EQ(p0.position.y, webTouchBuilder.touches[0].position.y); |
143 EXPECT_FLOAT_EQ(p0.radiusX, webTouchBuilder.touches[0].radiusX); | 142 EXPECT_FLOAT_EQ(p0.radiusX, webTouchBuilder.touches[0].radiusX); |
144 EXPECT_FLOAT_EQ(p0.radiusY, webTouchBuilder.touches[0].radiusY); | 143 EXPECT_FLOAT_EQ(p0.radiusY, webTouchBuilder.touches[0].radiusY); |
145 EXPECT_FLOAT_EQ(p0.rotationAngle, webTouchBuilder.touches[0].rotationAng
le); | 144 EXPECT_FLOAT_EQ(p0.rotationAngle, webTouchBuilder.touches[0].rotationAng
le); |
146 EXPECT_FLOAT_EQ(p0.force, webTouchBuilder.touches[0].force); | 145 EXPECT_FLOAT_EQ(p0.force, webTouchBuilder.touches[0].force); |
147 } | 146 } |
148 | 147 |
149 // Test touchmove. | 148 // Test touchmove. |
150 { | 149 { |
151 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); | 150 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); |
152 RefPtrWillBeRawPtr<TouchList> movedTouchList = TouchList::create(); | 151 RefPtrWillBeRawPtr<TouchList> movedTouchList = TouchList::create(); |
153 activeTouchList->append(touch0); | 152 activeTouchList->append(touch0); |
154 activeTouchList->append(touch1); | 153 activeTouchList->append(touch1); |
155 movedTouchList->append(touch0); | 154 movedTouchList->append(touch0); |
156 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou
chList.get(), activeTouchList.get(), movedTouchList.get(), EventTypeNames::touch
move, domWindow, false, false, false, false, false); | 155 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou
chList.get(), activeTouchList.get(), movedTouchList.get(), EventTypeNames::touch
move, domWindow, false, false, false, false, false); |
157 | 156 |
158 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); | 157 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); |
159 ASSERT_EQ(2u, webTouchBuilder.touchesLength); | 158 ASSERT_EQ(2u, webTouchBuilder.touchesLength); |
160 ASSERT_EQ(0u, webTouchBuilder.changedTouchesLength); | |
161 EXPECT_EQ(WebInputEvent::TouchMove, webTouchBuilder.type); | 159 EXPECT_EQ(WebInputEvent::TouchMove, webTouchBuilder.type); |
162 EXPECT_EQ(WebTouchPoint::StateMoved, webTouchBuilder.touches[0].state); | 160 EXPECT_EQ(WebTouchPoint::StateMoved, webTouchBuilder.touches[0].state); |
163 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta
te); | 161 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta
te); |
164 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id); | 162 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id); |
165 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id); | 163 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id); |
166 } | 164 } |
167 | 165 |
168 // Test touchend. | 166 // Test touchend. |
169 { | 167 { |
170 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); | 168 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); |
171 RefPtrWillBeRawPtr<TouchList> releasedTouchList = TouchList::create(); | 169 RefPtrWillBeRawPtr<TouchList> releasedTouchList = TouchList::create(); |
172 activeTouchList->append(touch0); | 170 activeTouchList->append(touch0); |
173 releasedTouchList->append(touch1); | 171 releasedTouchList->append(touch1); |
174 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou
chList.get(), activeTouchList.get(), releasedTouchList.get(), EventTypeNames::to
uchend, domWindow, false, false, false, false, false); | 172 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou
chList.get(), activeTouchList.get(), releasedTouchList.get(), EventTypeNames::to
uchend, domWindow, false, false, false, false, false); |
175 | 173 |
176 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); | 174 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); |
177 ASSERT_EQ(2u, webTouchBuilder.touchesLength); | 175 ASSERT_EQ(2u, webTouchBuilder.touchesLength); |
178 ASSERT_EQ(0u, webTouchBuilder.changedTouchesLength); | |
179 EXPECT_EQ(WebInputEvent::TouchEnd, webTouchBuilder.type); | 176 EXPECT_EQ(WebInputEvent::TouchEnd, webTouchBuilder.type); |
180 EXPECT_EQ(WebTouchPoint::StateReleased, webTouchBuilder.touches[0].state
); | 177 EXPECT_EQ(WebTouchPoint::StateReleased, webTouchBuilder.touches[0].state
); |
181 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta
te); | 178 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta
te); |
182 EXPECT_EQ(p1.id, webTouchBuilder.touches[0].id); | 179 EXPECT_EQ(p1.id, webTouchBuilder.touches[0].id); |
183 EXPECT_EQ(p0.id, webTouchBuilder.touches[1].id); | 180 EXPECT_EQ(p0.id, webTouchBuilder.touches[1].id); |
184 } | 181 } |
185 | 182 |
186 // Test touchcancel. | 183 // Test touchcancel. |
187 { | 184 { |
188 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); | 185 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); |
189 RefPtrWillBeRawPtr<TouchList> cancelledTouchList = TouchList::create(); | 186 RefPtrWillBeRawPtr<TouchList> cancelledTouchList = TouchList::create(); |
190 cancelledTouchList->append(touch0); | 187 cancelledTouchList->append(touch0); |
191 cancelledTouchList->append(touch1); | 188 cancelledTouchList->append(touch1); |
192 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou
chList.get(), activeTouchList.get(), cancelledTouchList.get(), EventTypeNames::t
ouchcancel, domWindow, false, false, false, false, false); | 189 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou
chList.get(), activeTouchList.get(), cancelledTouchList.get(), EventTypeNames::t
ouchcancel, domWindow, false, false, false, false, false); |
193 | 190 |
194 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); | 191 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); |
195 ASSERT_EQ(2u, webTouchBuilder.touchesLength); | 192 ASSERT_EQ(2u, webTouchBuilder.touchesLength); |
196 ASSERT_EQ(0u, webTouchBuilder.changedTouchesLength); | |
197 EXPECT_EQ(WebInputEvent::TouchCancel, webTouchBuilder.type); | 193 EXPECT_EQ(WebInputEvent::TouchCancel, webTouchBuilder.type); |
198 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[0].stat
e); | 194 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[0].stat
e); |
199 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[1].stat
e); | 195 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[1].stat
e); |
200 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id); | 196 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id); |
201 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id); | 197 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id); |
202 } | 198 } |
203 | 199 |
204 // Test max point limit. | 200 // Test max point limit. |
205 { | 201 { |
206 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); | 202 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); |
207 RefPtrWillBeRawPtr<TouchList> changedTouchList = TouchList::create(); | 203 RefPtrWillBeRawPtr<TouchList> changedTouchList = TouchList::create(); |
208 for (unsigned i = 0; i <= static_cast<unsigned>(WebTouchEvent::touchesLe
ngthCap) * 2; ++i) { | 204 for (unsigned i = 0; i <= static_cast<unsigned>(WebTouchEvent::touchesLe
ngthCap) * 2; ++i) { |
209 RefPtrWillBeRawPtr<Touch> touch = Touch::create(toLocalFrame(webView
Impl->page()->mainFrame()), document.get(), i, p0.screenPosition, p0.position, F
loatSize(p0.radiusX, p0.radiusY), p0.rotationAngle, p0.force); | 205 RefPtrWillBeRawPtr<Touch> touch = Touch::create(toLocalFrame(webView
Impl->page()->mainFrame()), document.get(), i, p0.screenPosition, p0.position, F
loatSize(p0.radiusX, p0.radiusY), p0.rotationAngle, p0.force); |
210 touchList->append(touch); | 206 touchList->append(touch); |
211 changedTouchList->append(touch); | 207 changedTouchList->append(touch); |
212 } | 208 } |
213 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList
.get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow,
false, false, false, false, false); | 209 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList
.get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow,
false, false, false, false, false); |
214 | 210 |
215 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); | 211 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve
nt); |
216 ASSERT_EQ(static_cast<unsigned>(WebTouchEvent::touchesLengthCap), webTou
chBuilder.touchesLength); | 212 ASSERT_EQ(static_cast<unsigned>(WebTouchEvent::touchesLengthCap), webTou
chBuilder.touchesLength); |
217 ASSERT_EQ(0u, webTouchBuilder.changedTouchesLength); | |
218 } | 213 } |
219 } | 214 } |
220 | 215 |
221 TEST(WebInputEventConversionTest, InputEventsScaling) | 216 TEST(WebInputEventConversionTest, InputEventsScaling) |
222 { | 217 { |
223 const std::string baseURL("http://www.test.com/"); | 218 const std::string baseURL("http://www.test.com/"); |
224 const std::string fileName("fixed_layout.html"); | 219 const std::string fileName("fixed_layout.html"); |
225 | 220 |
226 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(baseURL.c_s
tr()), WebString::fromUTF8("fixed_layout.html")); | 221 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(baseURL.c_s
tr()), WebString::fromUTF8("fixed_layout.html")); |
227 FrameTestHelpers::WebViewHelper webViewHelper; | 222 FrameTestHelpers::WebViewHelper webViewHelper; |
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 | 707 |
713 PlatformTouchEventBuilder platformTouchBuilder(view, webTouchEvent); | 708 PlatformTouchEventBuilder platformTouchBuilder(view, webTouchEvent); |
714 EXPECT_FLOAT_EQ(10.6f, platformTouchBuilder.touchPoints()[0].screenPos()
.x()); | 709 EXPECT_FLOAT_EQ(10.6f, platformTouchBuilder.touchPoints()[0].screenPos()
.x()); |
715 EXPECT_FLOAT_EQ(10.4f, platformTouchBuilder.touchPoints()[0].screenPos()
.y()); | 710 EXPECT_FLOAT_EQ(10.4f, platformTouchBuilder.touchPoints()[0].screenPos()
.y()); |
716 EXPECT_FLOAT_EQ(5.3f + pinchOffset.x(), platformTouchBuilder.touchPoints
()[0].pos().x()); | 711 EXPECT_FLOAT_EQ(5.3f + pinchOffset.x(), platformTouchBuilder.touchPoints
()[0].pos().x()); |
717 EXPECT_FLOAT_EQ(5.2f + pinchOffset.y(), platformTouchBuilder.touchPoints
()[0].pos().y()); | 712 EXPECT_FLOAT_EQ(5.2f + pinchOffset.y(), platformTouchBuilder.touchPoints
()[0].pos().y()); |
718 } | 713 } |
719 } | 714 } |
720 | 715 |
721 } // anonymous namespace | 716 } // anonymous namespace |
OLD | NEW |