From 1fab2416d7d6036399e3581419252d79a88b8c37 Mon Sep 17 00:00:00 2001 From: Gregory Terzian Date: Thu, 21 Nov 2019 23:55:34 +0800 Subject: abort parser, if any, when pipeline exits --- components/script/script_thread.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'components/script/script_thread.rs') diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index dbc4f0fb444..5a1a91c9b46 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -2876,6 +2876,12 @@ 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 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