Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(441)

Side by Side Diff: third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp

Issue 2472583003: Navigation Timing Level 2 (Closed)
Patch Set: added TAO(timing-allow-origin) check and RA(redirect allow) check Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * Copyright (C) 2012 Intel Inc. All rights reserved. 3 * Copyright (C) 2012 Intel Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // TODO(majidvp): Should return DOMHighResTimeStamp type instead 42 // TODO(majidvp): Should return DOMHighResTimeStamp type instead
43 static double monotonicTimeToDOMHighResTimeStamp(double timeOrigin, 43 static double monotonicTimeToDOMHighResTimeStamp(double timeOrigin,
44 double seconds) { 44 double seconds) {
45 ASSERT(seconds >= 0.0); 45 ASSERT(seconds >= 0.0);
46 if (!seconds || !timeOrigin) 46 if (!seconds || !timeOrigin)
47 return 0.0; 47 return 0.0;
48 return PerformanceBase::clampTimeResolution(seconds - timeOrigin) * 1000.0; 48 return PerformanceBase::clampTimeResolution(seconds - timeOrigin) * 1000.0;
49 } 49 }
50 50
51 PerformanceResourceTiming::PerformanceResourceTiming( 51 PerformanceResourceTiming::PerformanceResourceTiming(
52 const AtomicString& initiatorType,
53 double timeOrigin,
54 ResourceLoadTiming* timing,
55 double lastRedirectEndTime,
56 double finishTime,
57 unsigned long long transferSize,
58 unsigned long long encodedBodyLength,
59 unsigned long long decodedBodyLength,
60 bool didReuseConnection,
61 bool allowTimingDetails,
62 bool allowRedirectDetails,
63 const String& name,
64 const String& entryType,
65 double startTime)
66 : PerformanceEntry(
67 name,
68 entryType,
69 monotonicTimeToDOMHighResTimeStamp(timeOrigin, startTime),
70 monotonicTimeToDOMHighResTimeStamp(timeOrigin, finishTime)),
71 m_initiatorType(initiatorType),
72 m_timeOrigin(timeOrigin),
73 m_timing(timing),
74 m_lastRedirectEndTime(lastRedirectEndTime),
75 m_finishTime(finishTime),
76 m_transferSize(transferSize),
77 m_encodedBodySize(encodedBodyLength),
78 m_decodedBodySize(decodedBodyLength),
79 m_didReuseConnection(didReuseConnection),
80 m_allowTimingDetails(allowTimingDetails),
81 m_allowRedirectDetails(allowRedirectDetails) {}
82
83 PerformanceResourceTiming::PerformanceResourceTiming(
52 const ResourceTimingInfo& info, 84 const ResourceTimingInfo& info,
53 double timeOrigin, 85 double timeOrigin,
54 double startTime, 86 double startTime,
55 double lastRedirectEndTime, 87 double lastRedirectEndTime,
56 bool allowTimingDetails, 88 bool allowTimingDetails,
57 bool allowRedirectDetails) 89 bool allowRedirectDetails)
58 : PerformanceEntry( 90 : PerformanceResourceTiming(info.initiatorType(),
59 info.initialURL().getString(), 91 timeOrigin,
60 "resource", 92 info.finalResponse().resourceLoadTiming(),
61 monotonicTimeToDOMHighResTimeStamp(timeOrigin, startTime), 93 lastRedirectEndTime,
62 monotonicTimeToDOMHighResTimeStamp(timeOrigin, 94 info.loadFinishTime(),
63 info.loadFinishTime())), 95 info.transferSize(),
64 m_initiatorType(info.initiatorType()), 96 info.finalResponse().encodedBodyLength(),
65 m_timeOrigin(timeOrigin), 97 info.finalResponse().decodedBodyLength(),
66 m_timing(info.finalResponse().resourceLoadTiming()), 98 info.finalResponse().connectionReused(),
67 m_lastRedirectEndTime(lastRedirectEndTime), 99 allowTimingDetails,
68 m_finishTime(info.loadFinishTime()), 100 allowRedirectDetails,
69 m_transferSize(info.transferSize()), 101 info.initialURL().getString(),
70 m_encodedBodySize(info.finalResponse().encodedBodyLength()), 102 "resource",
71 m_decodedBodySize(info.finalResponse().decodedBodyLength()), 103 startTime) {}
72 m_didReuseConnection(info.finalResponse().connectionReused()),
73 m_allowTimingDetails(allowTimingDetails),
74 m_allowRedirectDetails(allowRedirectDetails) {}
75 104
76 PerformanceResourceTiming::~PerformanceResourceTiming() {} 105 PerformanceResourceTiming::~PerformanceResourceTiming() {}
77 106
78 AtomicString PerformanceResourceTiming::initiatorType() const { 107 AtomicString PerformanceResourceTiming::initiatorType() const {
79 return m_initiatorType; 108 return m_initiatorType;
80 } 109 }
81 110
82 double PerformanceResourceTiming::workerStart() const { 111 double PerformanceResourceTiming::workerStart() const {
83 if (!m_timing || m_timing->workerStart() == 0.0) 112 if (!m_timing || m_timing->workerStart() == 0.0)
84 return 0.0; 113 return 0.0;
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 builder.addNumber("secureConnectionStart", secureConnectionStart()); 282 builder.addNumber("secureConnectionStart", secureConnectionStart());
254 builder.addNumber("requestStart", requestStart()); 283 builder.addNumber("requestStart", requestStart());
255 builder.addNumber("responseStart", responseStart()); 284 builder.addNumber("responseStart", responseStart());
256 builder.addNumber("responseEnd", responseEnd()); 285 builder.addNumber("responseEnd", responseEnd());
257 builder.addNumber("transferSize", transferSize()); 286 builder.addNumber("transferSize", transferSize());
258 builder.addNumber("encodedBodySize", encodedBodySize()); 287 builder.addNumber("encodedBodySize", encodedBodySize());
259 builder.addNumber("decodedBodySize", decodedBodySize()); 288 builder.addNumber("decodedBodySize", decodedBodySize());
260 } 289 }
261 290
262 } // namespace blink 291 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698