summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/loader/fetch/resource_load_timing.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/loader/fetch/resource_load_timing.cc')
-rw-r--r--chromium/third_party/blink/renderer/platform/loader/fetch/resource_load_timing.cc84
1 files changed, 64 insertions, 20 deletions
diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_load_timing.cc b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_load_timing.cc
index 838094ab45a..d09e6c051fb 100644
--- a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_load_timing.cc
+++ b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_load_timing.cc
@@ -4,35 +4,79 @@
#include "third_party/blink/renderer/platform/loader/fetch/resource_load_timing.h"
+#include "services/network/public/mojom/load_timing_info.mojom-blink.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
namespace blink {
-ResourceLoadTiming::ResourceLoadTiming() {}
+ResourceLoadTiming::ResourceLoadTiming() = default;
+
+ResourceLoadTiming::ResourceLoadTiming(base::TimeTicks request_time,
+ base::TimeTicks proxy_start,
+ base::TimeTicks proxy_end,
+ base::TimeTicks dns_start,
+ base::TimeTicks dns_end,
+ base::TimeTicks connect_start,
+ base::TimeTicks connect_end,
+ base::TimeTicks worker_start,
+ base::TimeTicks worker_ready,
+ base::TimeTicks send_start,
+ base::TimeTicks send_end,
+ base::TimeTicks receive_headers_start,
+ base::TimeTicks receive_headers_end,
+ base::TimeTicks ssl_start,
+ base::TimeTicks ssl_end,
+ base::TimeTicks push_start,
+ base::TimeTicks push_end)
+ : request_time_(request_time),
+ proxy_start_(proxy_start),
+ proxy_end_(proxy_end),
+ dns_start_(dns_start),
+ dns_end_(dns_end),
+ connect_start_(connect_start),
+ connect_end_(connect_end),
+ worker_start_(worker_start),
+ worker_ready_(worker_ready),
+ send_start_(send_start),
+ send_end_(send_end),
+ receive_headers_start_(receive_headers_start),
+ receive_headers_end_(receive_headers_end),
+ ssl_start_(ssl_start),
+ ssl_end_(ssl_end),
+ push_start_(push_start),
+ push_end_(push_end) {}
scoped_refptr<ResourceLoadTiming> ResourceLoadTiming::Create() {
return base::AdoptRef(new ResourceLoadTiming);
}
-scoped_refptr<ResourceLoadTiming> ResourceLoadTiming::DeepCopy() {
- scoped_refptr<ResourceLoadTiming> timing = Create();
- timing->request_time_ = request_time_;
- timing->proxy_start_ = proxy_start_;
- timing->proxy_end_ = proxy_end_;
- timing->dns_start_ = dns_start_;
- timing->dns_end_ = dns_end_;
- timing->connect_start_ = connect_start_;
- timing->connect_end_ = connect_end_;
- timing->worker_start_ = worker_start_;
- timing->worker_ready_ = worker_ready_;
- timing->send_start_ = send_start_;
- timing->send_end_ = send_end_;
- timing->receive_headers_start_ = receive_headers_start_;
- timing->receive_headers_end_ = receive_headers_end_;
- timing->ssl_start_ = ssl_start_;
- timing->ssl_end_ = ssl_end_;
- timing->push_start_ = push_start_;
- timing->push_end_ = push_end_;
+scoped_refptr<ResourceLoadTiming> ResourceLoadTiming::FromMojo(
+ const network::mojom::blink::LoadTimingInfo* mojo_timing) {
+ if (!mojo_timing)
+ return ResourceLoadTiming::Create();
+ return base::AdoptRef(new ResourceLoadTiming(
+ mojo_timing->request_start, mojo_timing->proxy_resolve_start,
+ mojo_timing->proxy_resolve_end, mojo_timing->connect_timing->dns_start,
+ mojo_timing->connect_timing->dns_end,
+ mojo_timing->connect_timing->connect_start,
+ mojo_timing->connect_timing->connect_end,
+ mojo_timing->service_worker_start_time,
+ mojo_timing->service_worker_ready_time, mojo_timing->send_start,
+ mojo_timing->send_end, mojo_timing->receive_headers_start,
+ mojo_timing->receive_headers_end, mojo_timing->connect_timing->ssl_start,
+ mojo_timing->connect_timing->ssl_end, mojo_timing->push_start,
+ mojo_timing->push_end));
+}
+
+network::mojom::blink::LoadTimingInfoPtr ResourceLoadTiming::ToMojo() const {
+ network::mojom::blink::LoadTimingInfoPtr timing =
+ network::mojom::blink::LoadTimingInfo::New(
+ false, 0, base::Time(), request_time_, proxy_start_, proxy_end_,
+ network::mojom::blink::LoadTimingInfoConnectTiming::New(
+ dns_start_, dns_end_, connect_start_, connect_end_, ssl_start_,
+ ssl_end_),
+ send_start_, send_end_, receive_headers_start_, receive_headers_end_,
+ push_start_, push_end_, worker_start_, worker_ready_);
return timing;
}