diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 21cf43e04ee..752434e1987 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -81,7 +81,7 @@ use crate::script_module::{ ImportMap, ModuleOwner, ScriptFetchOptions, fetch_external_module_script, fetch_inline_module_script, parse_an_import_map_string, register_import_map, }; -use crate::script_runtime::CanGc; +use crate::script_runtime::{CanGc, IntroductionType}; use crate::task_source::{SendableTaskSource, TaskSourceName}; use crate::unminify::{ScriptSource, unminify_js}; @@ -1146,7 +1146,7 @@ impl HTMLScriptElement { // Step 6. let document = self.owner_document(); let old_script = document.GetCurrentScript(); - let introduction_type = (!script.external).then_some(c"inlineScript"); + let introduction_type = (!script.external).then_some(IntroductionType::INLINE_SCRIPT); match script.type_ { ScriptType::Classic => { diff --git a/components/script/script_module.rs b/components/script/script_module.rs index 84b4c390dd7..4328b7e974c 100644 --- a/components/script/script_module.rs +++ b/components/script/script_module.rs @@ -78,7 +78,7 @@ use crate::dom::window::Window; use crate::dom::worker::TrustedWorkerAddress; use crate::network_listener::{self, NetworkListener, PreInvoke, ResourceTimingListener}; use crate::realms::{AlreadyInRealm, InRealm, enter_realm}; -use crate::script_runtime::{CanGc, JSContext as SafeJSContext}; +use crate::script_runtime::{CanGc, IntroductionType, JSContext as SafeJSContext}; use crate::task::TaskBox; fn gen_type_error(global: &GlobalScope, string: String, can_gc: CanGc) -> RethrowError { @@ -1901,7 +1901,7 @@ pub(crate) fn fetch_inline_module_script( compiled_module.handle_mut(), true, can_gc, - Some(c"inlineScript"), + Some(IntroductionType::INLINE_SCRIPT), ); match compiled_module_result { diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index 283aa9329f1..69e6df46e0c 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -9,7 +9,7 @@ use core::ffi::c_char; use std::cell::Cell; -use std::ffi::CString; +use std::ffi::{CStr, CString}; use std::io::{Write, stdout}; use std::ops::Deref; use std::os::raw::c_void; @@ -1194,3 +1194,9 @@ impl Runnable { } pub(crate) use script_bindings::script_runtime::CanGc; + +/// `introductionType` values in SpiderMonkey TransitiveCompileOptions. +pub(crate) struct IntroductionType; +impl IntroductionType { + pub const INLINE_SCRIPT: &'static CStr = c"inlineScript"; +}