1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)import page_sets 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom telemetry import benchmark 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)from telemetry.page import page_test 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom telemetry.value import scalar 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class _ServiceWorkerMeasurement(page_test.PageTest): 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) def CustomizeBrowserOptions(self, options): 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) options.AppendExtraBrowserArgs([ 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch '--enable-experimental-web-platform-features' 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ]) 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) def ValidateAndMeasurePage(self, _, tab, results): 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) tab.WaitForJavaScriptExpression('window.done', 40) 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) json = tab.EvaluateJavaScript('window.results') 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) for key, value in json.iteritems(): 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results.AddValue(scalar.ScalarValue( 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results.current_page, key, value['units'], value['value'])) 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ServiceWorkerPerfTest(benchmark.Benchmark): 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) test = _ServiceWorkerMeasurement 28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.ServiceWorkerPageSet 29