From f28ffaca596712bf4a260a0dc41bf1691baf1dbc Mon Sep 17 00:00:00 2001 From: Gregory Terzian Date: Fri, 22 Nov 2019 14:45:23 +0800 Subject: abort parser before shutting down layout in exit pipeline --- components/script/script_thread.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'components/script/script_thread.rs') diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 5a1a91c9b46..55696c6a389 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -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(); -- cgit v1.2.3