Commit 74cc6972 authored by Yoav Weiss's avatar Yoav Weiss Committed by Commit Bot

[Navigation Timing] secureConnectionStart should be non-zero

The value of secureConnectionStart should be non-zero for secure
context navigations. It wasn't. This CL makes sure that it is!

Bug: 977519
Change-Id: Ia12e2842bc061e687512f1ed94d02c07f4dd42ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1672068Reviewed-by: default avatarNicolás Peña Moreno <npm@chromium.org>
Commit-Queue: Yoav Weiss <yoavweiss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#671799}
parent f6315341
...@@ -55,10 +55,12 @@ PerformanceNavigationTiming::PerformanceNavigationTiming( ...@@ -55,10 +55,12 @@ PerformanceNavigationTiming::PerformanceNavigationTiming(
info->FinalResponse().CurrentRequestUrl().GetString()) info->FinalResponse().CurrentRequestUrl().GetString())
: g_empty_atom, : g_empty_atom,
time_origin, time_origin,
SecurityOrigin::IsSecure(frame->GetDocument()->Url()),
server_timing), server_timing),
ContextClient(frame), ContextClient(frame),
resource_timing_info_(info) { resource_timing_info_(info) {
DCHECK(frame); DCHECK(frame);
DCHECK(frame->GetDocument());
DCHECK(info); DCHECK(info);
} }
......
...@@ -81,9 +81,11 @@ PerformanceResourceTiming::PerformanceResourceTiming( ...@@ -81,9 +81,11 @@ PerformanceResourceTiming::PerformanceResourceTiming(
PerformanceResourceTiming::PerformanceResourceTiming( PerformanceResourceTiming::PerformanceResourceTiming(
const AtomicString& name, const AtomicString& name,
base::TimeTicks time_origin, base::TimeTicks time_origin,
bool is_secure_context,
const WebVector<WebServerTimingInfo>& server_timing) const WebVector<WebServerTimingInfo>& server_timing)
: PerformanceEntry(name, 0.0, 0.0), : PerformanceEntry(name, 0.0, 0.0),
time_origin_(time_origin), time_origin_(time_origin),
is_secure_context_(is_secure_context),
server_timing_( server_timing_(
PerformanceServerTiming::FromParsedServerTiming(server_timing)) {} PerformanceServerTiming::FromParsedServerTiming(server_timing)) {}
......
...@@ -53,6 +53,7 @@ class CORE_EXPORT PerformanceResourceTiming : public PerformanceEntry { ...@@ -53,6 +53,7 @@ class CORE_EXPORT PerformanceResourceTiming : public PerformanceEntry {
// Related doc: https://goo.gl/uNecAj. // Related doc: https://goo.gl/uNecAj.
PerformanceResourceTiming(const AtomicString& name, PerformanceResourceTiming(const AtomicString& name,
base::TimeTicks time_origin, base::TimeTicks time_origin,
bool is_secure_context,
const WebVector<WebServerTimingInfo>&); const WebVector<WebServerTimingInfo>&);
PerformanceResourceTiming(const WebResourceTimingInfo&, PerformanceResourceTiming(const WebResourceTimingInfo&,
base::TimeTicks time_origin, base::TimeTicks time_origin,
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>secureConnectionStart non-zero value test</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<h1>Description</h1>
<p>The tests that secureConnectionStart has a non-zero value.</p>
<script>
window.onload = () => {
test(t => {
const entry = performance.getEntriesByType("navigation")[0];
assert_greater_than(entry.secureConnectionStart, 0, "secureConnectionStart is non-zero");
}, "Test that secureConnectionStart is not zero");
};
</script>
</body>
</html>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment