diff options
author | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2015-01-04 04:48:09 +0900 |
---|---|---|
committer | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2015-01-11 03:38:57 +0900 |
commit | f627b35ef6e40e5a87a2e9173309af75f6322310 (patch) | |
tree | 7bc624b54c993889569ccc1164efac653642345f /components/script/dom/htmlscriptelement.rs | |
parent | 879af966b3c18d9405b6f5837b39a28039db1eb3 (diff) | |
download | servo-f627b35ef6e40e5a87a2e9173309af75f6322310.tar.gz servo-f627b35ef6e40e5a87a2e9173309af75f6322310.zip |
Add the enum to describe the script origin.
Diffstat (limited to 'components/script/dom/htmlscriptelement.rs')
-rw-r--r-- | components/script/dom/htmlscriptelement.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 5d290200b23..5acef40364e 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -112,6 +112,11 @@ static SCRIPT_JS_MIMES: StaticStringVec = &[ "text/x-javascript", ]; +enum ScriptOrigin { + Internal, + External, +} + impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> { fn prepare(self) { // https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script @@ -175,7 +180,7 @@ impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> { let page = window.page(); let base_url = page.get_url(); - let (source, url) = match element.get_attribute(ns!(""), &atom!("src")).root() { + let (origin, source, url) = match element.get_attribute(ns!(""), &atom!("src")).root() { Some(src) => { if src.r().Value().is_empty() { // TODO: queue a task to fire a simple event named `error` at the element @@ -191,7 +196,7 @@ impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> { Ok((metadata, bytes)) => { // TODO: use the charset from step 13. let source = UTF_8.decode(bytes.as_slice(), DecoderTrap::Replace).unwrap(); - (source, metadata.final_url) + (ScriptOrigin::External, source, metadata.final_url) } Err(_) => { error!("error loading script {}", src.r().Value()); @@ -206,7 +211,7 @@ impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> { } } } - None => (text, base_url) + None => (ScriptOrigin::Internal, text, base_url) }; window.evaluate_script_on_global_with_result(source.as_slice(), url.serialize().as_slice()); |