summaryrefslogtreecommitdiffstats
path: root/tools/perf/page_sets/image_decoding_measurement.py
blob: 7b8fe61623dbb4041943281ce61b83bb678a8b90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Copyright 2014 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.
# pylint: disable=W0401,W0614
from telemetry.page.actions.all_page_actions import *
from telemetry.page import page as page_module
from telemetry.page import page_set as page_set_module


class ImageDecodingMeasurementPage(page_module.Page):

  def __init__(self, url, page_set):
    super(ImageDecodingMeasurementPage, self).__init__(url=url,
                                                       page_set=page_set)
    self.image_decoding_measurement_limit_results_to_min_iterations = True

  def RunNavigateSteps(self, action_runner):
    action_runner.NavigateToPage(self)
    action_runner.ExecuteJavaScript('runBenchmark();')
    action_runner.RunAction(WaitAction(
      {
        'javascript': 'isDone'
      }))


class ImageDecodingMeasurementPageSet(page_set_module.PageSet):

  """ A directed benchmark of image decoding performance """

  def __init__(self):
    super(ImageDecodingMeasurementPageSet, self).__init__()
    self.image_decoding_measurement_limit_results_to_min_iterations = True

    urls_list = [
      'file://../../../chrome/test/data/image_decoding/image_decoding.html?gif',
      'file://../../../chrome/test/data/image_decoding/image_decoding.html?jpg',
      'file://../../../chrome/test/data/image_decoding/image_decoding.html?png',
      'file://../../../chrome/test/data/image_decoding/image_decoding.html?webp'
    ]

    for url in urls_list:
      self.AddPage(ImageDecodingMeasurementPage(url, self))