summaryrefslogtreecommitdiffstats
path: root/tools/perf/benchmarks/service_worker.py
blob: d1664510bf6981c6bc4bc2d6bb47be5458df4c36 (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
# 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.

import page_sets
from telemetry import benchmark
from telemetry.page import page_measurement


class _ServiceWorkerMeasurement(page_measurement.PageMeasurement):
  def CustomizeBrowserOptions(self, options):
    options.AppendExtraBrowserArgs([
        '--enable-experimental-web-platform-features'
      ])

  def MeasurePage(self, _, tab, results):
    tab.WaitForJavaScriptExpression('window.done', 40)
    json = tab.EvaluateJavaScript('window.results')
    for key, value in json.iteritems():
      results.Add(key, value['units'], value['value'])


class ServiceWorkerPerfTest(benchmark.Benchmark):
  test = _ServiceWorkerMeasurement
  page_set = page_sets.ServiceWorkerPageSet