From 8bfb5f8b6f9170d79f6dc5339bafdad1f0037f1b Mon Sep 17 00:00:00 2001 From: James Sanders Date: Thu, 17 Apr 2014 19:44:37 -0600 Subject: [PATCH] Associate ResourceTask with UrlProvenance --- src/components/script/html/cssparse.rs | 16 ++++++---------- src/components/script/html/hubbub_html_parser.rs | 4 ++-- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/components/script/html/cssparse.rs b/src/components/script/html/cssparse.rs index b538676edace..1140eedca0b3 100644 --- a/src/components/script/html/cssparse.rs +++ b/src/components/script/html/cssparse.rs @@ -14,23 +14,21 @@ use url::Url; /// Where a style sheet comes from. pub enum StylesheetProvenance { - UrlProvenance(Url), + UrlProvenance(Url, ResourceTask), InlineProvenance(Url, ~str), } // Parses the style data and returns the stylesheet pub fn parse_inline_css(url: Url, data: ~str) -> Stylesheet { - let resource_task = ResourceTask(); // Resource task is not used for inline parsing - parse_css(InlineProvenance(url, data), resource_task) + parse_css(InlineProvenance(url, data)) } -fn parse_css(provenance: StylesheetProvenance, - resource_task: ResourceTask) -> Stylesheet { +fn parse_css(provenance: StylesheetProvenance) -> Stylesheet { // TODO: Get the actual value. http://dev.w3.org/csswg/css-syntax/#environment-encoding let environment_encoding = UTF_8 as EncodingRef; match provenance { - UrlProvenance(url) => { + UrlProvenance(url, resource_task) => { debug!("cssparse: loading style sheet at {:s}", url.to_str()); let (input_chan, input_port) = channel(); resource_task.send(Load(url, input_chan)); @@ -50,13 +48,11 @@ fn parse_css(provenance: StylesheetProvenance, } } -pub fn spawn_css_parser(provenance: StylesheetProvenance, - resource_task: ResourceTask) - -> Receiver { +pub fn spawn_css_parser(provenance: StylesheetProvenance) -> Receiver { let (result_chan, result_port) = channel(); spawn_named("cssparser", proc() { - result_chan.send(parse_css(provenance, resource_task)); + result_chan.send(parse_css(provenance)); }); return result_port; diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index b9dd26311ff3..5e4ef64e0f66 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -111,7 +111,7 @@ fn css_link_listener(to_parent: Sender, loop { match from_parent.recv_opt() { Some(CSSTaskNewFile(provenance)) => { - result_vec.push(spawn_css_parser(provenance, resource_task.clone())); + result_vec.push(spawn_css_parser(provenance)); } Some(CSSTaskExit) | None => { break; @@ -357,7 +357,7 @@ pub fn parse_html(page: &Page, }) => { debug!("found CSS stylesheet: {:s}", href.get().value_ref()); let url = parse_url(href.get().value_ref(), Some(url2.clone())); - css_chan2.send(CSSTaskNewFile(UrlProvenance(url))); + css_chan2.send(CSSTaskNewFile(UrlProvenance(url, resource_task.clone()))); } _ => {} }