From 15ac245ae74e96757fa8514a6b14f9cb2dab65e5 Mon Sep 17 00:00:00 2001 From: Nikhil Shagrithaya Date: Mon, 24 Jul 2017 00:20:07 +0530 Subject: [PATCH] Update step annotations in script's prepare method --- components/script/dom/htmlscriptelement.rs | 52 +++++++++++----------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 0a5e9b74a0d3..ea0cc4c25e8e 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -342,9 +342,11 @@ impl HTMLScriptElement { return; } - // TODO(#4577): Step 11: CSP. + // TODO: Step 11: nomodule content attribute - // Step 12. + // TODO(#4577): Step 12: CSP. + + // Step 13. let for_attribute = element.get_attribute(&ns!(), &local_name!("for")); let event_attribute = element.get_attribute(&ns!(), &local_name!("event")); match (for_attribute.r(), event_attribute.r()) { @@ -364,19 +366,19 @@ impl HTMLScriptElement { (_, _) => (), } - // Step 13. + // Step 14. let encoding = element.get_attribute(&ns!(), &local_name!("charset")) .and_then(|charset| encoding_from_whatwg_label(&charset.value())) .unwrap_or_else(|| doc.encoding()); - // Step 14. + // Step 15. let cors_setting = cors_setting_for_element(element); - // TODO: Step 15: Module script credentials mode. + // TODO: Step 16: Module script credentials mode. - // TODO: Step 16: Nonce. + // TODO: Step 17: Nonce. - // Step 17: Integrity metadata. + // Step 18: Integrity metadata. let im_attribute = element.get_attribute(&ns!(), &local_name!("integrity")); let integrity_val = im_attribute.r().map(|a| a.value()); let integrity_metadata = match integrity_val { @@ -384,26 +386,26 @@ impl HTMLScriptElement { None => "", }; - // TODO: Step 18: parser state. + // TODO: Step 19: parser state. - // TODO: Step 19: environment settings object. + // TODO: Step 20: environment settings object. let base_url = doc.base_url(); if let Some(src) = element.get_attribute(&ns!(), &local_name!("src")) { - // Step 20. + // Step 21. - // Step 20.1. + // Step 21.1. let src = src.value(); - // Step 20.2. + // Step 21.2. if src.is_empty() { self.queue_error_event(); return; } - // Step 20.3: The "from an external file"" flag is stored in ClassicScript. + // Step 21.3: The "from an external file"" flag is stored in ClassicScript. - // Step 20.4-20.5. + // Step 21.4-21.5. let url = match base_url.join(&src) { Ok(url) => url, Err(_) => { @@ -413,25 +415,25 @@ impl HTMLScriptElement { }, }; - // Preparation for step 22. + // Preparation for step 23. let kind = if element.has_attribute(&local_name!("defer")) && was_parser_inserted && !async { - // Step 22.a: classic, has src, has defer, was parser-inserted, is not async. + // Step 23.a: classic, has src, has defer, was parser-inserted, is not async. ExternalScriptKind::Deferred } else if was_parser_inserted && !async { - // Step 22.b: classic, has src, was parser-inserted, is not async. + // Step 23.c: classic, has src, was parser-inserted, is not async. ExternalScriptKind::ParsingBlocking } else if !async && !self.non_blocking.get() { - // Step 22.c: classic, has src, is not async, is not non-blocking. + // Step 23.d: classic, has src, is not async, is not non-blocking. ExternalScriptKind::AsapInOrder } else { - // Step 22.d: classic, has src. + // Step 23.f: classic, has src. ExternalScriptKind::Asap }; - // Step 20.6. + // Step 21.6. fetch_a_classic_script(self, kind, url, cors_setting, integrity_metadata.to_owned(), encoding); - // Step 22. + // Step 23. match kind { ExternalScriptKind::Deferred => doc.add_deferred_script(self), ExternalScriptKind::ParsingBlocking => doc.set_pending_parsing_blocking_script(self, None), @@ -439,18 +441,18 @@ impl HTMLScriptElement { ExternalScriptKind::Asap => doc.add_asap_script(self), } } else { - // Step 21. + // Step 22. assert!(!text.is_empty()); let result = Ok(ClassicScript::internal(text, base_url)); - // Step 22. + // Step 23. if was_parser_inserted && doc.get_current_parser().map_or(false, |parser| parser.script_nesting_level() <= 1) && doc.get_script_blocking_stylesheets_count() > 0 { - // Step 22.e: classic, has no src, was parser-inserted, is blocked on stylesheet. + // Step 23.h: classic, has no src, was parser-inserted, is blocked on stylesheet. doc.set_pending_parsing_blocking_script(self, Some(result)); } else { - // Step 22.f: otherwise. + // Step 23.i: otherwise. self.execute(result); } }