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

Side by Side Diff: tracing/tracing/importer/user_model_builder_test.html

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!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
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
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
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
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
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
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
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
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
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>
OLDNEW
« no previous file with comments | « tracing/tracing/importer/user_expectation_verifier.html ('k') | tracing/tracing/metrics/all_metrics.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698