diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/document.rs | 2 | ||||
-rw-r--r-- | components/script/dom/servoparser/mod.rs | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 4c9fddbeb5e..b26e33a7860 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -3927,7 +3927,7 @@ impl DocumentMethods for Document { return Err(Error::Security); } - if self.get_current_parser().map_or(false, |parser| parser.script_nesting_level() > 0) { + if self.get_current_parser().map_or(false, |parser| parser.is_active()) { // Step 5. return Ok(DomRoot::from_ref(self)); } diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs index b5bbd2e98da..23a128af2cf 100644 --- a/components/script/dom/servoparser/mod.rs +++ b/components/script/dom/servoparser/mod.rs @@ -344,6 +344,11 @@ impl ServoParser { self.document.set_ready_state(DocumentReadyState::Interactive); } + // https://html.spec.whatwg.org/multipage/#active-parser + pub fn is_active(&self) -> bool { + self.script_nesting_level() > 0 && !self.aborted.get() + } + #[allow(unrooted_must_root)] fn new_inherited(document: &Document, tokenizer: Tokenizer, |