mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Handle case where a page fetch completes after pipeline exits.
This commit is contained in:
parent
decfb0da6e
commit
23b18a8417
1 changed files with 7 additions and 4 deletions
|
@ -1062,12 +1062,15 @@ impl ScriptTask {
|
|||
/// Kick off the document and frame tree creation process using the result.
|
||||
fn handle_page_fetch_complete(&self, id: PipelineId, subpage: Option<SubpageId>,
|
||||
response: LoadResponse) {
|
||||
// Any notification received should refer to an existing, in-progress load that is tracked.
|
||||
let idx = self.incomplete_loads.borrow().iter().position(|load| {
|
||||
load.pipeline_id == id && load.parent_info.map(|info| info.1) == subpage
|
||||
}).unwrap();
|
||||
let load = self.incomplete_loads.borrow_mut().remove(idx);
|
||||
self.load(response, load);
|
||||
});
|
||||
// The matching in progress load structure may not exist if
|
||||
// the pipeline exited before the page load completed.
|
||||
if let Some(idx) = idx {
|
||||
let load = self.incomplete_loads.borrow_mut().remove(idx);
|
||||
self.load(response, load);
|
||||
}
|
||||
}
|
||||
|
||||
/// Handles a request for the window title.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue