普通文本  |  27行  |  911 B

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