File: PerformanceNavigationTiming.h

package info (click to toggle)
chromium-browser 57.0.2987.98-1~deb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 2,637,852 kB
  • ctags: 2,544,394
  • sloc: cpp: 12,815,961; ansic: 3,676,222; python: 1,147,112; asm: 526,608; java: 523,212; xml: 286,794; perl: 92,654; sh: 86,408; objc: 73,271; makefile: 27,698; cs: 18,487; yacc: 13,031; tcl: 12,957; pascal: 4,875; ml: 4,716; lex: 3,904; sql: 3,862; ruby: 1,982; lisp: 1,508; php: 1,368; exp: 404; awk: 325; csh: 117; jsp: 39; sed: 37
file content (90 lines) | stat: -rw-r--r-- 3,373 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// Copyright 2016 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.

#ifndef PerformanceNavigationTiming_h
#define PerformanceNavigationTiming_h

#include "core/CoreExport.h"
#include "core/dom/DOMHighResTimeStamp.h"
#include "core/timing/PerformanceResourceTiming.h"

namespace blink {

class CORE_EXPORT PerformanceNavigationTiming final
    : public PerformanceResourceTiming {
  DEFINE_WRAPPERTYPEINFO();

 public:
  enum class NavigationType { Navigate, Reload, BackForward, Prerender };

  PerformanceNavigationTiming(double timeOrigin,
                              const String& requestedUrl,
                              double unloadEventStart,
                              double unloadEventEnd,
                              double loadEventStart,
                              double loadEventEnd,
                              unsigned short redirectCount,
                              double domInteractive,
                              double domContentLoadedEventStart,
                              double domContentLoadedEventEnd,
                              double domComplete,
                              NavigationType,
                              double redirectStart,
                              double redirectEnd,
                              double fetchStart,
                              double responseEnd,
                              bool allowRedirectDetails,
                              bool hasSameOriginAsPreviousDocument,
                              ResourceLoadTiming*,
                              double lastRedirectEndTime,
                              double finishTime,
                              unsigned long long transferSize,
                              unsigned long long encodedBodyLength,
                              unsigned long long decodedBodyLength,
                              bool didReuseConnection);

  DOMHighResTimeStamp unloadEventStart() const;
  DOMHighResTimeStamp unloadEventEnd() const;
  DOMHighResTimeStamp domInteractive() const;
  DOMHighResTimeStamp domContentLoadedEventStart() const;
  DOMHighResTimeStamp domContentLoadedEventEnd() const;
  DOMHighResTimeStamp domComplete() const;
  DOMHighResTimeStamp loadEventStart() const;
  DOMHighResTimeStamp loadEventEnd() const;
  AtomicString type() const;
  unsigned short redirectCount() const;

  // PerformanceResourceTiming overrides:
  DOMHighResTimeStamp fetchStart() const override;
  DOMHighResTimeStamp redirectStart() const override;
  DOMHighResTimeStamp redirectEnd() const override;
  DOMHighResTimeStamp responseEnd() const override;

 protected:
  void buildJSONValue(V8ObjectBuilder&) const override;

 private:
  ~PerformanceNavigationTiming() override;

  double m_timeOrigin;
  double m_unloadEventStart;
  double m_unloadEventEnd;
  double m_loadEventStart;
  double m_loadEventEnd;
  unsigned short m_redirectCount;
  double m_domInteractive;
  double m_domContentLoadedEventStart;
  double m_domContentLoadedEventEnd;
  double m_domComplete;
  NavigationType m_type;
  double m_redirectStart;
  double m_redirectEnd;
  double m_fetchStart;
  double m_responseEnd;
  bool m_allowRedirectDetails;
  bool m_hasSameOriginAsPreviousDocument;
};
}  // namespace blink

#endif  // PerformanceNavigationTiming_h