| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import collections | 5 import collections |
| 6 import page_sets | 6 import page_sets |
| 7 import re | 7 import re |
| 8 | 8 |
| 9 from core import perf_benchmark | 9 from core import perf_benchmark |
| 10 | 10 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 | 151 |
| 152 def ValidateAndMeasurePage(self, page, tab, results): | 152 def ValidateAndMeasurePage(self, page, tab, results): |
| 153 del page # unused | 153 del page # unused |
| 154 tab.WaitForJavaScriptCondition('window.done', timeout=40) | 154 tab.WaitForJavaScriptCondition('window.done', timeout=40) |
| 155 json = tab.EvaluateJavaScript('window.results || {}') | 155 json = tab.EvaluateJavaScript('window.results || {}') |
| 156 for key, value in json.iteritems(): | 156 for key, value in json.iteritems(): |
| 157 results.AddValue(scalar.ScalarValue( | 157 results.AddValue(scalar.ScalarValue( |
| 158 results.current_page, key, value['units'], value['value'])) | 158 results.current_page, key, value['units'], value['value'])) |
| 159 | 159 |
| 160 | 160 |
| 161 @benchmark.Owner(emails=['horo@chromium.org']) |
| 161 class ServiceWorkerPerfTest(perf_benchmark.PerfBenchmark): | 162 class ServiceWorkerPerfTest(perf_benchmark.PerfBenchmark): |
| 162 """Performance test of pages using ServiceWorker. | 163 """Performance test of pages using ServiceWorker. |
| 163 | 164 |
| 164 The page set contains pages like Trained to Thrill and svgomg. | 165 The page set contains pages like Trained to Thrill and svgomg. |
| 165 Execution time of these pages will be shown as Speed Index, and TRACE_EVENTs | 166 Execution time of these pages will be shown as Speed Index, and TRACE_EVENTs |
| 166 are subsidiary information to understand performance regressions in more | 167 are subsidiary information to understand performance regressions in more |
| 167 detail. | 168 detail. |
| 168 """ | 169 """ |
| 169 test = _ServiceWorkerMeasurement | 170 test = _ServiceWorkerMeasurement |
| 170 page_set = page_sets.ServiceWorkerPageSet | 171 page_set = page_sets.ServiceWorkerPageSet |
| 171 | 172 |
| 172 @classmethod | 173 @classmethod |
| 173 def Name(cls): | 174 def Name(cls): |
| 174 return 'service_worker.service_worker' | 175 return 'service_worker.service_worker' |
| 175 | 176 |
| 176 | 177 |
| 177 @benchmark.Disabled('android-webview') # http://crbug.com/653924 | 178 @benchmark.Disabled('android-webview') # http://crbug.com/653924 |
| 179 @benchmark.Owner(emails=['horo@chromium.org']) |
| 178 class ServiceWorkerMicroBenchmarkPerfTest(perf_benchmark.PerfBenchmark): | 180 class ServiceWorkerMicroBenchmarkPerfTest(perf_benchmark.PerfBenchmark): |
| 179 """This test is a microbenchmark of service worker. | 181 """This test is a microbenchmark of service worker. |
| 180 | 182 |
| 181 The page set is a benchmark page that generates many concurrent requests | 183 The page set is a benchmark page that generates many concurrent requests |
| 182 handled by a service worker that does respondWith(new Response()). The test | 184 handled by a service worker that does respondWith(new Response()). The test |
| 183 result is the response times. | 185 result is the response times. |
| 184 """ | 186 """ |
| 185 test = _ServiceWorkerMicroBenchmarkMeasurement | 187 test = _ServiceWorkerMicroBenchmarkMeasurement |
| 186 page_set = page_sets.ServiceWorkerMicroBenchmarkPageSet | 188 page_set = page_sets.ServiceWorkerMicroBenchmarkPageSet |
| 187 | 189 |
| 188 @classmethod | 190 @classmethod |
| 189 def Name(cls): | 191 def Name(cls): |
| 190 return 'service_worker.service_worker_micro_benchmark' | 192 return 'service_worker.service_worker_micro_benchmark' |
| 191 | 193 |
| 192 @classmethod | 194 @classmethod |
| 193 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 | 195 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 |
| 194 return (possible_browser.browser_type == 'reference' and | 196 return (possible_browser.browser_type == 'reference' and |
| 195 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 197 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
| OLD | NEW |