OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright (c) 2015 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2015 The Chromium Authors. All rights reserved. |
4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
5 found in the LICENSE file. | 5 found in the LICENSE file. |
6 --> | 6 --> |
7 | 7 |
8 <link rel="import" href="/tracing/extras/chrome/cc/input_latency_async_slice.htm
l"> | 8 <link rel="import" href="/tracing/extras/chrome/cc/input_latency_async_slice.htm
l"> |
9 <link rel="import" href="/tracing/extras/chrome/chrome_test_utils.html"> | 9 <link rel="import" href="/tracing/extras/chrome/chrome_test_utils.html"> |
10 <link rel="import" href="/tracing/importer/user_expectation_verifier.html"> | 10 <link rel="import" href="/tracing/importer/user_expectation_verifier.html"> |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 }); | 127 }); |
128 | 128 |
129 test('stillLoading', function() { | 129 test('stillLoading', function() { |
130 var verifier = new UserExpectationVerifier(); | 130 var verifier = new UserExpectationVerifier(); |
131 verifier.customizeModelCallback = function(model) { | 131 verifier.customizeModelCallback = function(model) { |
132 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); | 132 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); |
133 chrome_test_utils.addNavigationStartEvent(model, {start: 10}); | 133 chrome_test_utils.addNavigationStartEvent(model, {start: 10}); |
134 chrome_test_utils.addFrameEvent(model, {start: 19, end: 20}); | 134 chrome_test_utils.addFrameEvent(model, {start: 19, end: 20}); |
135 }; | 135 }; |
136 verifier.expectedIRs = [ | 136 verifier.expectedIRs = [ |
137 {title: 'Idle', start: 0, end: 10, eventCount: 0}, | 137 {title: 'Idle', start: 0, end: 10, eventCount: 1}, |
138 {title: 'Successful Load', start: 10, end: 20, eventCount: 0} | 138 {title: 'Successful Load', start: 10, end: 20, eventCount: 1} |
139 ]; | 139 ]; |
140 verifier.verify(); | 140 verifier.verify(); |
141 }); | 141 }); |
142 | 142 |
143 test('overlappingIdleAndLoadCollectUnassociatedEvents', function() { | 143 test('overlappingIdleAndLoadCollectUnassociatedEvents', function() { |
144 var verifier = new UserExpectationVerifier(); | 144 var verifier = new UserExpectationVerifier(); |
145 verifier.customizeModelCallback = function(model) { | 145 verifier.customizeModelCallback = function(model) { |
146 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); | 146 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); |
147 chrome_test_utils.addNavigationStartEvent(model, {start: 10}); | 147 chrome_test_utils.addNavigationStartEvent(model, {start: 10}); |
148 chrome_test_utils.addFirstContentfulPaintEvent(model, {start: 30}); | 148 chrome_test_utils.addFirstContentfulPaintEvent(model, {start: 30}); |
149 chrome_test_utils.addFrameEvent(model, {start: 35, end: 40}); | 149 chrome_test_utils.addFrameEvent(model, {start: 35, end: 40}); |
150 // 3 Idle events. | 150 // 3 Idle events. |
151 chrome_test_utils.addRenderingEvent(model, {start: 5, end: 15}); | 151 chrome_test_utils.addRenderingEvent(model, {start: 5, end: 15}); |
152 chrome_test_utils.addRenderingEvent(model, {start: 11, end: 15}); | 152 chrome_test_utils.addRenderingEvent(model, {start: 11, end: 15}); |
153 chrome_test_utils.addRenderingEvent(model, {start: 13, end: 15}); | 153 chrome_test_utils.addRenderingEvent(model, {start: 13, end: 15}); |
154 // 1 Idle event. | 154 // 1 Idle event. |
155 chrome_test_utils.addRenderingEvent(model, {start: 35, end: 36}); | 155 chrome_test_utils.addRenderingEvent(model, {start: 35, end: 36}); |
156 }; | 156 }; |
157 verifier.expectedIRs = [ | 157 verifier.expectedIRs = [ |
158 {title: 'Idle', start: 0, end: 10, eventCount: 3}, | 158 {title: 'Idle', start: 0, end: 10, eventCount: 4}, |
159 {title: 'Successful Load', start: 10, end: 30, eventCount: 0}, | 159 {title: 'Successful Load', start: 10, end: 30, eventCount: 0}, |
160 {title: 'Idle', start: 30, end: 40, eventCount: 1} | 160 {title: 'Idle', start: 30, end: 40, eventCount: 2} |
161 ]; | 161 ]; |
162 verifier.verify(); | 162 verifier.verify(); |
163 }); | 163 }); |
164 | 164 |
165 test('flingFlingFling', function() { | 165 test('flingFlingFling', function() { |
166 // This trace gave me so many different kinds of trouble that I'm just going | 166 // This trace gave me so many different kinds of trouble that I'm just going |
167 // to copy it straight in here, without trying to clarify it at all. | 167 // to copy it straight in here, without trying to clarify it at all. |
168 // measurmt-traces/mobile/cnet_fling_up_fling_down_motox_2013.json | 168 // measurmt-traces/mobile/cnet_fling_up_fling_down_motox_2013.json |
169 var verifier = new UserExpectationVerifier(); | 169 var verifier = new UserExpectationVerifier(); |
170 verifier.customizeModelCallback = function(model) { | 170 verifier.customizeModelCallback = function(model) { |
171 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); | 171 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); |
172 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 172 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
173 {start: 919, end: 998}); | 173 {start: 919, end: 998}); |
174 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, | 174 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, |
175 {start: 919, end: 1001}); | 175 {start: 919, end: 1001}); |
176 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP_DOWN, | 176 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP_DOWN, |
177 {start: 919, end: 1001}); | 177 {start: 919, end: 1001}); |
178 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP_CANCEL, | 178 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP_CANCEL, |
179 {start: 974, end: 1020}); | 179 {start: 974, end: 1020}); |
180 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, | 180 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, |
181 {start: 974, end: 1020}); | 181 {start: 974, end: 1020}); |
182 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 182 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
183 {start: 974, end: 1040}); | 183 {start: 974, end: 1040}); |
| 184 chrome_test_utils.addFrameEvent(model, |
| 185 {start: 1039, end: 1040, isTopLevel: true}); |
184 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 186 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
185 {start: 974, end: 1054}); | 187 {start: 974, end: 1054}); |
186 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 188 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
187 {start: 990, end: 1021}); | 189 {start: 990, end: 1021}); |
188 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 190 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
189 {start: 990, end: 1052}); | 191 {start: 990, end: 1052}); |
| 192 chrome_test_utils.addFrameEvent(model, |
| 193 {start: 1051, end: 1052, isTopLevel: true}); |
190 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 194 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
191 {start: 1006, end: 1021}); | 195 {start: 1006, end: 1021}); |
192 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 196 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
193 {start: 1022, end: 1036}); | 197 {start: 1022, end: 1036}); |
194 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 198 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
195 {start: 1022, end: 1052}); | 199 {start: 1022, end: 1052}); |
196 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 200 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
197 {start: 1038, end: 1049}); | 201 {start: 1038, end: 1049}); |
198 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 202 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
199 {start: 1038, end: 1068}); | 203 {start: 1038, end: 1068}); |
| 204 chrome_test_utils.addFrameEvent(model, |
| 205 {start: 1067, end: 1068, isTopLevel: true}); |
200 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 206 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
201 {start: 1046, end: 1050}); | 207 {start: 1046, end: 1050}); |
202 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 208 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
203 {start: 1046, end: 1077}); | 209 {start: 1046, end: 1077}); |
204 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 210 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
205 {start: 1432, end: 2238}); | 211 {start: 1432, end: 2238}); |
206 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, | 212 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, |
207 {start: 1432, end: 2241}); | 213 {start: 1432, end: 2241}); |
208 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 214 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
209 {start: 1516, end: 2605}); | 215 {start: 1516, end: 2605}); |
210 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, | 216 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, |
211 {start: 1532, end: 2274}); | 217 {start: 1532, end: 2274}); |
212 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 218 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
213 {start: 1532, end: 2294}); | 219 {start: 1532, end: 2294}); |
| 220 chrome_test_utils.addFrameEvent(model, |
| 221 {start: 2293, end: 2294, isTopLevel: true}); |
214 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 222 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
215 {start: 1549, end: 2310}); | 223 {start: 1549, end: 2310}); |
| 224 chrome_test_utils.addFrameEvent(model, |
| 225 {start: 2309, end: 2310, isTopLevel: true}); |
216 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 226 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
217 {start: 1627, end: 2275}); | 227 {start: 1627, end: 2275}); |
218 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 228 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
219 {start: 1627, end: 2310}); | 229 {start: 1627, end: 2310}); |
220 chrome_test_utils.addFrameEvent(model, {start: 2990, end: 3000}); | 230 chrome_test_utils.addFrameEvent(model, {start: 2990, end: 3000}); |
221 }; | 231 }; |
222 verifier.expectedIRs = [ | 232 verifier.expectedIRs = [ |
223 {title: 'Idle', start: 0, end: 919, eventCount: 0}, | 233 {title: 'Idle', start: 0, end: 919, eventCount: 1}, |
224 {title: 'Scroll,Tap,Touch Response', start: 919, end: 1054, | 234 {title: 'Scroll,Tap,Touch Response', start: 919, end: 1054, |
225 eventCount: 6, isAnimationBegin: true}, | 235 eventCount: 6, isAnimationBegin: true}, |
226 {title: 'Scroll,Touch Animation', start: 1054, end: 1068, | 236 {title: 'Scroll,Touch Animation', start: 1054, end: 1068, |
227 eventCount: 8}, | 237 eventCount: 11}, |
228 {title: 'Fling Animation', start: 1054, end: 1432, | 238 {title: 'Fling Animation', start: 1054, end: 1432, |
229 eventCount: 2}, | 239 eventCount: 4}, |
230 {title: 'Scroll,Touch Response', start: 1432, end: 2605, | 240 {title: 'Scroll,Touch Response', start: 1432, end: 2605, |
231 eventCount: 5, isAnimationBegin: true}, | 241 eventCount: 5, isAnimationBegin: true}, |
232 {title: 'Scroll Animation', start: 1549, end: 2310, | 242 {title: 'Scroll Animation', start: 1549, end: 2310, |
233 eventCount: 1}, | 243 eventCount: 3}, |
234 {title: 'Fling Animation', start: 2605, end: 3000, | 244 {title: 'Fling Animation', start: 2605, end: 3000, |
235 eventCount: 1} | 245 eventCount: 4} |
236 ]; | 246 ]; |
237 verifier.verify(); | 247 verifier.verify(); |
238 }); | 248 }); |
239 | 249 |
240 test('keyboardEvents', function() { | 250 test('keyboardEvents', function() { |
241 var verifier = new UserExpectationVerifier(); | 251 var verifier = new UserExpectationVerifier(); |
242 verifier.customizeModelCallback = function(model) { | 252 verifier.customizeModelCallback = function(model) { |
243 chrome_test_utils.addInputEvent(model, INPUT_TYPE.KEY_DOWN_RAW, | 253 chrome_test_utils.addInputEvent(model, INPUT_TYPE.KEY_DOWN_RAW, |
244 {start: 0, end: 45}); | 254 {start: 0, end: 45}); |
245 chrome_test_utils.addInputEvent(model, INPUT_TYPE.CHAR, | 255 chrome_test_utils.addInputEvent(model, INPUT_TYPE.CHAR, |
(...skipping 24 matching lines...) Expand all Loading... |
270 eventCount: 1} | 280 eventCount: 1} |
271 ]; | 281 ]; |
272 verifier.verify(); | 282 verifier.verify(); |
273 }); | 283 }); |
274 | 284 |
275 test('mouseWheelAnimation', function() { | 285 test('mouseWheelAnimation', function() { |
276 var verifier = new UserExpectationVerifier(); | 286 var verifier = new UserExpectationVerifier(); |
277 verifier.customizeModelCallback = function(model) { | 287 verifier.customizeModelCallback = function(model) { |
278 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, | 288 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, |
279 {start: 0, end: 20}); | 289 {start: 0, end: 20}); |
| 290 chrome_test_utils.addFrameEvent(model, |
| 291 {start: 19, end: 20, isTopLevel: true}); |
280 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, | 292 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, |
281 {start: 16, end: 36}); | 293 {start: 16, end: 36}); |
| 294 chrome_test_utils.addFrameEvent(model, |
| 295 {start: 35, end: 36, isTopLevel: true}); |
282 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, | 296 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, |
283 {start: 55, end: 75}); | 297 {start: 55, end: 75}); |
| 298 chrome_test_utils.addFrameEvent(model, |
| 299 {start: 74, end: 75, isTopLevel: true}); |
284 | 300 |
285 // This threshold uses both events' start times, not end...start. | 301 // This threshold uses both events' start times, not end...start. |
286 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, | 302 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, |
287 {start: 100, end: 150}); | 303 {start: 100, end: 150}); |
| 304 chrome_test_utils.addFrameEvent(model, |
| 305 {start: 149, end: 150, isTopLevel: true}); |
288 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, | 306 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, |
289 {start: 141, end: 191}); | 307 {start: 141, end: 191}); |
| 308 chrome_test_utils.addFrameEvent(model, |
| 309 {start: 190, end: 191, isTopLevel: true}); |
290 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, | 310 chrome_test_utils.addInputEvent(model, INPUT_TYPE.MOUSE_WHEEL, |
291 {start: 182, end: 200}); | 311 {start: 182, end: 200}); |
| 312 chrome_test_utils.addFrameEvent(model, |
| 313 {start: 199, end: 200, isTopLevel: true}); |
292 }; | 314 }; |
293 verifier.expectedIRs = [ | 315 verifier.expectedIRs = [ |
294 {title: 'MouseWheel Response', start: 0, end: 20, eventCount: 1}, | 316 {title: 'MouseWheel Response', start: 0, end: 20, eventCount: 1}, |
295 {title: 'MouseWheel Animation', start: 20, end: 75, | 317 {title: 'MouseWheel Animation', start: 20, end: 75, |
296 eventCount: 2}, | 318 eventCount: 5}, |
297 {title: 'Idle', start: 75, end: 100, eventCount: 0}, | 319 {title: 'Idle', start: 75, end: 100, eventCount: 0}, |
298 {title: 'MouseWheel Response', start: 100, end: 150, | 320 {title: 'MouseWheel Response', start: 100, end: 150, |
299 eventCount: 1}, | 321 eventCount: 1}, |
300 {title: 'MouseWheel Response', start: 141, end: 191, | 322 {title: 'MouseWheel Response', start: 141, end: 191, |
301 eventCount: 1}, | 323 eventCount: 1}, |
302 {title: 'MouseWheel Response', start: 182, end: 200, | 324 {title: 'MouseWheel Response', start: 182, end: 200, |
303 eventCount: 1} | 325 eventCount: 1} |
304 ]; | 326 ]; |
305 verifier.verify(); | 327 verifier.verify(); |
306 }); | 328 }); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 var verifier = new UserExpectationVerifier(); | 381 var verifier = new UserExpectationVerifier(); |
360 verifier.customizeModelCallback = function(model) { | 382 verifier.customizeModelCallback = function(model) { |
361 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, | 383 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, |
362 {start: 0, end: 100}); | 384 {start: 0, end: 100}); |
363 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 385 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
364 {start: 20, end: 100}); | 386 {start: 20, end: 100}); |
365 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 387 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
366 {start: 40, end: 100}); | 388 {start: 40, end: 100}); |
367 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 389 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
368 {start: 60, end: 150}); | 390 {start: 60, end: 150}); |
| 391 chrome_test_utils.addFrameEvent(model, {start: 149, end: 150}); |
369 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 392 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
370 {start: 70, end: 150}); | 393 {start: 70, end: 150}); |
371 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_END, | 394 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_END, |
372 {start: 80, end: 150}); | 395 {start: 80, end: 150}); |
373 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, | 396 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, |
374 {start: 300, end: 400}); | 397 {start: 300, end: 400}); |
375 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 398 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
376 {start: 320, end: 400}); | 399 {start: 320, end: 400}); |
377 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 400 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
378 {start: 330, end: 450}); | 401 {start: 330, end: 450}); |
379 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 402 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
380 {start: 340, end: 450}); | 403 {start: 340, end: 450}); |
381 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 404 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
382 {start: 350, end: 500}); | 405 {start: 350, end: 500}); |
| 406 chrome_test_utils.addFrameEvent(model, {start: 499, end: 500}); |
383 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_END, | 407 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_END, |
384 {start: 360, end: 500}); | 408 {start: 360, end: 500}); |
385 }; | 409 }; |
386 verifier.expectedIRs = [ | 410 verifier.expectedIRs = [ |
387 {title: 'Scroll Response', start: 0, end: 100, eventCount: 2, | 411 {title: 'Scroll Response', start: 0, end: 100, eventCount: 2, |
388 isAnimationBegin: true}, | 412 isAnimationBegin: true}, |
389 {title: 'Scroll Animation', start: 100, end: 150, eventCount: 4}, | 413 {title: 'Scroll Animation', start: 100, end: 150, eventCount: 5}, |
390 {title: 'Idle', start: 150, end: 300, eventCount: 0}, | 414 {title: 'Idle', start: 150, end: 300, eventCount: 0}, |
391 {title: 'Scroll Response', start: 300, end: 400, eventCount: 2, | 415 {title: 'Scroll Response', start: 300, end: 400, eventCount: 2, |
392 isAnimationBegin: true}, | 416 isAnimationBegin: true}, |
393 {title: 'Scroll Animation', start: 400, end: 500, eventCount: 4} | 417 {title: 'Scroll Animation', start: 400, end: 500, eventCount: 5} |
394 ]; | 418 ]; |
395 verifier.verify(); | 419 verifier.verify(); |
396 }); | 420 }); |
397 | 421 |
398 test('cssAnimations', function() { | 422 test('cssAnimations', function() { |
399 // CSS Animations happen on the renderer process, not the browser process. | 423 // CSS Animations happen on the renderer process, not the browser process. |
400 // They are merged if they overlap. | 424 // They are merged if they overlap. |
401 // They are merged with other kinds of animations. | 425 // They are merged with other kinds of animations. |
402 var verifier = new UserExpectationVerifier(); | 426 var verifier = new UserExpectationVerifier(); |
403 verifier.customizeModelCallback = function(model) { | 427 verifier.customizeModelCallback = function(model) { |
404 chrome_test_utils.addEvent(model.rendererMain, { | 428 model.rendererMain.asyncSliceGroup.push(tr.c.TestUtils.newAsyncSliceEx( |
405 title: 'Animation', start: 0, end: 100, isTopLevel: true}); | 429 {title: 'Animation', start: 0, end: 130, isTopLevel: true})); |
406 chrome_test_utils.addFrameEvent(model, {start: 10, end: 20}); | 430 chrome_test_utils.addFrameEvent(model, {start: 10, end: 20}); |
407 chrome_test_utils.addEvent(model.rendererMain, { | 431 chrome_test_utils.addEvent(model.rendererMain, { |
408 title: 'Animation', start: 131, end: 200, isTopLevel: true}); | 432 title: 'Animation', start: 131, end: 200, isTopLevel: true}); |
409 chrome_test_utils.addFrameEvent(model, {start: 150, end: 160}); | 433 chrome_test_utils.addFrameEvent(model, {start: 150, end: 160}); |
410 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 434 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
411 {start: 150, end: 180}); | 435 {start: 150, end: 180}); |
412 chrome_test_utils.addFrameEvent(model, {start: 290, end: 300}); | 436 chrome_test_utils.addFrameEvent(model, {start: 290, end: 300}); |
413 }; | 437 }; |
414 verifier.expectedIRs = [ | 438 verifier.expectedIRs = [ |
415 {title: 'CSS Animation', start: 0, end: 200, eventCount: 4}, | 439 {title: 'CSS Animation', start: 0, end: 200, eventCount: 4}, |
416 {title: 'Fling Animation', start: 150, end: 300, eventCount: 1} | 440 {title: 'Fling Animation', start: 150, end: 300, eventCount: 3} |
417 ]; | 441 ]; |
418 verifier.verify(); | 442 verifier.verify(); |
419 }); | 443 }); |
420 | 444 |
421 test('cssAnimationStates', function() { | 445 test('cssAnimationStates', function() { |
422 var verifier = new UserExpectationVerifier(); | 446 var verifier = new UserExpectationVerifier(); |
423 verifier.customizeModelCallback = function(model) { | 447 verifier.customizeModelCallback = function(model) { |
424 // If a top-level Animation async slice does not have state-change instant | 448 // If a top-level Animation async slice does not have state-change instant |
425 // subSlices, then assume that the animation was running throughout the | 449 // subSlices, then assume that the animation was running throughout the |
426 // async slice. | 450 // async slice. |
(...skipping 21 matching lines...) Expand all Loading... |
448 {title: 'Animation', start: 150, args: {state: 'paused'}})); | 472 {title: 'Animation', start: 150, args: {state: 'paused'}})); |
449 animationA.subSlices.push(tr.c.TestUtils.newInstantEvent( | 473 animationA.subSlices.push(tr.c.TestUtils.newInstantEvent( |
450 {title: 'Animation', start: 281, args: {state: 'running'}})); | 474 {title: 'Animation', start: 281, args: {state: 'running'}})); |
451 animationA.subSlices.push(tr.c.TestUtils.newInstantEvent( | 475 animationA.subSlices.push(tr.c.TestUtils.newInstantEvent( |
452 {title: 'Animation', start: 350, args: {state: 'idle'}})); | 476 {title: 'Animation', start: 350, args: {state: 'idle'}})); |
453 model.rendererMain.asyncSliceGroup.push(animationA); | 477 model.rendererMain.asyncSliceGroup.push(animationA); |
454 chrome_test_utils.addFrameEvent(model, {start: 80, end: 90}); | 478 chrome_test_utils.addFrameEvent(model, {start: 80, end: 90}); |
455 chrome_test_utils.addFrameEvent(model, {start: 290, end: 300}); | 479 chrome_test_utils.addFrameEvent(model, {start: 290, end: 300}); |
456 | 480 |
457 // An animation without a frame event isn't really an animation. | 481 // An animation without a frame event isn't really an animation. |
458 chrome_test_utils.addEvent(model.rendererMain, { | 482 var animationC = tr.c.TestUtils.newAsyncSliceEx( |
459 title: 'Animation', start: 350, end: 382, isTopLevel: true}); | 483 {title: 'Animation', start: 350, end: 382, isTopLevel: true}); |
| 484 model.rendererMain.asyncSliceGroup.push(animationC); |
| 485 animationA.subSlices.push(tr.c.TestUtils.newInstantEvent( |
| 486 {title: 'Animation', start: 350, args: {state: 'idle'}})); |
460 | 487 |
461 // This animation was running from model.bounds.min-50 and | 488 // This animation was running from model.bounds.min-50 and |
462 // 70-model.bounds.max. | 489 // 70-model.bounds.max. |
463 var animationB = tr.c.TestUtils.newAsyncSliceEx( | 490 var animationB = tr.c.TestUtils.newAsyncSliceEx( |
464 {title: 'Animation', start: 0, end: 500, isTopLevel: true}); | 491 {title: 'Animation', start: 0, end: 500, isTopLevel: true}); |
465 animationB.subSlices.push(tr.c.TestUtils.newInstantEvent( | 492 animationB.subSlices.push(tr.c.TestUtils.newInstantEvent( |
466 {title: 'Animation', start: 40, args: {state: 'finished'}})); | 493 {title: 'Animation', start: 40, args: {state: 'finished'}})); |
467 animationB.subSlices.push(tr.c.TestUtils.newInstantEvent( | 494 animationB.subSlices.push(tr.c.TestUtils.newInstantEvent( |
468 {title: 'Animation', start: 382, args: {state: 'running'}})); | 495 {title: 'Animation', start: 382, args: {state: 'running'}})); |
469 model.rendererMain.asyncSliceGroup.push(animationB); | 496 model.rendererMain.asyncSliceGroup.push(animationB); |
470 chrome_test_utils.addFrameEvent(model, {start: 10, end: 20}); | 497 chrome_test_utils.addFrameEvent(model, {start: 10, end: 20}); |
471 chrome_test_utils.addFrameEvent(model, {start: 390, end: 400}); | 498 chrome_test_utils.addFrameEvent(model, {start: 390, end: 400}); |
472 }; | 499 }; |
473 verifier.expectedIRs = [ | 500 verifier.expectedIRs = [ |
474 {title: 'CSS Animation', start: 0, end: 350, eventCount: 15}, | 501 {title: 'CSS Animation', start: 0, end: 350, eventCount: 16}, |
475 {title: 'Idle', start: 350, end: 382, eventCount: 0}, | 502 {title: 'Idle', start: 350, end: 382, eventCount: 0}, |
476 {title: 'CSS Animation', start: 382, end: 500, eventCount: 4}, | 503 {title: 'CSS Animation', start: 382, end: 500, eventCount: 4}, |
477 ]; | 504 ]; |
478 verifier.verify(); | 505 verifier.verify(); |
479 }); | 506 }); |
480 | 507 |
481 test('flingThatIsntstopped', function() { | 508 test('flingThatIsntstopped', function() { |
482 var verifier = new UserExpectationVerifier(); | 509 var verifier = new UserExpectationVerifier(); |
483 verifier.customizeModelCallback = function(model) { | 510 verifier.customizeModelCallback = function(model) { |
484 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 511 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
485 {start: 32, end: 100}); | 512 {start: 32, end: 100}); |
486 chrome_test_utils.addFlingAnimationEvent(model, {start: 38, end: 200}); | 513 chrome_test_utils.addFlingAnimationEvent(model, {start: 38, end: 200}); |
| 514 chrome_test_utils.addFrameEvent(model, {start: 199, end: 200}); |
487 chrome_test_utils.addFrameEvent(model, {start: 290, end: 300}); | 515 chrome_test_utils.addFrameEvent(model, {start: 290, end: 300}); |
488 }; | 516 }; |
489 verifier.expectedIRs = [ | 517 verifier.expectedIRs = [ |
490 {title: 'Fling Animation', start: 32, end: 200, eventCount: 2}, | 518 {title: 'Fling Animation', start: 32, end: 200, eventCount: 3}, |
491 {title: 'Idle', start: 200, end: 300, eventCount: 0} | 519 {title: 'Idle', start: 200, end: 300, eventCount: 1} |
492 ]; | 520 ]; |
493 verifier.verify(); | 521 verifier.verify(); |
494 }); | 522 }); |
495 | 523 |
496 test('flingThatIsStopped', function() { | 524 test('flingThatIsStopped', function() { |
497 var verifier = new UserExpectationVerifier(); | 525 var verifier = new UserExpectationVerifier(); |
498 verifier.customizeModelCallback = function(model) { | 526 verifier.customizeModelCallback = function(model) { |
499 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 527 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
500 {start: 32, end: 100}); | 528 {start: 32, end: 100}); |
501 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, | 529 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, |
502 {start: 105, end: 150}); | 530 {start: 105, end: 150}); |
| 531 chrome_test_utils.addFrameEvent(model, {start: 104, end: 105}); |
| 532 chrome_test_utils.addFrameEvent(model, {start: 149, end: 150}); |
503 }; | 533 }; |
504 verifier.expectedIRs = [ | 534 verifier.expectedIRs = [ |
505 {title: 'Fling Animation', start: 32, end: 105, eventCount: 2}, | 535 {title: 'Fling Animation', start: 32, end: 105, eventCount: 3}, |
506 {title: 'Idle', start: 105, end: 150, eventCount: 0} | 536 {title: 'Idle', start: 105, end: 150, eventCount: 1} |
507 ]; | 537 ]; |
508 verifier.verify(); | 538 verifier.verify(); |
509 }); | 539 }); |
510 | 540 |
511 test('flingFling', function() { | 541 test('flingFling', function() { |
512 // measurmt-traces/mobile/facebook_obama_scroll_dialog_box.html | 542 // measurmt-traces/mobile/facebook_obama_scroll_dialog_box.html |
513 var verifier = new UserExpectationVerifier(); | 543 var verifier = new UserExpectationVerifier(); |
514 verifier.customizeModelCallback = function(model) { | 544 verifier.customizeModelCallback = function(model) { |
515 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 545 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
516 {start: 0, end: 30}); | 546 {start: 0, end: 30}); |
| 547 chrome_test_utils.addFrameEvent(model, {start: 40, end: 41}); |
517 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 548 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
518 {start: 100, end: 130}); | 549 {start: 100, end: 130}); |
519 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, | 550 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_CANCEL, |
520 {start: 100, end: 130}); | 551 {start: 100, end: 130}); |
521 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 552 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
522 {start: 110, end: 140}); | 553 {start: 110, end: 140}); |
523 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 554 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
524 {start: 170, end: 180}); | 555 {start: 170, end: 180}); |
| 556 chrome_test_utils.addFrameEvent(model, {start: 150, end: 151}); |
525 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 557 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
526 {start: 200, end: 210}); | 558 {start: 200, end: 210}); |
527 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 559 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
528 {start: 200, end: 220}); | 560 {start: 200, end: 220}); |
529 chrome_test_utils.addFrameEvent(model, {start: 230, end: 240}); | 561 chrome_test_utils.addFrameEvent(model, {start: 230, end: 240}); |
530 }; | 562 }; |
531 verifier.expectedIRs = [ | 563 verifier.expectedIRs = [ |
532 {title: 'Fling Animation', start: 0, end: 100, eventCount: 2}, | 564 {title: 'Fling Animation', start: 0, end: 100, eventCount: 3}, |
533 {title: 'Touch Response', start: 100, end: 140, eventCount: 2, | 565 {title: 'Touch Response', start: 100, end: 140, eventCount: 2, |
534 isAnimationBegin: true}, | 566 isAnimationBegin: true}, |
535 {title: 'Touch Animation', start: 140, end: 210, eventCount: 2}, | 567 {title: 'Touch Animation', start: 140, end: 210, eventCount: 3}, |
536 {title: 'Fling Animation', start: 200, end: 240, eventCount: 1} | 568 {title: 'Fling Animation', start: 200, end: 240, eventCount: 2} |
537 ]; | 569 ]; |
538 verifier.verify(); | 570 verifier.verify(); |
539 }); | 571 }); |
540 | 572 |
541 test('load', function() { | 573 test('load', function() { |
542 var verifier = new UserExpectationVerifier(); | 574 var verifier = new UserExpectationVerifier(); |
543 verifier.customizeModelCallback = function(model) { | 575 verifier.customizeModelCallback = function(model) { |
544 chrome_test_utils.addNavigationStartEvent(model, {start: 0}); | 576 chrome_test_utils.addNavigationStartEvent(model, {start: 0}); |
545 chrome_test_utils.addFirstContentfulPaintEvent(model, {start: 20}); | 577 chrome_test_utils.addFirstContentfulPaintEvent(model, {start: 20}); |
546 }; | 578 }; |
(...skipping 18 matching lines...) Expand all Loading... |
565 ]; | 597 ]; |
566 verifier.verify(); | 598 verifier.verify(); |
567 }); | 599 }); |
568 | 600 |
569 test('totalIdle', function() { | 601 test('totalIdle', function() { |
570 var verifier = new UserExpectationVerifier(); | 602 var verifier = new UserExpectationVerifier(); |
571 verifier.customizeModelCallback = function(model) { | 603 verifier.customizeModelCallback = function(model) { |
572 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); | 604 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); |
573 }; | 605 }; |
574 verifier.expectedIRs = [ | 606 verifier.expectedIRs = [ |
575 {title: 'Idle', start: 0, end: 10, eventCount: 0} | 607 {title: 'Idle', start: 0, end: 10, eventCount: 1} |
576 ]; | 608 ]; |
577 verifier.verify(); | 609 verifier.verify(); |
578 }); | 610 }); |
579 | 611 |
580 test('multipleIdles', function() { | 612 test('multipleIdles', function() { |
581 var verifier = new UserExpectationVerifier(); | 613 var verifier = new UserExpectationVerifier(); |
582 verifier.customizeModelCallback = function(model) { | 614 verifier.customizeModelCallback = function(model) { |
583 chrome_test_utils.addFrameEvent(model, {start: 0, end: 1}); | 615 chrome_test_utils.addFrameEvent(model, {start: 0, end: 1}); |
584 chrome_test_utils.addNavigationStartEvent(model, {start: 1}); | 616 chrome_test_utils.addNavigationStartEvent(model, {start: 1}); |
585 chrome_test_utils.addFirstContentfulPaintEvent(model, {start: 4}); | 617 chrome_test_utils.addFirstContentfulPaintEvent(model, {start: 4}); |
586 chrome_test_utils.addFrameEvent(model, {start: 12, end: 13}); | 618 chrome_test_utils.addFrameEvent(model, {start: 12, end: 13}); |
587 }; | 619 }; |
588 verifier.expectedIRs = [ | 620 verifier.expectedIRs = [ |
589 {title: 'Idle', start: 0, end: 1, eventCount: 0}, | 621 {title: 'Idle', start: 0, end: 1, eventCount: 1}, |
590 {title: 'Successful Load', start: 1, end: 4, eventCount: 0}, | 622 {title: 'Successful Load', start: 1, end: 4, eventCount: 0}, |
591 {title: 'Idle', start: 4, end: 13, eventCount: 0} | 623 {title: 'Idle', start: 4, end: 13, eventCount: 1} |
592 ]; | 624 ]; |
593 verifier.verify(); | 625 verifier.verify(); |
594 }); | 626 }); |
595 | 627 |
596 test('touchStartTouchEndTap', function() { | 628 test('touchStartTouchEndTap', function() { |
597 var verifier = new UserExpectationVerifier(); | 629 var verifier = new UserExpectationVerifier(); |
598 verifier.customizeModelCallback = function(model) { | 630 verifier.customizeModelCallback = function(model) { |
599 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 631 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
600 {start: 0, end: 10}); | 632 {start: 0, end: 10}); |
601 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 633 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
(...skipping 10 matching lines...) Expand all Loading... |
612 var verifier = new UserExpectationVerifier(); | 644 var verifier = new UserExpectationVerifier(); |
613 verifier.customizeModelCallback = function(model) { | 645 verifier.customizeModelCallback = function(model) { |
614 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 646 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
615 {start: 0, end: 10}); | 647 {start: 0, end: 10}); |
616 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 648 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
617 {start: 50, end: 100}); | 649 {start: 50, end: 100}); |
618 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 650 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
619 {start: 70, end: 150}); | 651 {start: 70, end: 150}); |
620 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 652 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
621 {start: 200, end: 300}); | 653 {start: 200, end: 300}); |
| 654 chrome_test_utils.addFrameEvent(model, {start: 299, end: 300}); |
622 }; | 655 }; |
623 verifier.expectedIRs = [ | 656 verifier.expectedIRs = [ |
624 {title: 'Touch Response', start: 0, end: 100, eventCount: 2, | 657 {title: 'Touch Response', start: 0, end: 100, eventCount: 2, |
625 isAnimationBegin: true}, | 658 isAnimationBegin: true}, |
626 {title: 'Touch Animation', start: 100, end: 300, eventCount: 2} | 659 {title: 'Touch Animation', start: 100, end: 300, eventCount: 3} |
627 ]; | 660 ]; |
628 verifier.verify(); | 661 verifier.verify(); |
629 }); | 662 }); |
630 | 663 |
631 test('tapEvents', function() { | 664 test('tapEvents', function() { |
632 var verifier = new UserExpectationVerifier(); | 665 var verifier = new UserExpectationVerifier(); |
633 verifier.customizeModelCallback = function(model) { | 666 verifier.customizeModelCallback = function(model) { |
634 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP, | 667 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP, |
635 {start: 0, end: 50}); | 668 {start: 0, end: 50}); |
636 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP_DOWN, | 669 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP_DOWN, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 }); | 710 }); |
678 | 711 |
679 test('pinchResponseAnimation', function() { | 712 test('pinchResponseAnimation', function() { |
680 var verifier = new UserExpectationVerifier(); | 713 var verifier = new UserExpectationVerifier(); |
681 verifier.customizeModelCallback = function(model) { | 714 verifier.customizeModelCallback = function(model) { |
682 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); | 715 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); |
683 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_BEGIN, | 716 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_BEGIN, |
684 {start: 100, end: 150}); | 717 {start: 100, end: 150}); |
685 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, | 718 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, |
686 {start: 130, end: 160}); | 719 {start: 130, end: 160}); |
| 720 chrome_test_utils.addFrameEvent(model, {start: 159, end: 160}); |
687 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, | 721 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, |
688 {start: 140, end: 200}); | 722 {start: 140, end: 200}); |
| 723 chrome_test_utils.addFrameEvent(model, {start: 199, end: 200}); |
689 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, | 724 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, |
690 {start: 150, end: 205}); | 725 {start: 150, end: 205}); |
| 726 chrome_test_utils.addFrameEvent(model, {start: 204, end: 205}); |
691 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, | 727 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, |
692 {start: 210, end: 220}); | 728 {start: 210, end: 220}); |
| 729 chrome_test_utils.addFrameEvent(model, {start: 219, end: 220}); |
693 // pause > 200ms | 730 // pause > 200ms |
694 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, | 731 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_UPDATE, |
695 {start: 421, end: 470}); | 732 {start: 421, end: 470}); |
| 733 chrome_test_utils.addFrameEvent(model, {start: 469, end: 470}); |
696 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_END, | 734 chrome_test_utils.addInputEvent(model, INPUT_TYPE.PINCH_END, |
697 {start: 460, end: 500}); | 735 {start: 460, end: 500}); |
698 }; | 736 }; |
699 verifier.expectedIRs = [ | 737 verifier.expectedIRs = [ |
700 {title: 'Idle', start: 0, end: 100, eventCount: 0}, | 738 {title: 'Idle', start: 0, end: 100, eventCount: 1}, |
701 {title: 'Pinch Response', start: 100, end: 160, eventCount: 2, | 739 {title: 'Pinch Response', start: 100, end: 160, eventCount: 2, |
702 isAnimationBegin: true}, | 740 isAnimationBegin: true}, |
703 {title: 'Pinch Animation', start: 160, end: 220, eventCount: 3}, | 741 {title: 'Pinch Animation', start: 160, end: 220, eventCount: 7}, |
704 {title: 'Idle', start: 220, end: 421, eventCount: 0}, | 742 {title: 'Idle', start: 220, end: 421, eventCount: 0}, |
705 {title: 'Pinch Animation', start: 421, end: 500, eventCount: 2} | 743 {title: 'Pinch Animation', start: 421, end: 500, eventCount: 3} |
706 ]; | 744 ]; |
707 verifier.verify(); | 745 verifier.verify(); |
708 }); | 746 }); |
709 | 747 |
710 test('tapThenScroll', function() { | 748 test('tapThenScroll', function() { |
711 // measurmt-traces/mobile/google_io_instrument_strumming.json | 749 // measurmt-traces/mobile/google_io_instrument_strumming.json |
712 var verifier = new UserExpectationVerifier(); | 750 var verifier = new UserExpectationVerifier(); |
713 verifier.customizeModelCallback = function(model) { | 751 verifier.customizeModelCallback = function(model) { |
714 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 752 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
715 {start: 0, end: 20}); | 753 {start: 0, end: 20}); |
716 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 754 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
717 {start: 40, end: 100}); | 755 {start: 40, end: 100}); |
718 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 756 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
719 {start: 50, end: 120}); | 757 {start: 50, end: 120}); |
720 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 758 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
721 {start: 80, end: 150}); | 759 {start: 80, end: 150}); |
722 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 760 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
723 {start: 180, end: 200}); | 761 {start: 180, end: 200}); |
| 762 chrome_test_utils.addFrameEvent(model, {start: 199, end: 200}); |
724 }; | 763 }; |
725 verifier.expectedIRs = [ | 764 verifier.expectedIRs = [ |
726 {title: 'Touch Response', start: 0, end: 100, eventCount: 2, | 765 {title: 'Touch Response', start: 0, end: 100, eventCount: 2, |
727 isAnimationBegin: true}, | 766 isAnimationBegin: true}, |
728 {title: 'Touch Response', start: 50, end: 150, eventCount: 2, | 767 {title: 'Touch Response', start: 50, end: 150, eventCount: 2, |
729 isAnimationBegin: true}, | 768 isAnimationBegin: true}, |
730 {title: 'Touch Animation', start: 150, end: 200, eventCount: 1} | 769 {title: 'Touch Animation', start: 150, end: 200, eventCount: 2} |
731 ]; | 770 ]; |
732 verifier.verify(); | 771 verifier.verify(); |
733 }); | 772 }); |
734 | 773 |
735 test('pinchFlingTapTouchEventsOverlap', function() { | 774 test('pinchFlingTapTouchEventsOverlap', function() { |
736 var verifier = new UserExpectationVerifier(); | 775 var verifier = new UserExpectationVerifier(); |
737 verifier.customizeModelCallback = function(model) { | 776 verifier.customizeModelCallback = function(model) { |
738 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); | 777 chrome_test_utils.addFrameEvent(model, {start: 0, end: 10}); |
739 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, | 778 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_START, |
740 {start: 20, end: 50}); | 779 {start: 20, end: 50}); |
(...skipping 18 matching lines...) Expand all Loading... |
759 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 798 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
760 {start: 80, end: 100}); | 799 {start: 80, end: 100}); |
761 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 800 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
762 {start: 85, end: 100}); | 801 {start: 85, end: 100}); |
763 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, | 802 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_BEGIN, |
764 {start: 75, end: 100}); | 803 {start: 75, end: 100}); |
765 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 804 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
766 {start: 150, end: 200}); | 805 {start: 150, end: 200}); |
767 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 806 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
768 {start: 150, end: 200}); | 807 {start: 150, end: 200}); |
| 808 chrome_test_utils.addFrameEvent(model, {start: 199, end: 200}); |
769 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 809 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
770 {start: 180, end: 210}); | 810 {start: 180, end: 210}); |
| 811 chrome_test_utils.addFrameEvent(model, {start: 209, end: 210}); |
771 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 812 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
772 {start: 190, end: 210}); | 813 {start: 190, end: 210}); |
773 chrome_test_utils.addFrameEvent(model, {start: 215, end: 220}); | 814 chrome_test_utils.addFrameEvent(model, {start: 215, end: 220}); |
774 }; | 815 }; |
775 verifier.expectedIRs = [ | 816 verifier.expectedIRs = [ |
776 {title: 'Idle', start: 0, end: 20, eventCount: 0}, | 817 {title: 'Idle', start: 0, end: 20, eventCount: 1}, |
777 {title: 'Pinch,Scroll,Tap,Touch Response', start: 20, end: 110, | 818 {title: 'Pinch,Scroll,Tap,Touch Response', start: 20, end: 110, |
778 eventCount: 9, isAnimationBegin: true}, | 819 eventCount: 9, isAnimationBegin: true}, |
779 {title: 'Scroll,Touch Animation', start: 110, end: 210, | 820 {title: 'Scroll,Touch Animation', start: 110, end: 210, |
780 eventCount: 6}, | 821 eventCount: 7}, |
781 {title: 'Fling Animation', start: 180, end: 220, eventCount: 1} | 822 {title: 'Fling Animation', start: 180, end: 220, eventCount: 4} |
782 ]; | 823 ]; |
783 verifier.verify(); | 824 verifier.verify(); |
784 }); | 825 }); |
785 | 826 |
786 test('scrollThenFling', function() { | 827 test('scrollThenFling', function() { |
787 var verifier = new UserExpectationVerifier(); | 828 var verifier = new UserExpectationVerifier(); |
788 verifier.customizeModelCallback = function(model) { | 829 verifier.customizeModelCallback = function(model) { |
789 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 830 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
790 {start: 0, end: 40}); | 831 {start: 0, end: 40}); |
791 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 832 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
792 {start: 50, end: 100}); | 833 {start: 50, end: 100}); |
| 834 chrome_test_utils.addFrameEvent(model, {start: 99, end: 100}); |
793 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 835 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
794 {start: 80, end: 100}); | 836 {start: 80, end: 100}); |
795 chrome_test_utils.addFrameEvent(model, {start: 190, end: 200}); | 837 chrome_test_utils.addFrameEvent(model, {start: 190, end: 200}); |
796 }; | 838 }; |
797 verifier.expectedIRs = [ | 839 verifier.expectedIRs = [ |
798 {title: 'Scroll Animation', start: 0, end: 100, eventCount: 2}, | 840 {title: 'Scroll Animation', start: 0, end: 100, eventCount: 3}, |
799 {title: 'Fling Animation', start: 80, end: 200, eventCount: 1} | 841 {title: 'Fling Animation', start: 80, end: 200, eventCount: 3} |
800 ]; | 842 ]; |
801 verifier.verify(); | 843 verifier.verify(); |
802 }); | 844 }); |
803 | 845 |
804 /* | 846 /* |
805 This test was generated from | 847 This test was generated from |
806 /test_data/measurmt-traces/mobile/fling_HN_to_rest.json | 848 /test_data/measurmt-traces/mobile/fling_HN_to_rest.json |
807 */ | 849 */ |
808 test('flingHNToRest', function() { | 850 test('flingHNToRest', function() { |
809 var verifier = new UserExpectationVerifier(); | 851 var verifier = new UserExpectationVerifier(); |
(...skipping 21 matching lines...) Expand all Loading... |
831 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 873 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
832 {start: 1389, end: 1404}); | 874 {start: 1389, end: 1404}); |
833 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 875 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
834 {start: 1389, end: 1429}); | 876 {start: 1389, end: 1429}); |
835 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 877 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
836 {start: 1405, end: 1418}); | 878 {start: 1405, end: 1418}); |
837 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 879 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
838 {start: 1405, end: 1449}); | 880 {start: 1405, end: 1449}); |
839 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 881 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
840 {start: 1419, end: 1432}); | 882 {start: 1419, end: 1432}); |
| 883 chrome_test_utils.addFrameEvent(model, {start: 1431, end: 1432}); |
841 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, | 884 chrome_test_utils.addInputEvent(model, INPUT_TYPE.SCROLL_UPDATE, |
842 {start: 1419, end: 1474}); | 885 {start: 1419, end: 1474}); |
| 886 chrome_test_utils.addFrameEvent(model, {start: 1473, end: 1474}); |
843 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, | 887 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_END, |
844 {start: 1427, end: 1435}); | 888 {start: 1427, end: 1435}); |
845 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, | 889 chrome_test_utils.addInputEvent(model, INPUT_TYPE.FLING_START, |
846 {start: 1427, end: 1474}); | 890 {start: 1427, end: 1474}); |
847 chrome_test_utils.addFlingAnimationEvent(model, {start: 1440, end: 2300}); | 891 chrome_test_utils.addFlingAnimationEvent(model, {start: 1440, end: 2300}); |
848 chrome_test_utils.addEvent(model.browserMain, | 892 chrome_test_utils.addEvent(model.browserMain, |
849 {title: 'model end', start: 3184, end: 3185}); | 893 {title: 'model end', start: 3184, end: 3185}); |
850 }; | 894 }; |
851 verifier.expectedIRs = [ | 895 verifier.expectedIRs = [ |
852 {title: 'Idle', start: 0, end: 1274, eventCount: 0}, | 896 {title: 'Idle', start: 0, end: 1274, eventCount: 0}, |
853 {title: 'Scroll,Tap,Touch Response', start: 1274, end: 1387, | 897 {title: 'Scroll,Tap,Touch Response', start: 1274, end: 1387, |
854 eventCount: 6, isAnimationBegin: true}, | 898 eventCount: 6, isAnimationBegin: true}, |
855 {title: 'Scroll,Touch Animation', start: 1387, end: 1474, | 899 {title: 'Scroll,Touch Animation', start: 1387, end: 1474, |
856 eventCount: 10}, | 900 eventCount: 12}, |
857 {title: 'Fling Animation', start: 1427, end: 2300, | 901 {title: 'Fling Animation', start: 1427, end: 2300, |
858 eventCount: 2}, | 902 eventCount: 4}, |
859 {title: 'Idle', start: 2300, end: 3185, eventCount: 0} | 903 {title: 'Idle', start: 2300, end: 3185, eventCount: 0} |
860 ]; | 904 ]; |
861 verifier.verify(); | 905 verifier.verify(); |
862 }); | 906 }); |
863 | 907 |
864 test('TapResponseOverlappingTouchAnimation', function() { | 908 test('TapResponseOverlappingTouchAnimation', function() { |
865 var verifier = new UserExpectationVerifier(); | 909 var verifier = new UserExpectationVerifier(); |
866 verifier.customizeModelCallback = function(model) { | 910 verifier.customizeModelCallback = function(model) { |
867 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 911 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
868 {start: 0, end: 10}); | 912 {start: 0, end: 10}); |
869 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 913 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
870 {start: 5, end: 15}); | 914 {start: 5, end: 15}); |
871 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, | 915 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TOUCH_MOVE, |
872 {start: 10, end: 20}); | 916 {start: 10, end: 20}); |
| 917 chrome_test_utils.addFrameEvent(model, {start: 19, end: 20}); |
873 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP, | 918 chrome_test_utils.addInputEvent(model, INPUT_TYPE.TAP, |
874 {start: 15, end: 100}); | 919 {start: 15, end: 100}); |
875 }; | 920 }; |
876 verifier.expectedIRs = [ | 921 verifier.expectedIRs = [ |
877 {title: 'Tap,Touch Response', start: 0, end: 100, | 922 {title: 'Tap,Touch Response', start: 0, end: 100, |
878 eventCount: 4} | 923 eventCount: 5} |
879 ]; | 924 ]; |
880 verifier.verify(); | 925 verifier.verify(); |
881 }); | 926 }); |
882 }); | 927 }); |
883 </script> | 928 </script> |
OLD | NEW |