# 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)