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 5import page_sets 6from telemetry import test 7from telemetry.page import page_measurement 8 9 10class _ServiceWorkerMeasurement(page_measurement.PageMeasurement): 11 def CustomizeBrowserOptions(self, options): 12 options.AppendExtraBrowserArgs([ 13 '--enable-experimental-web-platform-features', 14 '--enable-service-worker' 15 ]) 16 17 def MeasurePage(self, _, tab, results): 18 tab.WaitForJavaScriptExpression('window.done', 40) 19 json = tab.EvaluateJavaScript('window.results') 20 for key, value in json.iteritems(): 21 results.Add(key, value['units'], value['value']) 22 23 24class ServiceWorkerPerfTest(test.Test): 25 test = _ServiceWorkerMeasurement 26 page_set = page_sets.ServiceWorkerPageSet 27