| OLD | NEW | 
|   1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |   1 # Copyright (c) 2012 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 telemetry.page import page_measurement |   5 from telemetry.page import page_measurement | 
|   6  |   6  | 
|   7  |   7  | 
|   8 class ImageDecoding(page_measurement.PageMeasurement): |   8 class ImageDecoding(page_measurement.PageMeasurement): | 
|   9   def CustomizeBrowserOptions(self, options): |   9   def CustomizeBrowserOptions(self, options): | 
|  10     options.AppendExtraBrowserArgs('--enable-gpu-benchmarking') |  10     options.AppendExtraBrowserArgs('--enable-gpu-benchmarking') | 
|  11  |  11  | 
|  12   def WillNavigateToPage(self, page, tab): |  12   def WillNavigateToPage(self, page, tab): | 
|  13     tab.ExecuteJavaScript(""" |  13     tab.ExecuteJavaScript(""" | 
|  14         if (window.chrome && |  14         if (window.chrome && | 
|  15             chrome.gpuBenchmarking && |  15             chrome.gpuBenchmarking && | 
|  16             chrome.gpuBenchmarking.clearImageCache) { |  16             chrome.gpuBenchmarking.clearImageCache) { | 
|  17           chrome.gpuBenchmarking.clearImageCache(); |  17           chrome.gpuBenchmarking.clearImageCache(); | 
|  18         } |  18         } | 
|  19     """) |  19     """) | 
|  20     tab.StartTimelineRecording() |  20     tab.StartTimelineRecording() | 
|  21  |  21  | 
|  22   def NeedsBrowserRestartAfterEachRun(self, tab): |  22   def NeedsBrowserRestartAfterEachRun(self, browser): | 
|  23     return not tab.ExecuteJavaScript(""" |  23     return not browser.tabs[0].ExecuteJavaScript(""" | 
|  24         window.chrome && |  24         window.chrome && | 
|  25             chrome.gpuBenchmarking && |  25             chrome.gpuBenchmarking && | 
|  26             chrome.gpuBenchmarking.clearImageCache; |  26             chrome.gpuBenchmarking.clearImageCache; | 
|  27     """) |  27     """) | 
|  28  |  28  | 
|  29   def MeasurePage(self, page, tab, results): |  29   def MeasurePage(self, page, tab, results): | 
|  30     tab.StopTimelineRecording() |  30     tab.StopTimelineRecording() | 
|  31     def _IsDone(): |  31     def _IsDone(): | 
|  32       return tab.EvaluateJavaScript('isDone') |  32       return tab.EvaluateJavaScript('isDone') | 
|  33  |  33  | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
|  44       decode_image_events = decode_image_events[-min_iterations:] |  44       decode_image_events = decode_image_events[-min_iterations:] | 
|  45  |  45  | 
|  46     durations = [d.duration for d in decode_image_events] |  46     durations = [d.duration for d in decode_image_events] | 
|  47     if not durations: |  47     if not durations: | 
|  48       results.Add('ImageDecoding_avg', 'ms', 'unsupported') |  48       results.Add('ImageDecoding_avg', 'ms', 'unsupported') | 
|  49       return |  49       return | 
|  50     image_decoding_avg = sum(durations) / len(durations) |  50     image_decoding_avg = sum(durations) / len(durations) | 
|  51     results.Add('ImageDecoding_avg', 'ms', image_decoding_avg) |  51     results.Add('ImageDecoding_avg', 'ms', image_decoding_avg) | 
|  52     results.Add('ImageLoading_avg', 'ms', |  52     results.Add('ImageLoading_avg', 'ms', | 
|  53                 tab.EvaluateJavaScript('averageLoadingTimeMs()')) |  53                 tab.EvaluateJavaScript('averageLoadingTimeMs()')) | 
| OLD | NEW |