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