# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from metrics import Metric
class LoadingMetric(Metric):
"""A metric for page loading time based entirely on window.performance"""
def Start(self, page, tab):
raise NotImplementedError()
def Stop(self, page, tab):
raise NotImplementedError()
def AddResults(self, tab, results):
load_timings = tab.EvaluateJavaScript('window.performance.timing')
load_time_ms = (
float(load_timings['loadEventStart']) -
load_timings['navigationStart'])
dom_content_loaded_time_ms = (
float(load_timings['domContentLoadedEventStart']) -
load_timings['navigationStart'])
results.Add('load_time', 'ms', load_time_ms)
results.Add('dom_content_loaded_time', 'ms',
dom_content_loaded_time_ms)