aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/performanceresourcetiming.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/performanceresourcetiming.rs')
-rw-r--r--components/script/dom/performanceresourcetiming.rs46
1 files changed, 42 insertions, 4 deletions
diff --git a/components/script/dom/performanceresourcetiming.rs b/components/script/dom/performanceresourcetiming.rs
index 5d755240458..7f4785ea4e4 100644
--- a/components/script/dom/performanceresourcetiming.rs
+++ b/components/script/dom/performanceresourcetiming.rs
@@ -50,9 +50,9 @@ pub struct PerformanceResourceTiming {
request_start: f64,
response_start: f64,
response_end: f64,
- // transfer_size: f64, //size in octets
- // encoded_body_size: f64, //size in octets
- // decoded_body_size: f64, //size in octets
+ transfer_size: u64, //size in octets
+ encoded_body_size: u64, //size in octets
+ decoded_body_size: u64, //size in octets
}
// TODO(#21254): startTime
@@ -71,10 +71,15 @@ impl PerformanceResourceTiming {
next_hop: Option<DOMString>,
fetch_start: f64,
) -> PerformanceResourceTiming {
+ let entry_type = if initiator_type == InitiatorType::Navigation {
+ DOMString::from("navigation")
+ } else {
+ DOMString::from("resource")
+ };
PerformanceResourceTiming {
entry: PerformanceEntry::new_inherited(
DOMString::from(url.into_string()),
- DOMString::from("resource"),
+ entry_type,
0.,
0.,
),
@@ -92,6 +97,9 @@ impl PerformanceResourceTiming {
request_start: 0.,
response_start: 0.,
response_end: 0.,
+ transfer_size: 0,
+ encoded_body_size: 0,
+ decoded_body_size: 0,
}
}
@@ -117,13 +125,18 @@ impl PerformanceResourceTiming {
redirect_end: resource_timing.redirect_end as f64,
fetch_start: resource_timing.fetch_start as f64,
domain_lookup_start: resource_timing.domain_lookup_start as f64,
+ //TODO (#21260)
domain_lookup_end: 0.,
connect_start: resource_timing.connect_start as f64,
connect_end: resource_timing.connect_end as f64,
+ // TODO (#21271)
secure_connection_start: 0.,
request_start: resource_timing.request_start as f64,
response_start: resource_timing.response_start as f64,
response_end: resource_timing.response_end as f64,
+ transfer_size: 0,
+ encoded_body_size: 0,
+ decoded_body_size: 0,
}
}
@@ -175,6 +188,31 @@ impl PerformanceResourceTimingMethods for PerformanceResourceTiming {
Finite::wrap(self.domain_lookup_start)
}
+ // https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-domainlookupend
+ fn DomainLookupEnd(&self) -> DOMHighResTimeStamp {
+ Finite::wrap(self.domain_lookup_end)
+ }
+
+ // https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-secureconnectionstart
+ fn SecureConnectionStart(&self) -> DOMHighResTimeStamp {
+ Finite::wrap(self.secure_connection_start)
+ }
+
+ // https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-transfersize
+ fn TransferSize(&self) -> u64 {
+ self.transfer_size
+ }
+
+ // https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-encodedbodysize
+ fn EncodedBodySize(&self) -> u64 {
+ self.encoded_body_size
+ }
+
+ // https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-decodedbodysize
+ fn DecodedBodySize(&self) -> u64 {
+ self.decoded_body_size
+ }
+
// https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-requeststart
fn RequestStart(&self) -> DOMHighResTimeStamp {
Finite::wrap(self.request_start)