mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Don't run scripts in documents that don't have a browsing context (#35871)
* Don't run scripts in document that don't have a browsing context For confirmation that this is correct, refer to the note under Step 3 of https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring. Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Update WPT expectations Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
parent
1200617683
commit
ccd4b113a8
4 changed files with 8 additions and 3 deletions
|
@ -267,6 +267,7 @@ impl Tokenizer {
|
|||
// Create new thread for HtmlTokenizer. This is where parser actions
|
||||
// will be generated from the input provided. These parser actions are then passed
|
||||
// onto the main thread to be executed.
|
||||
let scripting_enabled = document.has_browsing_context();
|
||||
thread::Builder::new()
|
||||
.name(format!("Parse:{}", tokenizer.url.debug_compact()))
|
||||
.spawn(move || {
|
||||
|
@ -277,6 +278,7 @@ impl Tokenizer {
|
|||
form_parse_node,
|
||||
to_tokenizer_sender,
|
||||
html_tokenizer_receiver,
|
||||
scripting_enabled,
|
||||
);
|
||||
})
|
||||
.expect("HTML Parser thread spawning failed");
|
||||
|
@ -573,9 +575,11 @@ fn run(
|
|||
form_parse_node: Option<ParseNode>,
|
||||
sender: Sender<ToTokenizerMsg>,
|
||||
receiver: Receiver<ToHtmlTokenizerMsg>,
|
||||
scripting_enabled: bool,
|
||||
) {
|
||||
let options = TreeBuilderOpts {
|
||||
ignore_missing_rules: true,
|
||||
scripting_enabled,
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue