Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix performance interface timing member #25205

Merged

#24468 call update_entry API from process_response_eof

  • Loading branch information
shnmorimoto authored and jdm committed Dec 13, 2019
commit d25d658219d40e306bcd075d17aa33d1cceeb484
@@ -689,6 +689,8 @@ pub struct ParserContext {
url: ServoUrl,
/// timing data for this resource
resource_timing: ResourceFetchTiming,
/// pushed entry index
pushed_entry_index: Option<usize>,
}

impl ParserContext {
@@ -699,6 +701,7 @@ impl ParserContext {
id: id,
url: url,
resource_timing: ResourceFetchTiming::new(ResourceTimingType::Navigation),
pushed_entry_index: None,
}
}
}
@@ -883,8 +886,16 @@ impl FetchResponseListener for ParserContext {
parser.parse_sync();
}

//TODO only submit if this is the current document resource
self.submit_resource_timing();
//TODO only update if this is the current document resource
if let Some(pushed_index) = self.pushed_entry_index {
let document = &parser.document;
let performance_entry =
PerformanceNavigationTiming::new(&document.global(), 0, 0, &document);
document
.global()
.performance()
.update_entry(pushed_index, performance_entry.upcast::<PerformanceEntry>());
}
}

fn resource_timing_mut(&mut self) -> &mut ResourceFetchTiming {
@@ -910,7 +921,7 @@ impl FetchResponseListener for ParserContext {
//TODO nav_start and nav_start_precise
let performance_entry =
PerformanceNavigationTiming::new(&document.global(), 0, 0, &document);
document
self.pushed_entry_index = document
.global()
.performance()
.queue_entry(performance_entry.upcast::<PerformanceEntry>());
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.