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