OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
| 5 import page_sets |
| 6 |
5 from measurements import media | 7 from measurements import media |
6 import page_sets | 8 from measurements import PageTestMeasurement |
7 from telemetry import benchmark | 9 from telemetry import benchmark |
8 from telemetry.page import page_test | |
9 from telemetry.value import list_of_scalar_values | 10 from telemetry.value import list_of_scalar_values |
10 from telemetry.value import scalar | 11 from telemetry.value import scalar |
11 | 12 |
12 | 13 |
13 class _MSEMeasurement(page_test.PageTest): | 14 class _MSEMeasurement(PageTestMeasurement): |
14 def ValidateAndMeasurePage(self, page, tab, results): | 15 def ValidateAndMeasurePage(self, page, tab, results): |
15 media_metric = tab.EvaluateJavaScript('window.__testMetrics') | 16 media_metric = tab.EvaluateJavaScript('window.__testMetrics') |
16 trace = media_metric['id'] if 'id' in media_metric else None | 17 trace = media_metric['id'] if 'id' in media_metric else None |
17 metrics = media_metric['metrics'] if 'metrics' in media_metric else [] | 18 metrics = media_metric['metrics'] if 'metrics' in media_metric else [] |
18 for m in metrics: | 19 for m in metrics: |
19 trace_name = '%s.%s' % (m, trace) | 20 trace_name = '%s.%s' % (m, trace) |
20 if isinstance(metrics[m], list): | 21 if isinstance(metrics[m], list): |
21 results.AddValue(list_of_scalar_values.ListOfScalarValues( | 22 results.AddValue(list_of_scalar_values.ListOfScalarValues( |
22 results.current_page, trace_name, units='ms', | 23 results.current_page, trace_name, units='ms', |
23 values=[float(v) for v in metrics[m]], | 24 values=[float(v) for v in metrics[m]], |
24 important=True)) | 25 important=True)) |
25 | 26 |
26 else: | 27 else: |
27 results.AddValue(scalar.ScalarValue( | 28 results.AddValue(scalar.ScalarValue( |
28 results.current_page, trace_name, units='ms', | 29 results.current_page, trace_name, units='ms', |
29 value=float(metrics[m]), important=True)) | 30 value=float(metrics[m]), important=True)) |
| 31 super(_MSEMeasurement, self).ValidateAndMeasurePage(page, tab, results) |
30 | 32 |
31 | 33 |
32 @benchmark.Disabled('android') | 34 @benchmark.Disabled('android') |
33 class Media(benchmark.Benchmark): | 35 class Media(benchmark.Benchmark): |
34 """Obtains media metrics for key user scenarios.""" | 36 """Obtains media metrics for key user scenarios.""" |
35 test = media.Media | 37 test = media.Media |
36 page_set = page_sets.ToughVideoCasesPageSet | 38 page_set = page_sets.ToughVideoCasesPageSet |
37 | 39 |
38 | 40 |
39 @benchmark.Disabled | 41 @benchmark.Disabled |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 class MediaSourceExtensions(benchmark.Benchmark): | 88 class MediaSourceExtensions(benchmark.Benchmark): |
87 """Obtains media metrics for key media source extensions functions.""" | 89 """Obtains media metrics for key media source extensions functions.""" |
88 test = _MSEMeasurement | 90 test = _MSEMeasurement |
89 page_set = page_sets.MseCasesPageSet | 91 page_set = page_sets.MseCasesPageSet |
90 | 92 |
91 def CustomizeBrowserOptions(self, options): | 93 def CustomizeBrowserOptions(self, options): |
92 # Needed to allow XHR requests to return stream objects. | 94 # Needed to allow XHR requests to return stream objects. |
93 options.AppendExtraBrowserArgs( | 95 options.AppendExtraBrowserArgs( |
94 ['--enable-experimental-web-platform-features', | 96 ['--enable-experimental-web-platform-features', |
95 '--disable-gesture-requirement-for-media-playback']) | 97 '--disable-gesture-requirement-for-media-playback']) |
OLD | NEW |