| 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 |