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 3 # found in the LICENSE file. 4 # pylint: disable=W0401,W0614 5 from telemetry.page.actions.all_page_actions import * 6 from telemetry.page import page as page_module 7 from telemetry.page import page_set as page_set_module 8 9 10 class ImageDecodingMeasurementPage(page_module.Page): 11 12 def __init__(self, url, page_set): 13 super(ImageDecodingMeasurementPage, self).__init__(url=url, 14 page_set=page_set) 15 self.image_decoding_measurement_limit_results_to_min_iterations = True 16 17 def RunNavigateSteps(self, action_runner): 18 action_runner.NavigateToPage(self) 19 action_runner.ExecuteJavaScript('runBenchmark();') 20 action_runner.WaitForJavaScriptCondition('isDone') 21 22 23 class ImageDecodingMeasurementPageSet(page_set_module.PageSet): 24 25 """ A directed benchmark of image decoding performance """ 26 27 def __init__(self): 28 super(ImageDecodingMeasurementPageSet, self).__init__() 29 self.image_decoding_measurement_limit_results_to_min_iterations = True 30 31 urls_list = [ 32 'file://../../../chrome/test/data/image_decoding/image_decoding.html?gif', 33 'file://../../../chrome/test/data/image_decoding/image_decoding.html?jpg', 34 'file://../../../chrome/test/data/image_decoding/image_decoding.html?png', 35 'file://../../../chrome/test/data/image_decoding/image_decoding.html?webp' 36 ] 37 38 for url in urls_list: 39 self.AddPage(ImageDecodingMeasurementPage(url, self)) 40