Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / tools / perf / measurements / navigate.py
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 telemetry.page import page_measurement
6
7 class NavigateMeasurement(page_measurement.PageMeasurement):
8   """ Measures time between navigation start and the end of the navigate_steps
9
10   For pages where the 'load' event isn't a good measurement point, this
11   measurement allows a page_set to have its loading sequence listed by
12   way of navigate_steps, with a navigation_time result measured
13   by performance.now().
14   """
15   def __init__(self):
16     super(NavigateMeasurement, self).__init__()
17     self._navigate_time = None
18
19   def DidNavigateToPage(self, page, tab):
20     self._navigate_time = int(tab.EvaluateJavaScript('performance.now()'))
21
22   def MeasurePage(self, page, tab, results):
23     results.Add('navigate_time', 'ms', self._navigate_time)