abort parser before shutting down layout in exit pipeline

This commit is contained in:
Gregory Terzian 2019-11-22 14:45:23 +08:00
parent 1fab2416d7
commit f28ffaca59

View file

@ -2840,6 +2840,14 @@ impl ScriptThread {
let document = self.documents.borrow_mut().remove(id);
// Abort the parser, if any,
// to prevent any further incoming networking messages from being handled.
if let Some(document) = document.as_ref() {
if let Some(parser) = document.get_current_parser() {
parser.abort();
}
}
// We should never have a pipeline that's still an incomplete load,
// but also has a Document.
debug_assert!(idx.is_none() || document.is_none());
@ -2876,12 +2884,6 @@ impl ScriptThread {
}
}
// Abort the parser, if any,
// to prevent any further incoming networking messages from being handled.
if let Some(parser) = document.get_current_parser() {
parser.abort();
}
// We discard the browsing context after requesting layout shut down,
// to avoid running layout on detached iframes.
let window = document.window();