Home | History | Annotate | Download | only in measurements
      1 # Copyright 2013 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 
      5 from metrics import power
      6 from measurements import smoothness_controller
      7 from telemetry.page import page_test
      8 
      9 
     10 class Smoothness(page_test.PageTest):
     11   def __init__(self):
     12     super(Smoothness, self).__init__('RunSmoothness')
     13     self._power_metric = None
     14     self._smoothness_controller = None
     15 
     16   @classmethod
     17   def CustomizeBrowserOptions(cls, options):
     18     options.AppendExtraBrowserArgs('--enable-gpu-benchmarking')
     19     options.AppendExtraBrowserArgs('--touch-events=enabled')
     20     options.AppendExtraBrowserArgs('--running-performance-benchmark')
     21     power.PowerMetric.CustomizeBrowserOptions(options)
     22 
     23   def WillStartBrowser(self, platform):
     24     self._power_metric = power.PowerMetric(platform)
     25 
     26   def WillNavigateToPage(self, page, tab):
     27     self._power_metric.Start(page, tab)
     28     self._smoothness_controller = smoothness_controller.SmoothnessController()
     29     self._smoothness_controller.SetUp(page, tab)
     30 
     31   def WillRunActions(self, page, tab):
     32     self._smoothness_controller.Start(tab)
     33 
     34   def DidRunActions(self, page, tab):
     35     self._power_metric.Stop(page, tab)
     36     self._smoothness_controller.Stop(tab)
     37 
     38   def ValidateAndMeasurePage(self, page, tab, results):
     39     self._power_metric.AddResults(tab, results)
     40     self._smoothness_controller.AddResults(tab, results)
     41 
     42   def CleanUpAfterPage(self, page, tab):
     43     if self._power_metric:
     44       self._power_metric.Stop(page, tab)
     45     if self._smoothness_controller:
     46       self._smoothness_controller.CleanUp(tab)
     47