Commit 2053004c authored by Nicolas Pena's avatar Nicolas Pena Committed by Commit Bot

Use TimeTicks in WebURLLoadTiming

Change-Id: I8a7183bbd848f22a17888b60ed4475a87a64ec3d
Reviewed-on: https://chromium-review.googlesource.com/1040776
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: default avatarPavel Feldman <pfeldman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556451}
parent e2cf7974
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <vector> #include <vector>
#include "base/optional.h" #include "base/optional.h"
#include "base/time/time.h"
namespace content { namespace content {
...@@ -36,22 +37,22 @@ struct ResourceLoadTiming { ...@@ -36,22 +37,22 @@ struct ResourceLoadTiming {
ResourceLoadTiming(const ResourceLoadTiming&); ResourceLoadTiming(const ResourceLoadTiming&);
~ResourceLoadTiming(); ~ResourceLoadTiming();
double request_time = 0.0; base::TimeTicks request_time;
double proxy_start = 0.0; base::TimeTicks proxy_start;
double proxy_end = 0.0; base::TimeTicks proxy_end;
double dns_start = 0.0; base::TimeTicks dns_start;
double dns_end = 0.0; base::TimeTicks dns_end;
double connect_start = 0.0; base::TimeTicks connect_start;
double connect_end = 0.0; base::TimeTicks connect_end;
double worker_start = 0.0; base::TimeTicks worker_start;
double worker_ready = 0.0; base::TimeTicks worker_ready;
double send_start = 0.0; base::TimeTicks send_start;
double send_end = 0.0; base::TimeTicks send_end;
double receive_headers_end = 0.0; base::TimeTicks receive_headers_end;
double ssl_start = 0.0; base::TimeTicks ssl_start;
double ssl_end = 0.0; base::TimeTicks ssl_end;
double push_start = 0.0; base::TimeTicks push_start;
double push_end = 0.0; base::TimeTicks push_end;
}; };
// TODO(dcheng): Migrate this struct over to Mojo so it doesn't need to be // TODO(dcheng): Migrate this struct over to Mojo so it doesn't need to be
......
...@@ -142,32 +142,21 @@ void PopulateURLLoadTiming(const net::LoadTimingInfo& load_timing, ...@@ -142,32 +142,21 @@ void PopulateURLLoadTiming(const net::LoadTimingInfo& load_timing,
WebURLLoadTiming* url_timing) { WebURLLoadTiming* url_timing) {
DCHECK(!load_timing.request_start.is_null()); DCHECK(!load_timing.request_start.is_null());
const TimeTicks kNullTicks;
url_timing->Initialize(); url_timing->Initialize();
url_timing->SetRequestTime( url_timing->SetRequestTime(load_timing.request_start);
(load_timing.request_start - kNullTicks).InSecondsF()); url_timing->SetProxyStart(load_timing.proxy_resolve_start);
url_timing->SetProxyStart( url_timing->SetProxyEnd(load_timing.proxy_resolve_end);
(load_timing.proxy_resolve_start - kNullTicks).InSecondsF()); url_timing->SetDNSStart(load_timing.connect_timing.dns_start);
url_timing->SetProxyEnd( url_timing->SetDNSEnd(load_timing.connect_timing.dns_end);
(load_timing.proxy_resolve_end - kNullTicks).InSecondsF()); url_timing->SetConnectStart(load_timing.connect_timing.connect_start);
url_timing->SetDNSStart( url_timing->SetConnectEnd(load_timing.connect_timing.connect_end);
(load_timing.connect_timing.dns_start - kNullTicks).InSecondsF()); url_timing->SetSSLStart(load_timing.connect_timing.ssl_start);
url_timing->SetDNSEnd( url_timing->SetSSLEnd(load_timing.connect_timing.ssl_end);
(load_timing.connect_timing.dns_end - kNullTicks).InSecondsF()); url_timing->SetSendStart(load_timing.send_start);
url_timing->SetConnectStart( url_timing->SetSendEnd(load_timing.send_end);
(load_timing.connect_timing.connect_start - kNullTicks).InSecondsF()); url_timing->SetReceiveHeadersEnd(load_timing.receive_headers_end);
url_timing->SetConnectEnd( url_timing->SetPushStart(load_timing.push_start);
(load_timing.connect_timing.connect_end - kNullTicks).InSecondsF()); url_timing->SetPushEnd(load_timing.push_end);
url_timing->SetSSLStart(
(load_timing.connect_timing.ssl_start - kNullTicks).InSecondsF());
url_timing->SetSSLEnd(
(load_timing.connect_timing.ssl_end - kNullTicks).InSecondsF());
url_timing->SetSendStart((load_timing.send_start - kNullTicks).InSecondsF());
url_timing->SetSendEnd((load_timing.send_end - kNullTicks).InSecondsF());
url_timing->SetReceiveHeadersEnd(
(load_timing.receive_headers_end - kNullTicks).InSecondsF());
url_timing->SetPushStart((load_timing.push_start - kNullTicks).InSecondsF());
url_timing->SetPushEnd((load_timing.push_end - kNullTicks).InSecondsF());
} }
net::RequestPriority ConvertWebKitPriorityToNetPriority( net::RequestPriority ConvertWebKitPriorityToNetPriority(
...@@ -1237,11 +1226,8 @@ void WebURLLoaderImpl::PopulateURLResponse( ...@@ -1237,11 +1226,8 @@ void WebURLLoaderImpl::PopulateURLResponse(
if (!info.load_timing.receive_headers_end.is_null()) { if (!info.load_timing.receive_headers_end.is_null()) {
WebURLLoadTiming timing; WebURLLoadTiming timing;
PopulateURLLoadTiming(info.load_timing, &timing); PopulateURLLoadTiming(info.load_timing, &timing);
const TimeTicks kNullTicks; timing.SetWorkerStart(info.service_worker_start_time);
timing.SetWorkerStart( timing.SetWorkerReady(info.service_worker_ready_time);
(info.service_worker_start_time - kNullTicks).InSecondsF());
timing.SetWorkerReady(
(info.service_worker_ready_time - kNullTicks).InSecondsF());
response->SetLoadTiming(timing); response->SetLoadTiming(timing);
} }
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_URL_LOAD_TIMING_H_ #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_URL_LOAD_TIMING_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_URL_LOAD_TIMING_H_ #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_URL_LOAD_TIMING_H_
#include "base/time/time.h"
#include "third_party/blink/public/platform/web_common.h" #include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/public/platform/web_private_ptr.h" #include "third_party/blink/public/platform/web_private_ptr.h"
...@@ -62,53 +63,53 @@ class WebURLLoadTiming { ...@@ -62,53 +63,53 @@ class WebURLLoadTiming {
bool IsNull() const { return private_.IsNull(); } bool IsNull() const { return private_.IsNull(); }
BLINK_PLATFORM_EXPORT double RequestTime() const; BLINK_PLATFORM_EXPORT base::TimeTicks RequestTime() const;
BLINK_PLATFORM_EXPORT void SetRequestTime(double); BLINK_PLATFORM_EXPORT void SetRequestTime(base::TimeTicks);
BLINK_PLATFORM_EXPORT double ProxyStart() const; BLINK_PLATFORM_EXPORT base::TimeTicks ProxyStart() const;
BLINK_PLATFORM_EXPORT void SetProxyStart(double); BLINK_PLATFORM_EXPORT void SetProxyStart(base::TimeTicks);
BLINK_PLATFORM_EXPORT double ProxyEnd() const; BLINK_PLATFORM_EXPORT base::TimeTicks ProxyEnd() const;
BLINK_PLATFORM_EXPORT void SetProxyEnd(double); BLINK_PLATFORM_EXPORT void SetProxyEnd(base::TimeTicks);
BLINK_PLATFORM_EXPORT double DnsStart() const; BLINK_PLATFORM_EXPORT base::TimeTicks DnsStart() const;
BLINK_PLATFORM_EXPORT void SetDNSStart(double); BLINK_PLATFORM_EXPORT void SetDNSStart(base::TimeTicks);
BLINK_PLATFORM_EXPORT double DnsEnd() const; BLINK_PLATFORM_EXPORT base::TimeTicks DnsEnd() const;
BLINK_PLATFORM_EXPORT void SetDNSEnd(double); BLINK_PLATFORM_EXPORT void SetDNSEnd(base::TimeTicks);
BLINK_PLATFORM_EXPORT double ConnectStart() const; BLINK_PLATFORM_EXPORT base::TimeTicks ConnectStart() const;
BLINK_PLATFORM_EXPORT void SetConnectStart(double); BLINK_PLATFORM_EXPORT void SetConnectStart(base::TimeTicks);
BLINK_PLATFORM_EXPORT double ConnectEnd() const; BLINK_PLATFORM_EXPORT base::TimeTicks ConnectEnd() const;
BLINK_PLATFORM_EXPORT void SetConnectEnd(double); BLINK_PLATFORM_EXPORT void SetConnectEnd(base::TimeTicks);
BLINK_PLATFORM_EXPORT double WorkerStart() const; BLINK_PLATFORM_EXPORT base::TimeTicks WorkerStart() const;
BLINK_PLATFORM_EXPORT void SetWorkerStart(double); BLINK_PLATFORM_EXPORT void SetWorkerStart(base::TimeTicks);
BLINK_PLATFORM_EXPORT double WorkerReady() const; BLINK_PLATFORM_EXPORT base::TimeTicks WorkerReady() const;
BLINK_PLATFORM_EXPORT void SetWorkerReady(double); BLINK_PLATFORM_EXPORT void SetWorkerReady(base::TimeTicks);
BLINK_PLATFORM_EXPORT double SendStart() const; BLINK_PLATFORM_EXPORT base::TimeTicks SendStart() const;
BLINK_PLATFORM_EXPORT void SetSendStart(double); BLINK_PLATFORM_EXPORT void SetSendStart(base::TimeTicks);
BLINK_PLATFORM_EXPORT double SendEnd() const; BLINK_PLATFORM_EXPORT base::TimeTicks SendEnd() const;
BLINK_PLATFORM_EXPORT void SetSendEnd(double); BLINK_PLATFORM_EXPORT void SetSendEnd(base::TimeTicks);
BLINK_PLATFORM_EXPORT double ReceiveHeadersEnd() const; BLINK_PLATFORM_EXPORT base::TimeTicks ReceiveHeadersEnd() const;
BLINK_PLATFORM_EXPORT void SetReceiveHeadersEnd(double); BLINK_PLATFORM_EXPORT void SetReceiveHeadersEnd(base::TimeTicks);
BLINK_PLATFORM_EXPORT double SslStart() const; BLINK_PLATFORM_EXPORT base::TimeTicks SslStart() const;
BLINK_PLATFORM_EXPORT void SetSSLStart(double); BLINK_PLATFORM_EXPORT void SetSSLStart(base::TimeTicks);
BLINK_PLATFORM_EXPORT double SslEnd() const; BLINK_PLATFORM_EXPORT base::TimeTicks SslEnd() const;
BLINK_PLATFORM_EXPORT void SetSSLEnd(double); BLINK_PLATFORM_EXPORT void SetSSLEnd(base::TimeTicks);
BLINK_PLATFORM_EXPORT double PushStart() const; BLINK_PLATFORM_EXPORT base::TimeTicks PushStart() const;
BLINK_PLATFORM_EXPORT void SetPushStart(double); BLINK_PLATFORM_EXPORT void SetPushStart(base::TimeTicks);
BLINK_PLATFORM_EXPORT double PushEnd() const; BLINK_PLATFORM_EXPORT base::TimeTicks PushEnd() const;
BLINK_PLATFORM_EXPORT void SetPushEnd(double); BLINK_PLATFORM_EXPORT void SetPushEnd(base::TimeTicks);
#if INSIDE_BLINK #if INSIDE_BLINK
BLINK_PLATFORM_EXPORT WebURLLoadTiming(scoped_refptr<ResourceLoadTiming>); BLINK_PLATFORM_EXPORT WebURLLoadTiming(scoped_refptr<ResourceLoadTiming>);
......
...@@ -47,148 +47,132 @@ void WebURLLoadTiming::Assign(const WebURLLoadTiming& other) { ...@@ -47,148 +47,132 @@ void WebURLLoadTiming::Assign(const WebURLLoadTiming& other) {
private_ = other.private_; private_ = other.private_;
} }
double WebURLLoadTiming::RequestTime() const { base::TimeTicks WebURLLoadTiming::RequestTime() const {
return TimeTicksInSeconds(private_->RequestTime()); return private_->RequestTime();
} }
void WebURLLoadTiming::SetRequestTime(double time) { void WebURLLoadTiming::SetRequestTime(base::TimeTicks time) {
DCHECK_GE(time, 0.0); private_->SetRequestTime(time);
private_->SetRequestTime(TimeTicksFromSeconds(time));
} }
double WebURLLoadTiming::ProxyStart() const { base::TimeTicks WebURLLoadTiming::ProxyStart() const {
return TimeTicksInSeconds(private_->ProxyStart()); return private_->ProxyStart();
} }
void WebURLLoadTiming::SetProxyStart(double start) { void WebURLLoadTiming::SetProxyStart(base::TimeTicks start) {
DCHECK_GE(start, 0.0); private_->SetProxyStart(start);
private_->SetProxyStart(TimeTicksFromSeconds(start));
} }
double WebURLLoadTiming::ProxyEnd() const { base::TimeTicks WebURLLoadTiming::ProxyEnd() const {
return TimeTicksInSeconds(private_->ProxyEnd()); return private_->ProxyEnd();
} }
void WebURLLoadTiming::SetProxyEnd(double end) { void WebURLLoadTiming::SetProxyEnd(base::TimeTicks end) {
DCHECK_GE(end, 0.0); private_->SetProxyEnd(end);
private_->SetProxyEnd(TimeTicksFromSeconds(end));
} }
double WebURLLoadTiming::DnsStart() const { base::TimeTicks WebURLLoadTiming::DnsStart() const {
return TimeTicksInSeconds(private_->DnsStart()); return private_->DnsStart();
} }
void WebURLLoadTiming::SetDNSStart(double start) { void WebURLLoadTiming::SetDNSStart(base::TimeTicks start) {
DCHECK_GE(start, 0.0); private_->SetDnsStart(start);
private_->SetDnsStart(TimeTicksFromSeconds(start));
} }
double WebURLLoadTiming::DnsEnd() const { base::TimeTicks WebURLLoadTiming::DnsEnd() const {
return TimeTicksInSeconds(private_->DnsEnd()); return private_->DnsEnd();
} }
void WebURLLoadTiming::SetDNSEnd(double end) { void WebURLLoadTiming::SetDNSEnd(base::TimeTicks end) {
DCHECK_GE(end, 0.0); private_->SetDnsEnd(end);
private_->SetDnsEnd(TimeTicksFromSeconds(end));
} }
double WebURLLoadTiming::ConnectStart() const { base::TimeTicks WebURLLoadTiming::ConnectStart() const {
return TimeTicksInSeconds(private_->ConnectStart()); return private_->ConnectStart();
} }
void WebURLLoadTiming::SetConnectStart(double start) { void WebURLLoadTiming::SetConnectStart(base::TimeTicks start) {
DCHECK_GE(start, 0.0); private_->SetConnectStart(start);
private_->SetConnectStart(TimeTicksFromSeconds(start));
} }
double WebURLLoadTiming::ConnectEnd() const { base::TimeTicks WebURLLoadTiming::ConnectEnd() const {
return TimeTicksInSeconds(private_->ConnectEnd()); return private_->ConnectEnd();
} }
void WebURLLoadTiming::SetConnectEnd(double end) { void WebURLLoadTiming::SetConnectEnd(base::TimeTicks end) {
DCHECK_GE(end, 0.0); private_->SetConnectEnd(end);
private_->SetConnectEnd(TimeTicksFromSeconds(end));
} }
double WebURLLoadTiming::WorkerStart() const { base::TimeTicks WebURLLoadTiming::WorkerStart() const {
return TimeTicksInSeconds(private_->WorkerStart()); return private_->WorkerStart();
} }
void WebURLLoadTiming::SetWorkerStart(double start) { void WebURLLoadTiming::SetWorkerStart(base::TimeTicks start) {
DCHECK_GE(start, 0.0); private_->SetWorkerStart(start);
private_->SetWorkerStart(TimeTicksFromSeconds(start));
} }
double WebURLLoadTiming::WorkerReady() const { base::TimeTicks WebURLLoadTiming::WorkerReady() const {
return TimeTicksInSeconds(private_->WorkerReady()); return private_->WorkerReady();
} }
void WebURLLoadTiming::SetWorkerReady(double ready) { void WebURLLoadTiming::SetWorkerReady(base::TimeTicks ready) {
DCHECK_GE(ready, 0.0); private_->SetWorkerReady(ready);
private_->SetWorkerReady(TimeTicksFromSeconds(ready));
} }
double WebURLLoadTiming::SendStart() const { base::TimeTicks WebURLLoadTiming::SendStart() const {
return TimeTicksInSeconds(private_->SendStart()); return private_->SendStart();
} }
void WebURLLoadTiming::SetSendStart(double start) { void WebURLLoadTiming::SetSendStart(base::TimeTicks start) {
DCHECK_GE(start, 0.0); private_->SetSendStart(start);
private_->SetSendStart(TimeTicksFromSeconds(start));
} }
double WebURLLoadTiming::SendEnd() const { base::TimeTicks WebURLLoadTiming::SendEnd() const {
return TimeTicksInSeconds(private_->SendEnd()); return private_->SendEnd();
} }
void WebURLLoadTiming::SetSendEnd(double end) { void WebURLLoadTiming::SetSendEnd(base::TimeTicks end) {
DCHECK_GE(end, 0.0); private_->SetSendEnd(end);
private_->SetSendEnd(TimeTicksFromSeconds(end));
} }
double WebURLLoadTiming::ReceiveHeadersEnd() const { base::TimeTicks WebURLLoadTiming::ReceiveHeadersEnd() const {
return TimeTicksInSeconds(private_->ReceiveHeadersEnd()); return private_->ReceiveHeadersEnd();
} }
void WebURLLoadTiming::SetReceiveHeadersEnd(double end) { void WebURLLoadTiming::SetReceiveHeadersEnd(base::TimeTicks end) {
DCHECK_GE(end, 0.0); private_->SetReceiveHeadersEnd(end);
private_->SetReceiveHeadersEnd(TimeTicksFromSeconds(end));
} }
double WebURLLoadTiming::SslStart() const { base::TimeTicks WebURLLoadTiming::SslStart() const {
return TimeTicksInSeconds(private_->SslStart()); return private_->SslStart();
} }
void WebURLLoadTiming::SetSSLStart(double start) { void WebURLLoadTiming::SetSSLStart(base::TimeTicks start) {
DCHECK_GE(start, 0.0); private_->SetSslStart(start);
private_->SetSslStart(TimeTicksFromSeconds(start));
} }
double WebURLLoadTiming::SslEnd() const { base::TimeTicks WebURLLoadTiming::SslEnd() const {
return TimeTicksInSeconds(private_->SslEnd()); return private_->SslEnd();
} }
void WebURLLoadTiming::SetSSLEnd(double end) { void WebURLLoadTiming::SetSSLEnd(base::TimeTicks end) {
DCHECK_GE(end, 0.0); private_->SetSslEnd(end);
private_->SetSslEnd(TimeTicksFromSeconds(end));
} }
double WebURLLoadTiming::PushStart() const { base::TimeTicks WebURLLoadTiming::PushStart() const {
return TimeTicksInSeconds(private_->PushStart()); return private_->PushStart();
} }
void WebURLLoadTiming::SetPushStart(double start) { void WebURLLoadTiming::SetPushStart(base::TimeTicks start) {
DCHECK_GE(start, 0.0); private_->SetPushStart(start);
private_->SetPushStart(TimeTicksFromSeconds(start));
} }
double WebURLLoadTiming::PushEnd() const { base::TimeTicks WebURLLoadTiming::PushEnd() const {
return TimeTicksInSeconds(private_->PushEnd()); return private_->PushEnd();
} }
void WebURLLoadTiming::SetPushEnd(double end) { void WebURLLoadTiming::SetPushEnd(base::TimeTicks end) {
DCHECK_GE(end, 0.0); private_->SetPushEnd(end);
private_->SetPushEnd(TimeTicksFromSeconds(end));
} }
WebURLLoadTiming::WebURLLoadTiming(scoped_refptr<ResourceLoadTiming> value) WebURLLoadTiming::WebURLLoadTiming(scoped_refptr<ResourceLoadTiming> value)
......
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