| 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 from telemetry import test | 6 from telemetry import test |
| 7 from telemetry.page import page_measurement | 7 from telemetry.page import page_measurement |
| 8 from telemetry.value import list_of_scalar_values | 8 from telemetry.value import list_of_scalar_values |
| 9 from telemetry.value import scalar | 9 from telemetry.value import scalar |
| 10 | 10 |
| 11 | 11 |
| 12 class _MSEMeasurement(page_measurement.PageMeasurement): | 12 class _MSEMeasurement(page_measurement.PageMeasurement): |
| 13 def MeasurePage(self, page, tab, results): | 13 def MeasurePage(self, page, tab, results): |
| 14 media_metric = tab.EvaluateJavaScript('window.__testMetrics') | 14 media_metric = tab.EvaluateJavaScript('window.__testMetrics') |
| 15 trace = media_metric['id'] if 'id' in media_metric else None | 15 trace = media_metric['id'] if 'id' in media_metric else None |
| 16 metrics = media_metric['metrics'] if 'metrics' in media_metric else [] | 16 metrics = media_metric['metrics'] if 'metrics' in media_metric else [] |
| 17 for m in metrics: | 17 for m in metrics: |
| 18 trace_name = '%s.%s' % (m, trace) | 18 trace_name = '%s.%s' % (m, trace) |
| 19 if isinstance(metrics[m], list): | 19 if isinstance(metrics[m], list): |
| 20 results.AddValue(list_of_scalar_values.ListOfScalarValues( | 20 results.AddValue(list_of_scalar_values.ListOfScalarValues( |
| 21 results.current_page, trace_name, unit='ms', | 21 results.current_page, trace_name, units='ms', |
| 22 values=[float(v) for v in metrics[m]], | 22 values=[float(v) for v in metrics[m]], |
| 23 important=True)) | 23 important=True)) |
| 24 | 24 |
| 25 else: | 25 else: |
| 26 results.AddValue(scalar.ScalarValue( | 26 results.AddValue(scalar.ScalarValue( |
| 27 results.current_page, trace_name, unit='ms', | 27 results.current_page, trace_name, units='ms', |
| 28 value=float(metrics[m]), important=True)) | 28 value=float(metrics[m]), important=True)) |
| 29 | 29 |
| 30 | 30 |
| 31 class Media(test.Test): | 31 class Media(test.Test): |
| 32 """Obtains media metrics for key user scenarios.""" | 32 """Obtains media metrics for key user scenarios.""" |
| 33 test = media.Media | 33 test = media.Media |
| 34 page_set = 'page_sets/tough_video_cases.py' | 34 page_set = 'page_sets/tough_video_cases.py' |
| 35 | 35 |
| 36 | 36 |
| 37 class MediaNetworkSimulation(test.Test): | 37 class MediaNetworkSimulation(test.Test): |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 class MediaSourceExtensions(test.Test): | 78 class MediaSourceExtensions(test.Test): |
| 79 """Obtains media metrics for key media source extensions functions.""" | 79 """Obtains media metrics for key media source extensions functions.""" |
| 80 test = _MSEMeasurement | 80 test = _MSEMeasurement |
| 81 page_set = 'page_sets/mse_cases.py' | 81 page_set = 'page_sets/mse_cases.py' |
| 82 | 82 |
| 83 def CustomizeBrowserOptions(self, options): | 83 def CustomizeBrowserOptions(self, options): |
| 84 # Needed to allow XHR requests to return stream objects. | 84 # Needed to allow XHR requests to return stream objects. |
| 85 options.AppendExtraBrowserArgs( | 85 options.AppendExtraBrowserArgs( |
| 86 ['--enable-experimental-web-platform-features', | 86 ['--enable-experimental-web-platform-features', |
| 87 '--disable-gesture-requirement-for-media-playback']) | 87 '--disable-gesture-requirement-for-media-playback']) |
| OLD | NEW |