aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlscriptelement.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/htmlscriptelement.rs')
-rw-r--r--components/script/dom/htmlscriptelement.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs
index bc1e69b525f..fcbf4ebc330 100644
--- a/components/script/dom/htmlscriptelement.rs
+++ b/components/script/dom/htmlscriptelement.rs
@@ -125,6 +125,7 @@ static SCRIPT_JS_MIMES: StaticStringVec = &[
"text/x-javascript",
];
+#[derive(JSTraceable, MallocSizeOf)]
pub enum ScriptType {
Classic,
Module,
@@ -135,22 +136,25 @@ pub struct ScriptOrigin {
text: DOMString,
url: ServoUrl,
external: bool,
+ type_: ScriptType,
}
impl ScriptOrigin {
- fn internal(text: DOMString, url: ServoUrl) -> ScriptOrigin {
+ fn internal(text: DOMString, url: ServoUrl, type_: ScriptType) -> ScriptOrigin {
ScriptOrigin {
text: text,
url: url,
external: false,
+ type_,
}
}
- fn external(text: DOMString, url: ServoUrl) -> ScriptOrigin {
+ fn external(text: DOMString, url: ServoUrl, type_: ScriptType) -> ScriptOrigin {
ScriptOrigin {
text: text,
url: url,
external: true,
+ type_,
}
}
}
@@ -231,7 +235,11 @@ impl FetchResponseListener for ClassicContext {
// Step 7.
let (source_text, _, _) = encoding.decode(&self.data);
- ScriptOrigin::external(DOMString::from(source_text), metadata.final_url)
+ ScriptOrigin::external(
+ DOMString::from(source_text),
+ metadata.final_url,
+ ScriptType::Classic,
+ )
});
// Step 9.
@@ -526,7 +534,7 @@ impl HTMLScriptElement {
// Step 25.
assert!(!text.is_empty());
// Step 25-1.
- let result = Ok(ScriptOrigin::internal(text, base_url));
+ let result = Ok(ScriptOrigin::internal(text, base_url, ScriptType::Classic));
// TODO: Step 25-2.