Skip to content

Commit

Permalink
Add type_ for script origin to distinguish module or classic
Browse files Browse the repository at this point in the history
  • Loading branch information
CYBAI committed Sep 6, 2019
1 parent 19eb239 commit 70c5cfd
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions components/script/dom/htmlscriptelement.rs
Expand Up @@ -125,6 +125,7 @@ static SCRIPT_JS_MIMES: StaticStringVec = &[
"text/x-javascript",
];

#[derive(JSTraceable, MallocSizeOf)]
pub enum ScriptType {
Classic,
Module,
Expand All @@ -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_,
}
}
}
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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.

Expand Down

0 comments on commit 70c5cfd

Please sign in to comment.