# Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. from telemetry import multi_page_benchmark from telemetry import util class ImageDecoding(multi_page_benchmark.MultiPageBenchmark): def MeasurePage(self, _, tab, results): def _IsDone(): return tab.runtime.Evaluate('isDone') with tab.timeline.Recorder(tab.timeline): tab.runtime.Execute('runBenchmark()') util.WaitFor(_IsDone, 60) iterations = tab.runtime.Evaluate('minIterations') decode_image = tab.timeline.timeline_events.GetAllOfType('DecodeImage') elapsed_times = [d.elapsed_time for d in decode_image[-iterations:]] if not elapsed_times: results.Add('ImageDecoding_avg', 'ms', 'unsupported') return image_decoding_avg = sum(elapsed_times) / len(elapsed_times) results.Add('ImageDecoding_avg', 'ms', image_decoding_avg)