mirror of
https://github.com/servo/servo.git
synced 2025-09-30 00:29:14 +01:00
script: Set correct introductionType
values in more places (#38550)
to use the [SpiderMonkey Debugger API](https://firefox-source-docs.mozilla.org/js/Debugger/) as the single source of truth about scripts and their sources for devtools purposes (servo/servo#38334), we need to keep track of whether scripts come from an actual file or from things like setTimeout(), because for some [introductionType](https://firefox-source-docs.mozilla.org/js/Debugger/Debugger.Source.html#introductiontype) [values](https://firefox-source-docs.mozilla.org/devtools-user/debugger-api/debugger.source/#accessor-properties-of-the-debugger-source-prototype-object), we want to disregard the script unless it has a [`//# sourceURL=` override](https://tc39.es/ecma426/#sec-linking-eval) ([displayURL](https://firefox-source-docs.mozilla.org/js/Debugger/Debugger.Source.html#displayurl)). this patch builds on #38363, setting the correct introductionType value in several more cases. Testing: will undergo many automated tests in #38334 Fixes: part of #36027 --------- Signed-off-by: Delan Azabani <dazabani@igalia.com> Co-authored-by: atbrakhi <atbrakhi@igalia.com>
This commit is contained in:
parent
ff4971012f
commit
6471587fb4
11 changed files with 77 additions and 15 deletions
|
@ -76,7 +76,7 @@ use crate::dom::text::Text;
|
|||
use crate::dom::virtualmethods::vtable_for;
|
||||
use crate::network_listener::PreInvoke;
|
||||
use crate::realms::enter_realm;
|
||||
use crate::script_runtime::CanGc;
|
||||
use crate::script_runtime::{CanGc, IntroductionType};
|
||||
use crate::script_thread::ScriptThread;
|
||||
|
||||
mod async_html;
|
||||
|
@ -682,7 +682,9 @@ impl ServoParser {
|
|||
|
||||
self.script_nesting_level.set(script_nesting_level + 1);
|
||||
script.set_initial_script_text();
|
||||
script.prepare(can_gc);
|
||||
let introduction_type_override =
|
||||
(script_nesting_level > 0).then_some(IntroductionType::INJECTED_SCRIPT);
|
||||
script.prepare(introduction_type_override, can_gc);
|
||||
self.script_nesting_level.set(script_nesting_level);
|
||||
|
||||
if self.document.has_pending_parsing_blocking_script() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue