Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / tools / perf / page_sets / tough_video_cases.py
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 from telemetry.page import page as page_module
5 from telemetry.page import page_set as page_set_module
6
7
8 class ToughVideoCasesPage(page_module.Page):
9
10   def __init__(self, url, page_set, labels=None):
11     super(ToughVideoCasesPage, self).__init__(
12         url=url, page_set=page_set, labels=labels)
13
14   def LoopMixedAudio(self, action_runner):
15     action_runner.PlayMedia(selector='#background_audio',
16                             playing_event_timeout_in_seconds=60)
17     action_runner.LoopMedia(loop_count=50, selector='#mixed_audio')
18
19   def LoopSingleAudio(self, action_runner):
20     action_runner.LoopMedia(loop_count=50, selector='#single_audio')
21
22   def PlayAction(self, action_runner):
23     action_runner.PlayMedia(playing_event_timeout_in_seconds=60,
24                             ended_event_timeout_in_seconds=60)
25
26   def SeekBeforeAndAfterPlayhead(self, action_runner):
27     action_runner.PlayMedia(playing_event_timeout_in_seconds=60,
28                             ended_event_timeout_in_seconds=60)
29     # Wait for 1 second so that we know the play-head is at ~1s.
30     action_runner.Wait(1)
31     # Seek to before the play-head location.
32     action_runner.SeekMedia(seconds=0.5, timeout_in_seconds=60,
33                             label='seek_warm')
34     # Seek to after the play-head location.
35     action_runner.SeekMedia(seconds=9, timeout_in_seconds=60,
36                             label='seek_cold')
37
38
39 class Page1(ToughVideoCasesPage):
40
41   def __init__(self, page_set):
42     super(Page1, self).__init__(
43       url='file://tough_video_cases/video.html?src=crowd.wav&type=audio',
44       page_set=page_set)
45
46     self.add_browser_metrics = True
47
48   def RunPageInteractions(self, action_runner):
49     self.PlayAction(action_runner)
50
51
52 class Page2(ToughVideoCasesPage):
53
54   def __init__(self, page_set):
55     super(Page2, self).__init__(
56       url='file://tough_video_cases/video.html?src=crowd.ogg&type=audio',
57       page_set=page_set)
58
59     self.add_browser_metrics = True
60
61   def RunPageInteractions(self, action_runner):
62     self.PlayAction(action_runner)
63
64
65 class Page3(ToughVideoCasesPage):
66
67   def __init__(self, page_set):
68     super(Page3, self).__init__(
69       url='file://tough_video_cases/video.html?src=crowd1080.ogv',
70       page_set=page_set)
71
72     self.add_browser_metrics = True
73     self.is_50fps = True
74
75   def RunPageInteractions(self, action_runner):
76     self.PlayAction(action_runner)
77
78
79 class Page4(ToughVideoCasesPage):
80
81   def __init__(self, page_set):
82     super(Page4, self).__init__(
83       url='file://tough_video_cases/video.html?src=crowd1080.webm',
84       page_set=page_set, labels=['is_50fps'])
85
86     self.add_browser_metrics = True
87
88   def RunPageInteractions(self, action_runner):
89     self.PlayAction(action_runner)
90
91
92 class Page5(ToughVideoCasesPage):
93
94   def __init__(self, page_set):
95     super(Page5, self).__init__(
96       url='file://tough_video_cases/video.html?src=crowd2160.ogv',
97       page_set=page_set, labels=['is_4k', 'is_50fps'])
98
99     self.add_browser_metrics = True
100
101   def RunPageInteractions(self, action_runner):
102     self.PlayAction(action_runner)
103
104
105 class Page6(ToughVideoCasesPage):
106
107   def __init__(self, page_set):
108     super(Page6, self).__init__(
109       url='file://tough_video_cases/video.html?src=crowd2160.webm',
110       page_set=page_set, labels=['is_4k', 'is_50fps'])
111
112     self.add_browser_metrics = True
113
114   def RunPageInteractions(self, action_runner):
115     self.PlayAction(action_runner)
116
117
118 class Page7(ToughVideoCasesPage):
119
120   def __init__(self, page_set):
121     super(Page7, self).__init__(
122       url='file://tough_video_cases/video.html?src=tulip2.ogg&type=audio',
123       page_set=page_set)
124
125     self.add_browser_metrics = True
126
127   def RunPageInteractions(self, action_runner):
128     self.PlayAction(action_runner)
129
130
131 class Page8(ToughVideoCasesPage):
132
133   def __init__(self, page_set):
134     super(Page8, self).__init__(
135       url='file://tough_video_cases/video.html?src=tulip2.wav&type=audio',
136       page_set=page_set)
137
138     self.add_browser_metrics = True
139
140   def RunPageInteractions(self, action_runner):
141     self.PlayAction(action_runner)
142
143
144 class Page9(ToughVideoCasesPage):
145
146   def __init__(self, page_set):
147     super(Page9, self).__init__(
148       url='file://tough_video_cases/video.html?src=tulip2.ogv',
149       page_set=page_set)
150
151     self.add_browser_metrics = True
152
153   def RunPageInteractions(self, action_runner):
154     self.PlayAction(action_runner)
155
156
157 class Page10(ToughVideoCasesPage):
158
159   def __init__(self, page_set):
160     super(Page10, self).__init__(
161       url='file://tough_video_cases/video.html?src=tulip2.webm',
162       page_set=page_set)
163
164     self.add_browser_metrics = True
165
166   def RunPageInteractions(self, action_runner):
167     self.PlayAction(action_runner)
168
169
170 class Page11(ToughVideoCasesPage):
171
172   def __init__(self, page_set):
173     super(Page11, self).__init__(
174       url='file://tough_video_cases/video.html?src=crowd1080.mp4',
175       page_set=page_set, labels=['is_50fps'])
176
177     self.add_browser_metrics = True
178
179   def RunPageInteractions(self, action_runner):
180     self.PlayAction(action_runner)
181
182
183 class Page12(ToughVideoCasesPage):
184
185   def __init__(self, page_set):
186     super(Page12, self).__init__(
187       url='file://tough_video_cases/video.html?src=crowd2160.mp4',
188       page_set=page_set, labels=['is_4k', 'is_50fps'])
189
190     self.add_browser_metrics = True
191
192   def RunPageInteractions(self, action_runner):
193     self.PlayAction(action_runner)
194
195
196 class Page13(ToughVideoCasesPage):
197
198   def __init__(self, page_set):
199     super(Page13, self).__init__(
200       url='file://tough_video_cases/video.html?src=tulip2.mp3&type=audio',
201       page_set=page_set)
202
203     self.add_browser_metrics = True
204
205   def RunPageInteractions(self, action_runner):
206     self.PlayAction(action_runner)
207
208
209 class Page14(ToughVideoCasesPage):
210
211   def __init__(self, page_set):
212     super(Page14, self).__init__(
213       url='file://tough_video_cases/video.html?src=tulip2.mp4',
214       page_set=page_set)
215
216     self.add_browser_metrics = True
217
218   def RunPageInteractions(self, action_runner):
219     self.PlayAction(action_runner)
220
221
222 class Page15(ToughVideoCasesPage):
223
224   def __init__(self, page_set):
225     super(Page15, self).__init__(
226       url='file://tough_video_cases/video.html?src=tulip2.m4a&type=audio',
227       page_set=page_set)
228
229     self.add_browser_metrics = True
230
231   def RunPageInteractions(self, action_runner):
232     self.PlayAction(action_runner)
233
234
235 class Page16(ToughVideoCasesPage):
236
237   def __init__(self, page_set):
238     super(Page16, self).__init__(
239       url='file://tough_video_cases/video.html?src=garden2_10s.webm',
240       page_set=page_set, labels=['is_4k'])
241
242     self.add_browser_metrics = True
243
244   def RunPageInteractions(self, action_runner):
245     self.PlayAction(action_runner)
246
247
248 class Page17(ToughVideoCasesPage):
249
250   def __init__(self, page_set):
251     super(Page17, self).__init__(
252       url='file://tough_video_cases/video.html?src=garden2_10s.mp4',
253       page_set=page_set, labels=['is_4k'])
254
255     self.add_browser_metrics = True
256
257   def RunPageInteractions(self, action_runner):
258     self.PlayAction(action_runner)
259
260
261 class Page18(ToughVideoCasesPage):
262
263   def __init__(self, page_set):
264     super(Page18, self).__init__(
265       url='file://tough_video_cases/video.html?src=garden2_10s.ogv',
266       page_set=page_set, labels=['is_4k'])
267
268     self.add_browser_metrics = True
269
270   def RunPageInteractions(self, action_runner):
271     self.PlayAction(action_runner)
272
273
274 class Page19(ToughVideoCasesPage):
275
276   def __init__(self, page_set):
277     super(Page19, self).__init__(
278       url='file://tough_video_cases/video.html?src=tulip2.ogg&type=audio',
279       page_set=page_set)
280
281     self.skip_basic_metrics = True
282
283   def RunPageInteractions(self, action_runner):
284     self.SeekBeforeAndAfterPlayhead(action_runner)
285
286
287 class Page20(ToughVideoCasesPage):
288
289   def __init__(self, page_set):
290     super(Page20, self).__init__(
291       url='file://tough_video_cases/video.html?src=tulip2.wav&type=audio',
292       page_set=page_set)
293
294     self.skip_basic_metrics = True
295
296   def RunPageInteractions(self, action_runner):
297     self.SeekBeforeAndAfterPlayhead(action_runner)
298
299
300 class Page21(ToughVideoCasesPage):
301
302   def __init__(self, page_set):
303     super(Page21, self).__init__(
304       url='file://tough_video_cases/video.html?src=tulip2.ogv',
305       page_set=page_set)
306
307     self.skip_basic_metrics = True
308
309   def RunPageInteractions(self, action_runner):
310     self.SeekBeforeAndAfterPlayhead(action_runner)
311
312
313 class Page22(ToughVideoCasesPage):
314
315   def __init__(self, page_set):
316     super(Page22, self).__init__(
317       url='file://tough_video_cases/video.html?src=tulip2.webm',
318       page_set=page_set)
319
320     self.skip_basic_metrics = True
321
322   def RunPageInteractions(self, action_runner):
323     self.SeekBeforeAndAfterPlayhead(action_runner)
324
325
326 class Page23(ToughVideoCasesPage):
327
328   def __init__(self, page_set):
329     super(Page23, self).__init__(
330       url='file://tough_video_cases/video.html?src=tulip2.mp3&type=audio',
331       page_set=page_set)
332
333     self.skip_basic_metrics = True
334
335   def RunPageInteractions(self, action_runner):
336     self.SeekBeforeAndAfterPlayhead(action_runner)
337
338
339 class Page24(ToughVideoCasesPage):
340
341   def __init__(self, page_set):
342     super(Page24, self).__init__(
343       url='file://tough_video_cases/video.html?src=tulip2.mp4',
344       page_set=page_set)
345
346     self.skip_basic_metrics = True
347
348   def RunPageInteractions(self, action_runner):
349     self.SeekBeforeAndAfterPlayhead(action_runner)
350
351
352 class Page25(ToughVideoCasesPage):
353
354   def __init__(self, page_set):
355     super(Page25, self).__init__(
356       url='file://tough_video_cases/video.html?src=garden2_10s.webm',
357       page_set=page_set, labels=['is_4k'])
358
359     self.skip_basic_metrics = True
360
361   def RunPageInteractions(self, action_runner):
362     self.SeekBeforeAndAfterPlayhead(action_runner)
363
364
365 class Page26(ToughVideoCasesPage):
366
367   def __init__(self, page_set):
368     super(Page26, self).__init__(
369       url='file://tough_video_cases/video.html?src=garden2_10s.mp4',
370       page_set=page_set, labels=['is_4k'])
371
372     self.skip_basic_metrics = True
373
374   def RunPageInteractions(self, action_runner):
375     self.SeekBeforeAndAfterPlayhead(action_runner)
376
377
378 class Page27(ToughVideoCasesPage):
379
380   def __init__(self, page_set):
381     super(Page27, self).__init__(
382       url='file://tough_video_cases/video.html?src=garden2_10s.ogv',
383       page_set=page_set, labels=['is_4k'])
384
385     self.skip_basic_metrics = True
386
387   def RunPageInteractions(self, action_runner):
388     self.SeekBeforeAndAfterPlayhead(action_runner)
389
390
391 class Page28(ToughVideoCasesPage):
392
393   def __init__(self, page_set):
394     super(Page28, self).__init__(
395       url='file://tough_video_cases/audio_playback.html?id=single_audio',
396       page_set=page_set)
397
398     self.skip_basic_metrics = True
399
400   def RunPageInteractions(self, action_runner):
401     self.LoopSingleAudio(action_runner)
402
403
404 class Page29(ToughVideoCasesPage):
405
406   def __init__(self, page_set):
407     super(Page29, self).__init__(
408       url='file://tough_video_cases/audio_playback.html?id=mixed_audio',
409       page_set=page_set)
410
411     self.skip_basic_metrics = True
412
413   def RunPageInteractions(self, action_runner):
414     self.LoopMixedAudio(action_runner)
415
416 class Page30(ToughVideoCasesPage):
417
418   def __init__(self, page_set):
419     super(Page30, self).__init__(
420       url='file://tough_video_cases/video.html?src=tulip2.vp9.webm',
421       page_set=page_set)
422
423     self.add_browser_metrics = True
424
425   def RunPageInteractions(self, action_runner):
426     self.PlayAction(action_runner)
427
428 class Page31(ToughVideoCasesPage):
429
430   def __init__(self, page_set):
431     super(Page31, self).__init__(
432       url='file://tough_video_cases/video.html?src=tulip2.vp9.webm',
433       page_set=page_set)
434
435     self.skip_basic_metrics = True
436
437   def RunPageInteractions(self, action_runner):
438     self.SeekBeforeAndAfterPlayhead(action_runner)
439
440 class Page32(ToughVideoCasesPage):
441
442   def __init__(self, page_set):
443     super(Page32, self).__init__(
444       url='file://tough_video_cases/video.html?src=crowd1080_vp9.webm',
445       page_set=page_set)
446
447     self.add_browser_metrics = True
448
449   def RunPageInteractions(self, action_runner):
450     self.PlayAction(action_runner)
451
452 class Page33(ToughVideoCasesPage):
453
454   def __init__(self, page_set):
455     super(Page33, self).__init__(
456       url='file://tough_video_cases/video.html?src=crowd1080_vp9.webm',
457       page_set=page_set)
458
459     self.skip_basic_metrics = True
460
461   def RunPageInteractions(self, action_runner):
462     self.SeekBeforeAndAfterPlayhead(action_runner)
463
464 class Page34(ToughVideoCasesPage):
465
466   def __init__(self, page_set):
467     super(Page34, self).__init__(
468       url='file://tough_video_cases/video.html?src=crowd720_vp9.webm',
469       page_set=page_set)
470
471     self.add_browser_metrics = True
472
473   def RunPageInteractions(self, action_runner):
474     self.PlayAction(action_runner)
475
476 class Page35(ToughVideoCasesPage):
477
478   def __init__(self, page_set):
479     super(Page35, self).__init__(
480       url='file://tough_video_cases/video.html?src=crowd720_vp9.webm',
481       page_set=page_set)
482
483     self.skip_basic_metrics = True
484
485   def RunPageInteractions(self, action_runner):
486     self.SeekBeforeAndAfterPlayhead(action_runner)
487
488 class ToughVideoCasesPageSet(page_set_module.PageSet):
489
490   """
491   Description: Video Stack Perf benchmark
492   """
493   def __init__(self):
494     super(ToughVideoCasesPageSet, self).__init__(
495             bucket=page_set_module.INTERNAL_BUCKET)
496
497     self.AddPage(Page1(self))
498     self.AddPage(Page2(self))
499     self.AddPage(Page3(self))
500     self.AddPage(Page4(self))
501     self.AddPage(Page5(self))
502     self.AddPage(Page6(self))
503     self.AddPage(Page7(self))
504     self.AddPage(Page8(self))
505     self.AddPage(Page9(self))
506     self.AddPage(Page10(self))
507     self.AddPage(Page11(self))
508     self.AddPage(Page12(self))
509     self.AddPage(Page13(self))
510     self.AddPage(Page14(self))
511     self.AddPage(Page15(self))
512     self.AddPage(Page16(self))
513     self.AddPage(Page17(self))
514     self.AddPage(Page18(self))
515     self.AddPage(Page19(self))
516     self.AddPage(Page20(self))
517     self.AddPage(Page21(self))
518     self.AddPage(Page22(self))
519     self.AddPage(Page23(self))
520     self.AddPage(Page24(self))
521     self.AddPage(Page25(self))
522     self.AddPage(Page26(self))
523     self.AddPage(Page27(self))
524     self.AddPage(Page28(self))
525     self.AddPage(Page29(self))
526     self.AddPage(Page30(self))
527     self.AddPage(Page31(self))
528     self.AddPage(Page32(self))
529     self.AddPage(Page33(self))
530     self.AddPage(Page34(self))
531     self.AddPage(Page35(self))